交通信号灯_数字逻辑程序设计
数字逻辑 交通信号灯 课程设计作业

课程设计:交通信号控制交通信号灯包括两个红绿灯,其中一个为主车道信号灯,另一个为辅车道信号灯1、当辅车道无车时,主车道交通信号灯为绿灯,当辅车道有车时,主车道保持25s后绿灯变红灯2、当辅车道有车时,辅车道信号灯保持绿灯至少25s,无车时立即变为红灯3、主、辅车道信号灯的绿灯和红灯转换中间有4s的黄灯时间如果定义以下变量,则可画出交通信号灯的状态转换图:·辅道有车。
· 25s定时器(长定时器)开。
· 4s定时器(短定时器)开。
因为只有四个状态,可用2位格雷码表示其状态:如下状态1、格雷码为00 主灯:绿辅灯:红当主绿灯保持25s后,辅车道有车则转到状态2状态2、格雷码为01 主灯:黄辅灯:红4s后转到状态3状态3、格雷码为11 主灯:红辅灯:绿当辅车道无车或25s后,转到状态4状态4、格雷码为10 主灯:红辅灯:黄4s后转到状态4交通信号控制系统结构图联合逻辑接受顺序逻辑的格雷码输出,提供开关信号灯的输出和长短触发器的开关信号时间回路接受联合逻辑的长短触发器信号,以推进顺序逻辑顺序逻辑接受时间回路的输出和车辆传感器输出,产生格雷码(4个状态)给联合逻辑联合逻辑联合逻辑包含一个状态解码器,灯输出逻辑和触发逻辑联合逻辑结构图如下图所示状态解码器接受顺序逻辑输入的2位格雷码输入来确定4个状态S1,S2,S3和S4,其中 S1= S2=G0 S3=G1G0 S4=G1状态解码器逻辑图灯输出逻辑输入状态解码器的四个状态,提供开关信号灯的六个输出,MR,MY,MG和SR,SY,SG。
其中: MR=S3+S4 MY=S2 MG=S1 SR=S1+S2 SY=S4 SG=S3触发逻辑提供长短两个触发输出。
长触发输出在状态1或3开始时启动,25s定时器低到高转换。
短触发输出在状态2或4开始时启动,4s定时器低到高转换。
LongTrig=S1+S3 ShortTrig=S2+S4时间回路时间回路包括一个25s定时器,一个4s定时器和一个时钟发生器。
交通灯控制——时序逻辑电路课程设计

数字逻辑设计及应用课程设计交通灯控制——时序逻辑电路课程设计题目一、设计要求电路用途:用于十字路口交通灯自动控制功能描述:以4个红色指示灯、4个绿色指示灯和4个黄色指示灯模拟路口的东、南、西、北4个方向的红、绿、黄交通灯。
控制这些指示灯,使它们按下列规律亮和灭。
1)初始状态为4个方向的红灯全亮,时间1S;2)东、西方向绿灯亮,南、北方向红灯亮。
东、西方向通车,时间8S;3)东、西方向黄灯闪烁,南、北方向红灯亮,时间2S;4)东、西方向红灯亮,南、北方向绿灯亮,南、北方向通车,时间8S;5)东、西方向红灯亮,南、北方向黄灯闪烁,时间2S;6)返回2),继续运行;设计要求:画出设计流程图;完成逻辑电路图;对电路功能进行说明;指出可改进之处。
核心提示:系统的时钟2Hz已经由其它电路产生;黄灯闪烁可通过连续亮0.5s和灭0.5s实现;需对2Hz时钟进行分频获得1s,2s和8s 信号;状态机有六个输出变量,分别控制东西、南北方向的红、绿、黄灯的亮灭。
二、设计设计流程:画状态表→选择要使用的模块→构建特殊时钟→连接电路图→功能说明→可改进之处。
1)画状态表状态东西方向南北方向时间红绿黄红绿黄1 1 0 0 1 0 0 1s2 0 1 0 1 0 0 8s3 0 0 1 1 0 0 2s4 1 0 0 0 1 0 8s5 1 0 0 0 0 1 2s6 返回状态2其中,黄灯的“1”意为闪烁。
黄灯闪烁的实现可由1 和系统的时钟2Hz 进行与运算从而实现闪烁能;0 和系统的时钟2Hz进行与运算依然为0,表示为灭。
2)选择要使用的模块红灯的实现:东西方向的红灯亮灭规律序列为0011,南北方向的红灯亮灭规律序列为1100,于是红灯的亮灭可通过0011的移位来实现,用74x169. 黄灯、绿灯的实现:东西方向的绿灯亮灭规律序列为1000,黄灯为0100;南北方向的绿灯亮灭规律序列为0010,黄灯为0001.这四个灯的亮灭可用1000移位来实现,用74x169.74x157:实现状态1与其他状态的转换。
数字逻辑红绿灯控制

