版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计6.1 设计任务设计任务6.2 设计方案论证设计方案论证6.3 以标准数字集成电路为核心的实现方案以标准数字集成电路为核心的实现方案6.4 基于双基于双MCU的交通信号控制系统的交通信号控制系统6.5 基于基于CPLD的交通信号控制系统的交通信号控制系统第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 6.1 设计任务设计任务针对城市道路十字交叉路口,设计一个交通信号灯控制系统,具体要求如下:(1) 主干道通车时间199 s,可任意设置。(2) 次干道
2、通车时间199 s,可任意设置。(3) 黄灯亮时间19 s,可任意设置。 (4) 采用倒计时的方式,用两位十进制数字显示红、绿、黄色信号灯亮的倒计时时间。(5) 其他功能。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 6.2 设计方案论证设计方案论证6.2.1 十字路口交通信号简介十字路口的红绿灯指挥着行人和各种车辆的安全运行,实现红绿灯的自动指挥是城市交通管理自动化的重要课题。一般说来,十字路口处的两条相互交叉的道路是有主次之分的。其中一条道路平时车流量较大,称为主干道;而另一条道路平时车流量较小,称为次干道。十字路口交通信号灯控制系统应考虑十字路口主、次干道车流量不同的
3、特点,并且能根据车流量发生变化的实际情况,很方便地更改主、次干道的通车时间。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计有一条主干道和一条次干道的城市道路交叉路口如图6.1所示。每边(共四边)都设置红、绿、黄色信号灯。红灯亮表示禁止通行;绿灯亮表示可以通行;在绿灯亮转变为红灯亮之前,先要求黄灯亮几秒钟,以便让交叉路口停车线以外的车辆停止运行,而使交叉路口停车线以内的车辆快速通过交叉路口。每一边的红、绿、黄色信号灯亮的顺序是红绿黄红绿黄。主干道红灯亮时,对应次干道的绿灯亮、黄灯亮;主干道绿灯亮、黄灯亮时,对应次干道的红灯亮。这样就要求主干道红灯亮的时间,应等于次干道绿灯亮的时
4、间与次干道黄灯亮的时间之和;同理,次干道红灯亮的时间,应等于主干道绿灯亮的时间与主干道黄灯亮的时间之和。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计有的时候,红、绿、黄色信号灯亮的时间要求采用倒计时的方式,并用十进制数字显示出来,以便机动车司机和行人一目了然、心中有数。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计图6.1 交叉路口信号灯示意图主 干道红黄绿红 黄 绿次 干 道第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计6.2.2 不同设计方案的简单介绍 要实现上述城市道路交叉路口信号灯的自动控制,则要求交通信号控制系统由控制器,倒计时
5、器,倒计时时间数字显示部分,红、绿、黄信号灯等几个部分组成,其构成原理方框图如图6.2所示。图中有向线段的箭头表示信号流向。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计图6.2 交通信号控制系统构成原理方框图倒 计 时 时 间 数 字 显 示 部 分主 干 道 通 车倒 计 时 器主 干 道 黄 灯 亮倒 计 时 器次 干 道 通 车倒 计 时 器次 干 道 黄 灯 亮倒 计 时 器主 干 道绿 、 黄 、 红 灯控 制 器次 干 道绿 、 黄 、 红 灯第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计倒计时器用于对秒脉冲的计数,完成计时任务,向控制器发出
6、相应的定时信号,控制主干道和次干道的通车时间、禁止通行时间和黄灯亮的时间。控制器根据倒计时器送来的信号,保持或改变系统的状态,以实现对主、次干道车辆运行状态的控制。 同时,控制器对倒计时时间数字显示部分进行控制,使得数码管显示器能以两位十进制数字显示红、绿、黄色信号灯亮的倒计时时间。根据上面的分析,完成设计任务的实现方案大致可以归纳为以下三种。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计1. 以标准数字集成电路为核心的实现方案用标准数字集成电路实现交通信号控制系统的设计是比较容易的,虽然所设计的电路比较复杂,但是人们不难找到已有的设计方案作为参考。图6.2中的倒计时器可以
7、用十进制减法计数器构成;控制器可以用触发器或其他功能的常规数字集成电路芯片来进行设计;倒计时时间数字显示部分也要用到减法计数器,还要用到显示译码器等标准数字集成电路芯片。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计2. 以MCU为核心的实现方案 用单片机实现交通信号控制系统的设计相对而言是最容易的。因为交通信号灯控制系统就是要根据计时的情况,实现对交通信号灯的控制,并要用十进制数字显示倒计时时间,而单片机最适宜用来对物理对象进行控制,通过单片机软件编程,很容易实现对交通信号灯的控制和对LED数码管的显示控制。但是,单片机应用系统具有抗干扰性差的缺点,而对交通信号灯控制系统工
8、作可靠性的要求是很高的,所以,必须采取有效措施,提高单片机应用系统的可靠性。一般应该综合采用软、硬件抗干扰措施,才能获得好的抗干扰效果。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计3. 以CPLD为核心的实现方案运用EDA技术实现电子系统的设计特别是数字电子系统的设计,是现代电子技术发展的趋势。CPLD芯片内部的电路功能可以通过标准硬件描述语言进行设计,而且整个设计过程都是在通用计算机的帮助下完成的,从而使得以CPLD为核心的方案容易实现、容易修改、容易保存,因此,无论是在系统的工作可靠性方面,还是在系统的成本、系统的运行速度、系统结构的简易程度等方面,以CPLD为核心的
9、实现方案具有一定的技术先进性,而且最后能得到比较满意的设计结果。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计以上三种实现方案各自的特点有所不同,采用的技术手段也有很大区别。但是,因为设计任务本身不是很难,而这三种实现方案作为学生学习电子系统设计的简单实例是比较好的(如作为电子技术课程设计题使用),所以,下面我们将对这三种实现方案都作详细的介绍。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计6.3 以标准数字集成电路为核心的实现方案6.3.1 十字路口交通信号控制系统电路的设计图6.3是十字路口交通信号控制系统电路原理图。为了简便起见,在图6.3中没有画出“
10、倒计时时间数字显示部分” ,该部分电路如图6.4所示,稍后说明之。 在图6.3中,IC1、IC2组成“主干道通车倒计时器” ;IC3组成“主干道黄灯亮倒计时器” ;IC4、IC5组成“次干道通车倒计时器” ;IC6组成“次干道黄灯亮倒计时器” ;IC7、IC8、IC9组成“控制器” ;LED1LED6表示“主、次干道的绿、黄、红灯” 。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计上面所述4个“倒计时器”都是由十进制可逆计数器74LS192组成的,现以“主干道通车倒计时器”为例进行说明。IC1、IC2级联,组成减法计数器,秒脉冲从IC2的第4脚输入。当LD=0时,由IC1、I
11、C2组成的减法计数器处于预置数功能状态,可编程的预置数由8421BCD码拨盘开关SW1、SW2产生。例如,要求主干道通车时间为89 s,则只要将SW1拨到8,将SW2拨到9就可以了。当LD=1时,由IC1、IC2组成的减法计数器处于减法计数功能状态,在秒脉冲的作用下,从89开始每秒钟减1,当减到00时,IC1的第12脚产生借位负脉冲Qcb=0,此负脉冲送到由IC7、IC8、IC9组成的“控制器”,使得“控制器”的状态发生改变。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 其他“倒计时器”的工作过程与“主干道通车倒计时器”类似。SW3、SW4用来预置次干道通车时间;SW5用来
12、预置主、次干道黄灯亮的时间。由图6.3可知,主、次干道黄灯亮的时间是相同的。“控制器”主要由IC7组成。“控制器”中的IC7 是CMOS数字集成电路(型号为CD4017),是十进制计数 / 脉冲分配器。在任何时刻,IC7的输出Y0Y4总是有且仅有一个为逻辑1。当Y0=1、Y1=Y2=Y3=Y4=0时,“主干道通车倒计时器”进行减法计数,当计数到00时,“主干道通车倒计时器”产生的借位负脉冲送到与非门IC8(型号为74LS20),由IC8产生正脉冲送到IC7,使IC7的状态改变为Y1=1、Y0=Y2=Y3=Y4=0。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计这时,“主干道
13、通车倒计时器”处于预置数功能状态,而“主干道黄灯亮倒计时器”IC3开始作减法计数。当“次干道黄灯亮倒计时器” IC6减计数到0时,IC7的状态改变为Y0=Y1=Y2=Y3=0、Y4=1,因为IC7的输出端Y4接清零端Cr,所以这时IC7处于清零功能状态,则IC7的状态立即又变为Y0=1、Y1=Y2=Y3=Y4=0。由此可知,IC7是循环工作的。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计“控制器”中的或门IC9(型号为74LS32),用来产生红色信号灯的控制信号。例如,主干道的红色信号灯LED1的控制信号是X1,在X1=1时LED1亮。而X1=Y2+Y3,由此可知,当次干
14、道的绿灯亮或次干道的黄灯亮时,主干道的红色信号灯LED1也亮。次干道的红色信号灯LED6的控制信号是X2,X2=Y0+Y1,这样,当主干道的绿灯亮或主干道的黄灯亮时,次干道的红色信号灯LED6也亮。在图6.3中,用发光二极管LED1LED6模拟交通信号灯,而实际中的交通信号灯可能是交流大功率高亮度灯泡或者是发光二极管阵列,只要给TTL集成电路(IC9,型号为74LS32)增加相应的驱动电路就可满足实际要求。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计6.3.2 倒计时时间数字显示电路的设计要点图6.4是倒计时时间数字显示部分,其左、右两半部分分别是主、次干道倒计时时间数字
15、显示电路,从电路结构上来看,左、右两半部分具有对称性。下面以主干道倒计时时间数字显示电路为例,进行简要说明。在图6.3的基础上,倒计时时间数字显示电路的设计主要解决两个问题:一是用两个十进制数字分时显示红、绿、黄色信号灯亮的时间,即分时显示的问题;二是对红色信号灯亮的时间实现倒计时,即红色信号灯亮的倒计时问题。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计分时显示的问题是用三态门74LS245、74LS244解决的。图6.4中IC15、IC16的芯片型号是74LS245,IC17的型号是74LS244。通过三态控制端的控制作用,在任何时刻,只有红、绿、黄色信号灯亮的倒计时器中
16、的一个倒计时器的状态,被送到七段译码 / 驱动电路IC20、IC21(型号为74LS48),经译码后,驱动共阴极数码管LED7、LED8显示倒计时器的状态。图6.4中的R43R56是300 的限流电阻。该倒计时时间数字显示电路还解决了消隐无效数字0的问题,即当LED7要显示的数字是0时,该数字0将消隐而不显示。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计在图6.3中,通过或门IC9(型号为74LS32),可以很方便地获得主干道红色信号灯LED1的控制信号X1和次干道红色信号灯LED6的控制信号X2。然而,在图6.3中没有红色信号灯LED1、LED6亮的倒计时器。要解决红色信
17、号灯亮的倒计时问题,必须再设计红色信号灯亮的倒计时器。在图6.4中,IC10、IC11构成了主干道红色信号灯亮的倒计时器,SW6、SW7用来提供可编程的主干道红色信号灯亮的时间预置数。但是,SW6、SW7提供的可编程的预置数,必须等于次干道绿灯亮的时间与次干道黄灯亮的时间之和,即等于SW3、SW4的预置数与SW5的预置数之和。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计次干道的倒计时时间数字显示电路与主干道的类似,SW8、SW9用来提供可编程的次干道红色信号灯亮的时间预置数。同理,SW8、SW9提供的可编程的预置数必须等于主干道绿灯亮的时间与主干道黄灯亮的时间之和,即等于S
18、W1、SW2的预置数与SW5的预置数之和。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计由图6.3和图6.4可知,图6.4所示的倒计时时间数字显示部分不影响图6.3所示控制电路的工作,但是,图6.4所示的倒计时时间数字显示部分受到图6.3所示控制电路的控制。因为有些十字路口的交通信号不需要用十进制数字来显示倒计时时间,所以,图6.4所示的倒计时时间数字显示部分与图6.3所示的控制电路之间,宜采用积木式结构,分别安装在两块印制板上。这样,在实际应用中,当需要“倒计时时间数字显示部分”时,才将图6.4所示的电路接上,与图6.3所示控制电路配合使用;而在不需要“倒计时时间数字显示部
19、分”时,图6.3所示的控制电路可单独工作。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计这里所介绍的十字路口交通信号灯控制系统主要采用标准的常规数字集成电路,只有IC7是CMOS系列数字集成电路,其他的都是TTL系列数字集成电路。将图6.3所示电路与图6.4所示电路分别制作安装在两块印制板上,相互之间用信号排线及接插件连接。只要按图正确接线,不需要调试,电路就能正常工作,并且该电路可完全满足设计任务所提出的各项技术指标要求。经试验证明,这里所介绍的十字路口交通信号灯控制系统不仅实现了交通信号灯的自动控制,而且电路运行稳定可靠,可应用于实际场合。在实际应用中,根据主、次干道车流
20、量变化的情况,可通过拨盘开关SW1SW9,很方便地更改主、次干道通车的时间。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计6.4 6.4 基于双基于双MCUMCU的交通信号控制系统的交通信号控制系统6.4.1 系统硬件电路设计系统硬件电路如图6.5所示,主要采用了两片51系列单片机芯片AT89C51(IC1、IC2),电路左、右两半部分分别负责主、次干道交通信号的控制与时间显示。用发光二极管LED1LED6表示交通信号灯,其中,LED1LED3表示主干道信号灯,LED4LED6表示次干道信号灯,虽然P0口的输出级是开路电路,但因为所带负载是灌电流负载,故未接上拉电阻。AT89
21、C51的P0.7P0.5直接驱动红、绿、黄信号灯。AT89C51的P1口作输出口, P1口输出的BCD码经CD4511译码后,驱动共阴极LED数码管,显示倒计时时间,并通过IC7解决了消隐无效数字0的问题。四个共阴极数码管LED7和LED8、LED9和LED10分别显示主、次干道信号灯亮的倒计时时间。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计AT89C51的P2口及P0.3P0.0作输入口,用于设置主、次干道的通车时间,通车时间的设定由8421BCD码拨盘开关SW1SW5完成,其中,SW1、SW2用于设置主干道通车时间(即主干道绿灯亮的时间),SW4、SW5用于设置次干
22、道通车时间,SW3用于设置黄灯亮的时间。两块AT89C51芯片的串行口设置成异步通信方式,可实现相互之间的数据交换。该电路具有如下的技术指标:(1) 主干道通车时间099 s,可任意设置。(2) 次干道通车时间099 s,可任意设置。(3) 黄灯亮时间09 s,可任意设置。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计(4)采用倒计时的方式,用两位十进制数字显示红、绿、黄色信号灯亮的倒计时时间。 正是因为电路中用了两片AT89C51,从而提高了系统工作的稳定性和可靠性,并简化了软件设计。6.4.2 系统软件设计及单片机源程序交通信号灯有红、绿、黄三种。红灯亮表示禁止通行;绿灯
23、亮表示允许通行;在绿灯亮转变为红灯亮以前,先要求黄灯亮几秒钟,以便让交叉路口停车线以外的车辆停止通行,而让交叉路口停车线以内的车辆快速通过交叉路口。交通信号灯亮的顺序是: 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计主绿、次红 主黄、次红 主红、次黄 主红、次绿 由于主干道红灯亮的时间=次干道绿灯亮的时间+次干道黄灯亮的时间,次干道红灯亮的时间=主干道绿灯亮的时间+主干道黄灯亮的时间,主干道黄灯亮的时间=次干道黄灯亮的时间,因此,为了获得主干道红灯亮的时间,必须把次干道绿灯亮的时间从IC2的RAM中传送到IC1,同理,应把主干道绿灯亮的时间从IC1的RAM中传送到IC2,而
24、这些数据的相互传送是通过串行口实现的。程序分为主程序和子程序,采用循环结构,主、次干道的程序分别存放在IC1、IC2的片内程序存储器(ROM)中。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计主干道的程序与次干道的程序几乎相同,惟一不同之处是:主干道程序初始化后最先点亮的是绿灯,而次干道程序初始化后最先点亮的是红灯。图6.6是主干道程序流程框图。主干道源程序清单如下: ORG 0000H LJMP START ORG 003BH START: MOV TMOD,#20H ;定时器T1工作于模式2 MOV TL1,#0F3H ;T1赋计数初值,设置波特率为1200 第第6章章
25、城市交通信号控制系统的设计城市交通信号控制系统的设计图6.6 主干道程序流程框图程序开始初始化读红、绿、黄灯点亮时间顺序点亮绿、黄、红灯按秒倒计时并显示时间第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 MOV TH1,#0F3H SETB TR1 ;启动T1 MOV SCON,#50H ;串行口工作于方式1,允许接收 MOV P0,#0FFH ;置P0.3P0.0为输入且信号灯灭MOV A,P0 ;读P0口状态 ANL A,#0FH MOV 22H,A ;黄灯亮的时间存22H单元 MOV P2,#0FFH ;置P2口为输入第第6章章 城市交通信号控制系统的设计城市交通信号控
26、制系统的设计MOV A,P2 ;读P2口状态 LCALL BCDBIN ;将BCD码转换为二进制数 MOV 21H,A ;绿灯亮的时间存21H单元 MOV SBUF,A ;发送数据 JNB TI,$ ;等待发送结束 CLR TI ;清发送标志 JNB RI,$ ;等待接收结束 CLR RI ;清接收标志第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 MOV A,SBUF ;接收数据 ADD A,22H ;计算红灯亮时间 MOV 20H,A ;红灯亮的时间存20H单元MOV A,21HMOV R0,A ;绿灯亮的时间送R0CLR P0.6 ;点亮绿灯LP1 : DEC R0 L
27、CALL BINBCD ;将二进制数转换为BCD码 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 MOV P1,A ;显示时间 LCALL DELAY ;延时1秒 CJNE R0,#0,LP1 ;绿灯亮的时间未结束转LP1 MOV A,22H ;绿灯亮的时间结束 MOV R0,A ;黄灯亮的时间送R0 SETB P0.6 ;关绿灯 CLR P0.5 ;点亮黄灯第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计LP2: DEC R0 LCALL BINBCD MOV P1,A LCALL DELAY CJNE R0,#0,LP2 MOV A,20H MOV R0
28、,A ;红灯亮的时间送R0 SETB P0.5 ;关黄灯 CLR P0.7 ;点亮红灯第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 LP3: DEC R0 LCALL BINBCD MOV P1,A LCALL DELAY CJNE R0,#0,LP3 MOV A,21H MOV R0,A ;绿灯亮的时间送R0 SETB P0.7 ;关红灯 CLR P0.6 ;点亮绿灯 LJMP LP1 ;循环运行第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计BCDBIN: MOV R1,A ;BCD码转二进制数子程序 SWAP A ANL A,#0FH MOV B,#1
29、0 MUL AB XCH A,R1 ANL A,#0FH ADD A,R1 RET第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计BINBCD: MOV A,R0 ;二进制数转BCD码子程序 MOV B,#10 DIV AB SWAP A ADD A,BRETDELAY: MOV R1,#10 ;延时1秒子程序 K1: MOV R2,#100 K2: MOV R3,#250 K3: DJNZ R3,K3 DJNZ R2,K2 DJNZ R3,K1 RET 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 6.5 6.5 基于基于CPLDCPLD的交通信号控制系统
30、的交通信号控制系统6.5.1 系统硬件电路设计1. CPLD器件的选择及CPLD电路的设计我们选择Lattice公司的ispLSI1000系列CPLD器件,芯片型号为ispLSI1032E。该芯片具有如下特点。(1) 高密度:可用门为60 000个,逻辑单元为128个,寄存器为192个,I/O口为64个。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 (2) 高性能:该器件采用E2COMS技术,70 MHz的工作频率,兼容TTL输入/输出,电可擦除和重组。没有使用的乘积项自动关闭而减少功耗。采用PLCC-84封装,可以使用集成电路插座。(3) 在系统可编程:5 V在系统可编
31、程,可提高设计效率,减小产品开发时间,提高产品质量。第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计ispLSI1032E的内部资源能够满足本设计任务的需要。CPLD电路的设计我们采用湖南长沙三知公司生产的CPLD适配板来实现,该CPLD适配板自带下载电路、电源插座、I/O扩展接口,因此,该CPLD适配板只要接入+5 V电源,就可以作为用户的最小系统而正常工作于用户应用系统中(嵌入用户系统中)。2. 系统的硬件电路图在设计系统硬件电路图时,只有时间设置电路、驱动及显示电路、时钟电路放在CPLD的外面,其他所有需要的系统硬件电路都由ispLSI1032E实现。系统硬件电路如图6.
32、7所示。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计图6.7 系统硬件电路图图略第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计在图6.7中,ispLSI1032E左边的电路是时间设置电路和时钟电路,右边是驱动及显示电路。时间设置电路由8421拨盘开关及下拉电阻组成。SW1、SW2用于设置主干道绿灯亮的时间即主干道通车时间,最大值为100 s。SW3用于设置主干道和次干道的黄灯亮的时间,最大值为10 s。SW4、SW5用于设置次干道绿灯亮的时间即次干道通车时间,最大值为100 s。虽然主、次干道红灯亮的时间可以通过求和运算得到,但是因为担心ispLSI10
33、32E的内部资源不够用,而且8421拨盘开关具有时间显示功能,所以,主、次干道的红灯亮的时间也是通过8421拨盘开关来进行设置的,其中,SW6、SW7用于设置主干道红灯亮的时间,SW8、SW9用于设置次干道红灯亮的时间。 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计主、次干道的倒计时显示器采用双位共阴极LED数码管,且每一个发光点都是双色发光二极管。双色发光二极管单独发光时可以分别显示红色和绿色,当红色和绿色都亮时,由混色原理可知,这时显示的是黄色,所以,主、次干道的倒计时显示器能显示红、绿、黄三种颜色,而且LED数码管倒计时显示器的显示颜色与交通信号灯的颜色是同步的。通过
34、ispLSI1032E的VHDL语言编程实现了LED数码管倒计时显示器的动态扫描显示,每一位数码管显示1 ms,消隐1 ms,数据刷新周期为2 ms。qout_main、qout_secondary是CPLD发出的数码管的段码(g、f、e、d、c、b、a共七段),段码是低电平有效。led_high_main、led_low_main、led_high_secondary、led_low_secondary是CPLD发出的4个数码管的位选码,位选码是高电平有效。ispLSI1032E芯片共有64根I/O线,在图6.7所示的系统硬件电路中使用了63根I/O线。 第第6章章 城市交通信号控制系统的设
35、计城市交通信号控制系统的设计6.5.2 系统软件设计及VHDL源程序由系统硬件电路设计可知,ispLSI1032E实现了除时间设置电路、驱动及显示电路、时钟电路以外的其他所有需要的系统硬件电路,并且通过VHDL硬件描述语言实现了对ispLSI1032E内部硬件电路的设计。在进行ispLSI1032E内部逻辑功能的软件设计过程中,采用状态机的设计方法实现了图6.2所示框图中的控制器设计。所以,ispLSI1032E内部逻辑电路主要由状态机、100进制减法计数器、显示译码器、二选一数据选择器、数据寄存器、分频器等组成。ispLSI1032E的完整的VHDL源程序如下: 第第6章章 城市交通信号控制
36、系统的设计城市交通信号控制系统的设计Designed by OU-Weiming, 2005.1.29 library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all; entity traffic_real_1 is port(clk : in std_logic; 40MHz时钟输入第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 indata_1,indata_3,indata_4,indata_5: in std_logic_ve
37、ctor(7 downto 0); indata_2: in std_logic_vector(3 downto 0); q o u t _ m a i n , q o u t _ s e c o n d a r y : o u t std_logic_vector(6 downto 0); 时间显示段码 l e d _ h i g h _ m a i n , l e d _ l o w _ m a i n ,led_high_secondary,led_low_secondary:out std_logic; 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计时间显示位选码 s
38、elect_rg: out std_logic_vector(3 downto 0); 颜色选择控制s e l e c t _ r _ m a i n , s e l e c t _ g _ m a i n ,select_r_secondary,select_g_secondary:out std_logic; jtdout: out std_logic_vector(3 downto 0); 交通灯信号输出第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计end traffic_real_1; architecture hav of traffic_real_1 is typ
39、e states is (s3,s2,s1,s0); signal state: states:=s0; signal nextstate: states:=s0; signal count3,count2: std_logic_vector(3 downto 0); 主干道计数器第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计signal count1,count0: std_logic_vector(3 downto 0); 次干道计数器 signal data0_main : std_logic_vector(7 downto 0); 主干道倒计时初值 s i g n a
40、 l d a t a 0 _ s e c o n d a r y : std_logic_vector(7 downto 0); 次干道倒计时初值 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计signal light : std_logic_vector(3 downto 0); 交通灯输出信号 signal qout_main_high,qout_main_low : std_logic_vector(6 downto 0); 主干道段码s i g n a l q o u t _ s e c o n d a r y _ h i g h ,qout_secondary_lo
41、w : std_logic_vector(6 downto 0); 次干道段码 signal load_main,load_secondary: std_logic; 计数器初值预置控制信号 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 signal clkms,clks: std_logic; 毫秒及秒信号 signal flag_main,flag_secondary: std_logic; begin U1:process(clk) 时钟分频 variable stemp1: integer range 0 to 39999; variable carry1: std
42、_logic; begin if( clkevent and clk=1) then if stemp1=39999 thenstemp1:=0; carry1:=1; 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计else stemp1:=stemp1+1; carry1:=0; end if; end if; clkms=carry1; end process U1;U2: process(clkms) 时钟1000分频 variable stemp2: integer range 0 to 999; variable carry2: std_logic; begin i
43、f( clkmsevent and clkms=1) then if stemp2=999 then第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计stemp2:=0; carry2:=1;else stemp2:=stemp2+1; carry2:=0; end if; end if; clks=carry2; end process U2;U3: process(clks,load_main) 主干道倒计时器,完成同步预置时间初值或减1 第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 begin if rising_edge(clks) then if l
44、oad_main=1 then count3=data0_main(7 downto 4); count2=data0_main(3 downto 0); elsif count2=0000 then count3=count3-1; count2=1001; else count2=count2-1; end if; end if;第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计end process U3;U4: process(clks,load_secondary) 次干道倒计时器,完成同步预置时间初值或减1begin if rising_edge(clks) then
45、 if load_secondary=1 then count1=data0_secondary(7 downto 4); count0=data0_secondary(3 downto 0); elsif count0=0000 then count1=count1-1; count0=1001; else第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计else count0=count0-1; end if; end if; end process U4;U5:process(clks) 产生预置时间初值控制信号 begin 并且改变当前状态 if falling_edge
46、(clks) then i f ( c o u n t 3 = 0 0 0 0 a n d count2=0000 and count1=0000 and count0=0000 )then load_main=1;第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 load_secondary=1; state=nextstate; elsif (count3=0000 and count2=0000) then load_main=1; load_secondary=0; state=nextstate; elsif (count1=0000 and count0=0000)
47、 then load_main=0; load_secondary=1; state=nextstate;第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计else load_main=0; load_secondary light=0110; s0状态,南北道绿灯亮,东西道红灯亮第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 nextstate=s1; data0_main=indata_1; data0_secondary=indata_5; select_rg light=0010; s1状态,南北道黄灯亮,东西道红灯亮 nextstate=s2; 第第6
48、章章 城市交通信号控制系统的设计城市交通信号控制系统的设计data0_main(3 downto 0)=indata_2; data0_main(7 downto 4)=0000; data0_secondary(3 downto 0)=indata_2; data0_secondary(7 downto 4)=0000; select_rg light=1001; s2状态,南北道红灯亮,东西道绿灯亮第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计nextstate=s3; data0_main=indata_4; data0_secondary=indata_3; select_rg light=1000; s3状态,南北道红灯亮,东西道黄灯亮 nextstate=s0; data0_main(3 downto 0)=indata_2;第第6章章 城市交通信号控制系统的设计城市交通信号控制系统的设计 data0_main(7 downto 4)=0000; data0_secondary(3 downto 0)=inda
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏苏州工业园区苏相合作区助理人员招聘6人模拟试卷带答案详解(精练)
- 2026年上海城建职业学院公开招聘模拟试卷(基础题)附答案详解
- 2026广西崇左宁明县红十字会公益性岗位招聘参考题库及参考答案详解(培优)
- 2026年甘肃省张掖市直事业单位引进高层次人才11人(第二批)备考题库及参考答案详解(考试直接用)
- 2026年6月江苏扬州市邗江区国有资本投资集团有限公司招聘2人笔试题库含答案详解(黄金题型)
- 2026-2030中国制糖产业投资状况与销量预测分析研究报告
- 2026湖南株洲市教育局直属学校高层次人才、急需紧缺人才招聘16人参考题库附参考答案详解(预热题)
- 护理与公共卫生:应对社区健康挑战
- 护理品管圈助力提升护理领导力水平案例
- 2026山东省面向喀什籍未就业少数民族高校毕业生招聘事业单位人员15人模拟试卷附答案详解【模拟题】
- 2026广东东莞职业技术学院招聘事业编制专职辅导员13人笔试参考题库及答案详解
- 2026重庆渝富控股集团有限公司所属企业招聘14人备考题库及答案详解1套
- 2026上海长宁区社区工作者招聘94人笔试参考题库及答案详解
- 专利技术合作开发合同范本
- 2026年小学三年级英语第二学期期末考试卷及答案(共十二套)
- (2026年)孕妇糖耐量试验健康知识宣教课件
- 公司入围申请书范文模板
- 2024年海南农垦旅游集团有限公司招聘笔试参考题库含答案解析
- 《新会计法解读》课件
- 悬挑式卸料平台监理实施细则
- 1956-1967国家科学技术发展远景规划纲要
评论
0/150
提交评论