数电课程设计---红绿灯控制专业:网络工程班级:二班指导教师:***名:**学号:************红绿灯控制设计说明一.设计题目:红绿灯控制要求:● 控制交叉路口的2方向红绿灯变化。
● 变化时序如图1所示。
● 设置复位开关。
图1 红绿灯控制时序二.实验设备XFG1、74LS112、74LS192N 、74LS08、开关、数码管、红黄绿显示灯泡三、实验原理1.交通灯控制电路的系统图2.分部电路图原理说明(1)脉冲发生器用multisim 软件工具中的XFG1设置频率为60HZ ,即可得到如下脉冲(2)状态控制器 脉冲发生器 减法计数器 置数控制器 状态控制器 东西方向交通灯 南北方向交通灯 复位开关根据设计要求,交通灯四种不同状态如下:S0状态:南北方向绿灯亮,东西方向红灯亮。
S1状态:南北方向黄灯亮,东西方向红灯亮。
S2状态:南北方向红灯亮,东西方向绿灯亮。
S3状态:南北方向红灯亮,东西方向黄灯亮。
状态变化图状态编码进位输出C Q1 Q0S0 0 0 0S1 0 1 0S2 1 0 0S3 1 1 1经分析得,有四个状态需要两片JK触发器(74LS112N)实现该状态转换 J1=Q0 K1=Q0J0=1 K0=1C=Q1Q0电路图如下:状态控制器部分主要是控制交通灯按上述四个状态循环变化,设G1、Y1、R1分别表示东西方向的绿黄红灯,G2、Y2、R2分别表示南北方向的绿黄红灯。
状态 74LS112输出端东西方向交通灯南北方向交通灯Q1 Q0 G1 Y1 R1 G2 Y2 R2S0 0 0 0 0 1 1 0 0S1 0 1 0 0 1 0 1 0S2 1 0 1 0 0 0 0 1S3 1 1 0 1 0 0 0 1G1=Q1Q0' G2=Q1'Q0'Y1=Q1Q0 Y2=Q1'Q0R1=Q1' R2=Q1电路如下图所示(3)置数控制器和减法计数器S0:东西方向红灯亮,南北方向绿灯亮12sS1:东西方向红灯亮,南北方向黄灯亮3sS2:东西方向绿灯亮,南北方向红灯亮12s如上图,我们需要用74LS192N十进制加减法计数器来控制各交通灯得时间变化,真值表如下:时间状态个位十位Q1 Q0 D3 D2 D1 D0 C3 C2 C1 C0 12s 0 0 0 0 1 0 0 0 0 13s 0 1 0 0 1 1 0 0 0 012s 1 0 0 0 1 0 0 0 0 13s 1 1 0 0 1 1 0 0 0 0由真值表可得 D3=D2=0 C3=C2=C1=0D1=1 C=Q0’D0=Q0电路如图在电路中我自己又分别将74LS192N的输出接七段显示译码器上来显示时间,可以方便仿真时检查电路是否按照设定时间倒计时。
数字逻辑 红绿灯交通系统 设计报告

设计报告<一> 课程性质数字逻辑课程设计<二> 课程目的训练学生综合地运用所学的《数字逻辑》的基本知识,使用电脑EWB仿真技术,独立完整地设计一定功能的电子电路,以及仿真和调试等的综合能力。
本次电脑仿真所用的软件版本为EWB Version 5.0c<三>课程设计题目题目:交通灯控制电路的设计要求:1、设计一个十字路口的交通灯控制电路,要求东西方向车道和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都设为45秒。
时间可设置修改。
2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3、黄灯亮时,要求每秒闪亮一次。
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用倒计时的方法)。
〈四〉设计原理与参考电路1、分析系统的逻辑功能,画出其框图交通灯控制系统的原理框图如图1-1所示。
它主要由倒计时计数电路、信号灯转换器和秒脉冲信号发生器组成。
秒脉冲信号发生器是该系统中倒计时计数电路和黄灯闪烁控制电路的标准时钟信号源,倒计时计数器输出两组驱动信号T 5和T 0,经信号灯转换器控制信号灯工作,倒计时计数电路是系统的主要部分,由它控制信号灯转换器的工作。
2、信号灯转换器两方向车道的交通灯的运行状态共有4种 假设主干道绿灯先亮到最后5秒蓝灯闪烁直到红灯亮,同时支道路口红灯亮主干道红灯亮后,支道绿灯亮,同样到最后5秒蓝灯秒脉冲 发生器闪烁直到红灯亮。
一轮循环完成后进入下一轮循环。
3、状态实现方法1> 计数器实现:控制十位的74190的CLK的脉冲信号来自个位的74190的QA 和QB信号用与门连接产生的信号,当个位显示9时,QA和QB上的信号都为高电平1,而且只有9才有这种信号特征,这正是选这个信号为十位CLK的信号脉冲的原因,一轮倒计时结束进入下一轮的信号接的是两个74190的信号输出即十位QA、QB、QC、QD和个位的QA、QB、QC、QD,用一个8脚或门,这样只有在两个显示芯片的信号都为0的情况才为0,也就是倒计时可以一直的持续下去。
交通灯的PLC程序设计

交通灯的PLC程序设计摘要PLC(可编程逻辑控制器)是一种用于自动化控制的计算机设备。
本文将介绍在交通灯系统中使用PLC进行控制的程序设计。
介绍随着城市化的发展,交通拥堵已经成为了一个普遍的现象。
为了解决交通拥堵问题,并提高道路交通的安全性,交通灯系统变得越来越重要。
在交通灯系统中,使用PLC控制可以实现精确、可靠、高效的控制方式。
PLC是一种专业的控制器,主要用于工业自动化控制。
PLC能够将输入的控制信号进行逻辑处理,并输出相应的控制信号,实现可编程的自动控制。
在交通灯系统中,PLC负责控制信号灯的开关,保证交通信号灯的正常运转。
本文将介绍在交通灯系统中使用PLC的程序设计。
该设计针对的是普通十字路口,控制红、黄、绿三种信号灯的开关顺序,以保证交通流畅和交通安全。
PLC程序设计逻辑控制在交通灯系统中,PLC将接受来自传感器的信号,根据这些信号进行逻辑运算,从而控制信号灯的开关。
通过逻辑运算,PLC可以实现绿灯亮、黄灯亮、红灯亮等不同的控制方式。
PLC的逻辑运算主要包括开关量逻辑和模拟量逻辑两种方式。
对于交通灯系统来说,开关量逻辑是最常用的控制方式,这是因为信号灯的开关只有两种状态:开和关。
控制程序交通灯系统中使用的PLC程序通常是基于状态机的控制方式。
状态机是一种基于状态转移的控制模型,是一种理论模型,用于描述有限个状态及其之间的转移。
交通灯系统中的PLC程序一般会分为两部分:状态转移表和状态转移图。
状态转移表用于记录系统中所有的状态和它们之间的转移关系,状态转移图则是在状态转移表的基础上对状态之间的关系进行图形化表示。
下面是一个简单的状态转移表,用于描述交通灯系统中红、黄、绿三种灯的控制状态:当前状态输入信号下一状态红灯等待绿灯黄灯等待红灯绿灯等待黄灯红灯或黄灯非等待黄灯绿灯非等待红灯PLC程序实现在实现PLC程序时,需要根据状态转移图和状态转移表编写程序。
在交通灯系统中,PLC的输入端接收传感器信号,根据传感器信号和状态转移表的状态转移关系来更新PLC的输出信号。
红绿灯数字逻辑电路设计

红绿灯数字逻辑电路设计,咱也来聊聊嘿,各位朋友们,今天咱们不聊那些高大上的科技新闻,也不谈那些让人头晕的编程语言,咱们来聊聊咱们日常生活中经常能见到的红绿灯,特别是它的数字逻辑电路设计。
你可能会说:“红绿灯?不就是红黄绿三个灯嘛,有啥好聊的?”嘿,这你就说错了,红绿灯背后可是藏着不少的数字逻辑和电路设计的小知识呢!一、红绿灯的基本工作原理咱们先来说说红绿灯的基本工作原理。
红绿灯啊,其实就是一个交通指挥员,它用红、黄、绿三种颜色的灯光来告诉咱们什么时候该停车,什么时候该走。
红灯一亮,那就是告诉你:“嘿,哥们儿,停一停,现在不能走!”绿灯一亮,那就是说:“好嘞,现在可以走了,注意安全!”黄灯呢,就是过渡一下,告诉你:“哎,哥们儿,准备准备,要变灯了!”二、数字逻辑电路是啥?说到红绿灯的数字逻辑电路设计,咱得先明白啥是数字逻辑电路。
其实啊,数字逻辑电路就是一堆电子元件(比如二极管、晶体管啥的)按照一定的逻辑规则连接在一起,能够实现一些特定的功能。
比如咱们常用的计算器、电脑,还有咱们今天要说的红绿灯,都离不开数字逻辑电路。
三、红绿灯的数字逻辑电路设计红绿灯的数字逻辑电路设计啊,说起来也简单,但里面可是有不少门道的。
咱们知道,红绿灯得按照一定的顺序和时间来变换颜色,对吧?那这就需要一个计数器来帮忙了。
这个计数器就像咱们平时数数一样,数到一定的数量就换个灯。
咱们先来看看红绿灯的电路结构。
红绿灯电路啊,主要包括四个部分:脉冲发生器、计数器、译码器和信号灯。
脉冲发生器就像个心脏,不停地发出“滴答滴答”的脉冲信号,给计数器提供动力。
计数器呢,就像咱们数数一样,数到一定的数量就告诉译码器:“嘿,该换灯了!”译码器呢,就像个翻译官,把计数器的指令翻译成咱们能懂的灯光信号,然后控制信号灯亮起来。
咱们再来说说计数器的设计。
计数器啊,其实就是个能数数的电路。
它有个特点,就是能记住自己数了多少个数,然后按照一定的规则来变换数字。
数字逻辑课程设计报告--交通灯控制器

数字逻辑课程设计报告——交通灯控制器学院名称:学生姓名:专业名称:班级:实习时间:2013年6月3日—— 2013年6月14日一、实验目的:1.掌握时序逻辑电路的设计方法,灵活运用理论知识。
2.提高自己的数字系统设计能力和实际动手能力。
3.了解如何将数字电路设计应用到自动控制系统中,从而提高解决实际问题的能力。
二、实验任务与要求1.红绿灯交通信号系统外观示意图2.总体任务及要求⑴ 在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一个方向是绿灯、黄灯、红灯;另一个方向是红灯、绿灯、黄灯。
⑵ 设置一组数码管,以倒计时的方式显示允许通行或禁止通行时间,其中一个方向上红灯亮的时间是30s ,另一个方向上绿灯亮的时间是20s ,黄灯亮的时间都是5s 。
⑶ 用两组数码管,实现双向倒计时显示。
3.总时序工作流程图三、总体方案的设计1、主控电路在设计要求中要实现四种状态的自动转换,首先要把这四种状态以数字的形态表示出来,可以通过两位二进制数表示所需状态(00—Gr, 01—Yr, 11—Rg, 10—Ry),循环状态:(00—01—11—10—00)。
可以设计一个模为4的计数器,其输出(代表不同状态)既可以循环转换,而且能够控制其他部分电路,所以可以利用74LS74(双上升沿D触发器)设计模4计数器作为主控部分电路。
主控电路2、脉冲输出部分脉冲输出部分为555时基芯片构成的多次谐波震荡器,电路原理图如右:其中器件参数分别为R1=4.7kΩ,R2=150kΩ,C1=4.7μF,C2=0.01μF。
产生的时钟脉冲为周期T=1s的方波。
电容C1充电时,暂稳态持续时间为tw1=0.7(R1+R2)C=0.7×(150k+4.7k) ×4.7μ≈0.5s电容C1放电时,暂稳态持续时间为tw2=0.7R2C=0.7×150k×4.7μ≈0.5s因此,电路输出矩形脉冲的周期为T= tw1+tw2≈1s输出占空比为q= tw1/T≈50%脉冲输出3、红绿灯显示电路红绿灯显示是表示电路所处状态,受到主控电路控制,即主控电路的输出(A和B)决定了主干道和支干道的红绿灯的情况。
数字逻辑课程设计——交通灯

数字电子技术课程设计题目:交通灯控制电路设计学生学号:学生学号:学生姓名:学生姓名:专业班级:专业班级:起止日期:起止日期:河南理工大学河南理工大学交通灯控制电路一、设计任务与要求1.设计一个十字路口的交通灯控制电路,要求甲车道和乙车道两条交叉道路上的车辆交替秒;运行,每次通行时间都设为25秒;2.要求黄灯先亮5秒,才能变换运行车道;秒,才能变换运行车道;3.黄灯亮时,要求每秒钟闪亮一次.黄灯亮时,要求每秒钟闪亮一次 。
二、实验预习要求1.复习数字系统设计基础。
.复习数字系统设计基础。
2.复习多路数据选择器、二进制同步计数器的工作原理。
.复习多路数据选择器、二进制同步计数器的工作原理。
3.根据交通灯控制系统框图,画出完整的电路图。
.根据交通灯控制系统框图,画出完整的电路图。
三、设计原理与参考电路 1.分析系统的逻辑功能,画出其框图.分析系统的逻辑功能,画出其框图 交通灯控制系统的原理框图如图12、1所示。
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
图中:由它控制定时器和译码器的工作。
图中:TL: 表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:表示黄灯亮的时间间隔为5秒。
定时时间到,TY=1,否则,TY=0。
ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。
由它控制定时器开始下个工作状态的定时。
下个工作状态的定时。
交通灯控制系统的原理框图图12、1 交通灯控制系统的原理框图功能表表12、2 74LS163功能表控制器状态转换表表12、3 控制器状态转换表根据表12、3、可以推出状态方程和转换信号方程,其方法是:将Q1n+1、Q0n+1和ST为1的项所对应的输人或状态转换条件变量相与,其中"1"用原变量表示,"0"用反变量表示,然后将各与项相或,即可得到下面的方程:然后将各与项相或,即可得到下面的方程:选用数据选择器 74LS153来实现每个D触发器的输入函数,将触发器根据以上方程,选用数据选择器的现态值( )加到74LS153的数据选择输入端作为控制信号.即可实现控制器的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
石家庄经济学院信息工程学院数字逻辑课程设计报告题目十字路口交通灯控制器姓名赵永超学号************班号4091090706指导老师成绩2010年6月目录1. 功能描述 (52)2. 开发工具选择 (52)3. 设计方案 (52)4.模块描述 (52)5. VHDL实现 (52)6. 调试仿真 (52)7. 课程设计回顾总结 (52)参考文献 (52)附录 (52)1.功能描述ar,ay,ag 和br,by,bg分别表示A和B道的红灯,黄灯,绿灯的驱动信号。
信号灯在高电平时亮,低电平时熄灭。
十字路口的交通灯控制电路功能:十字路口交通灯控制规则为:当A道无车时,传感器输出X=0,A 道红灯一直亮,B道绿灯一直亮,直到15s定时时间到且A道有车为止;当B道通行15s且A道有车时,B道绿灯亮变成黄灯,经过5s后变成红灯亮,A道由红灯亮变成绿灯亮,直到10s定时时间到或者X=0为止;最后A道黄灯亮,B道红灯亮,直到5s定时时间到,再回到B道绿灯亮,A道红灯亮的初始状态。
2.开发工具选择选择VHDL语言描述,利用Quartus II 5.1工具。
3. 设计方案在设计方案之前,我们应明确课程设计的任务和要求:该数字系统完成对十字路口交通信号灯的控制,十字路口由一条南北方向的支干道(简称A道)和东西方向的主干道(简称B道)构成。
A道安装有车辆检测传感器X,当该道有车时,传感器输出信号为高电平,当该道无车时,传感器输出低电平信号。
十字路口交通灯控制规则为:当A道无车时,传感器输出X=0,A 道红灯一直亮,B道绿灯一直亮,直到15s定时时间到且A道有车为止;当B道通行15s且A道有车时,B道绿灯亮变成黄灯,经过5s后变成红灯亮,A道由红灯亮变成绿灯亮,直到10s定时时间到或者X=0为止;最后A道黄灯亮,B道红灯亮,直到5s定时时间到,再回到B道绿灯亮,A道红灯亮的初始状态。
(1)、首先对问题进行仔细分析设东西和南北方向的车流量大致相同,从题目中计数值与交通灯的亮灭的关系如下图所示:(2) 经过认真分析后制定设计方案如图3十字路口交通灯控制系统由定时器模块、控制器模块和输出模块组成。
定时器模块由15s 、5s 、10s 三个定时器构成,分别确定A 道、B 道通行时间(绿灯亮时间)、缓冲时间(黄灯亮时间)和禁止时间(红灯亮时间)。
三个定时器采用以秒为时钟的计数器来实现,e15,e5,e10分别是三个定时计数器的工作使能信号,即当e15,e5,e10为1时,相应的定时器计数;tm15、tm5、tm10为定时计数器的计数指示信号,当计数器在计数过程中,相应的指示信号为0,当计时时间到即计时结束时,相应的指示信号为1。
交通灯控制器模块的作用是对系统工作状态的转换进行控制,根据十字路口交通控制信号灯控制规则则可得到系统状态转换表如图4示,其中ar ,ay ,ag 和br ,by ,bg 分别表示由控制器输出的A 道和B 道红、黄、绿灯点B 道A0sec 35sec15sec 图2亮信号,e15、e10、e5分别表示由控制器输出传给15s、10s、5s三个定时计数器的计数使能信号,x为输入控制器的车辆传感器信号,tm15、tm5、tm10分别表示由15s、10s、5s定时计数器产生的计时时间到信号,它们是控制器的输入信号。
从图4可知系统有5个状态,编码为S0(00)、S1(01)、S2(10)、S3(11)、S4(xx),各信号高电平有效,低电平无效。
输出模块的作用是将控制器输出的各个信号进行驱动以点亮对应的信号灯,。
定时器模块控制器模块输出模块图3十字路口交通灯控制器状态转换表(图4)4.模块描述该控制系统主要分为三大模块:定时计数器模块和控制器模块和连接模块Ⅰ、定时计数器模块:该模块分为三个定时电路,假设时基脉冲为1Hz,则需要设计一个15进制计数器、一个5进制计数器和一个10进制计数器,且每个计数器应具有计数使能控制端和计时时间到信号输出端。
本设计中可采用异步清零、同步置位的4位十进制加法计数器74LS160构成。
(1)、模10定时计数器的简化形式如下图:表二模10计数器功能真值表(2)、模5定时计数器的简化形式如下图:(3)、模15定时计数器的简化形式如下图:表三模15计数器功能真值表Ⅱ、控制器模块的简化形式如下图:5.VHDL实现:下面是程序实现的vhdl代码(1)模5定时计数器实现代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter5 isPORT (cp, e5,reset: IN STD_LOGIC; --定义输入信号tm5: OUT STD_LOGIC); --定义输出信号END counter5;ARCHITECTURE cnt5 of counter5 is --结构体BEGINPROCESS(cp, reset) --进程的敏感信号是cp和reset,进程描述摸5计数过程V ARIABLE cnt: INTEGER RANGE 5 DOWNTO 0; --定义变量cnt 为整数,范围5到0BEGINIF reset='1' THENcnt:=0;ELSIF (cp'EVENT AND cp='1') THEN --如果CP信号发生变化且变化后结果是CP=’1’IF e5='1' AND cnt<5 THENcnt:=cnt+1;ELSEcnt:=0;END IF;END IF;IF cnt=5 THENtm5<='1' ;ELSEtm5<='0';END IF;END PROCESS;END cnt5;(2)、模10定时计数器实现代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter10 ISPORT(cp, e10, reset: IN STD_LOGIC; --定义输入信号tm10: OUT STD_LOGIC); --定义输出信号END counter10;ARCHITECTURE cnt10 OF counter10 ISBEGINPROCESS(cp, reset) --进程的敏感信号是cp和reset,进程描述摸5计数过程V ARIABLE cnt: INTEGER RANGE 10 DOWNTO 0; --定义变量cnt 为整数,范围10到0BEGINIF reset='1' thencnt:=0;ELSIF (cp'EVENT AND cp='1') THEN --如果CP信号发生变化且变化后结果是CP=’1’IF e10='1' and cnt<10 THENcnt:=cnt+1;ELSEcnt:=0;END IF;END IF;IF cnt=10 thentm10<='1';ELSEtm10<='0';END IF;END process;END cnt10;(3)、模15定时计数器实现代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY counter15 isPORT (cp, e15, reset: IN STD_LOGIC; --定义输入信号tm15: OUT STD_LOGIC); --定义输出信号END counter15;ARCHITECTURE cnt15 of counter15 isBEGINPROCESS(cp, reset) --进程的敏感信号是cp和reset,进程描述摸15计数过程V ARIABLE cnt: INTEGER RANGE 15 DOWNTO 0; --定义变量cnt为整数,范围15到0BEGINIF reset='1' THENcnt:=0;ELSIF (cp'EVENT AND cp='1') THEN --如果CP信号发生变化且变化后结果是CP=’1’IF e15='1' AND cnt<15 THENcnt:=cnt+1;ELSEcnt:=0;END IF;END IF;IF cnt=15 THENtm15<='1' ;ELSEtm15<='0';END IF;END PROCESS;END cnt15;(4)、控制器controller实现代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY controller ISPORT(cp,x,reset,tm10,tm5,tm15:IN STD_LOGIC; --定义输入信号br,by,bg,ar,ay,ag,e10,e5,e15:OUT STD_LOGIC); --定义输出信号end controller;ARCHITECTURE behave_control OF controller IS --结构体TYPE CONTROL_STATE IS (S0,S1,S2,S3) ; --定义枚举类型数据,4个状态SIGNAL state:CONTROL_STATE:=S0; --定义初始信号为S0BEGINPROCESS(CP,X,RESET) --进程的敏感信号是cp,x和reset,进程描述控制器运行BEGINIF RESET='1' THENstate<=S0;ELSIF (cp'EVENT AND cp='1') THEN --如果CP信号发生变化且变化后结果是CP=’1’CASE state ISWHEN S0=>IF (x AND tm15)='1' THENstate<=S1;END IF;WHEN S1=>IF tm5='1' THENstate<=S2;END IF;WHEN S2=>IF ((NOT x)OR tm10)='1' THENstate<=S3;END IF;WHEN S3=>IF tm5='1' THENstate<=S0;END IF;END CASE;END IF;END PROCESS;br<='1' when state=S2 or state=S3 else '0';by<='1' when state=S1 else '0';bg<='1' when state=S0 else '0';ar<='1' when state=S0 or state=S1 else '0';ay<='1' when state=S3 else '0';ag<='1' when state=S2 else '0';e10<='1' when state=S2 else '0';e5<='1' when state=S1 or state=S3 else '0';e15<='1' when state=S0 else '0';END behave_control;(5)、连接模块(对各接口进行例化)实现代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LIBRARY LATTICE;ENTITY RYG ISPORT(cp, reset, x: IN STD_LOGIC;br, by, bg, ar, ay, ag: OUT STD_LOGIC);END RYG;ARCHITECTURE BE_RYG OF RYG ISCOMPONENT counter10 --元件说明:模10计数器PORT(cp, e10, reset: IN STD_LOGIC;tm10: OUT STD_LOGIC);END COMPONENT;COMPONENT counter5 --元件说明:模5计数器PORT (cp, e5, reset: IN STD_LOGIC;tm5: OUT STD_LOGIC);END COMPONENT;COMPONENT counter15 --元件说明:模15计数器PORT (cp, e15, reset: IN STD_LOGIC;tm15: OUT STD_LOGIC);END COMPONENT;COMPONENT controller --元件说明:控制器PORT(cp, x, reset, tm10, tm5, tm15: IN STD_LOGIC;br, by,bg, ar, ay, ag, e10, e5, e15: OUT STD_LOGIC);END COMPONENT;signal tag1, tag2, tag3, tag4, tag5, tag6: std_logic;BEGINU1: counter10 PORT MAP(cp=>cp, e10=>tag1, reset=>reset, tm10=>tag4); --模10元件例化U2: counter5 PORT MAP(cp=>cp, e5=>tag2, reset=>reset, tm5=>tag5); --模5元件例化U3: counter15 PORT MAP(cp=>cp, e15=>tag3,reset=> reset, tm15=>tag6); --模15元件例化U4: controller PORT MAP(cp=>cp, x=>x, reset=>reset, tm10=>tag4,tm5=>tag5, tm15=>tag6, br=>br, by=>by, bg=>bg, ar=>ar, ay=>ay, ag=>ag, e10=>tag1, e5=>tag2, e15=>tag3); --控制器元件例化END BE_RYG;6.调试仿真(1)、模5计数器调试仿真结果:(2)、模10计数器调试仿真结果:(3)、模15计数器调试仿真结果:(4)、控制器controller调试仿真结果:(5)、十字路口交通灯控制系统仿真波形:7.课程设计回顾总结及心得体会设计逻辑电路时,首先分析功能,确定输入和输出,划分功能模块。