带左转功能的红绿灯控制系统 数电课程设计.doc

上传人:工**** 文档编号:551790040 上传时间:2023-08-31 格式:DOC 页数:18 大小:232.50KB
返回 下载 相关 举报
带左转功能的红绿灯控制系统 数电课程设计.doc_第1页
第1页 / 共18页
带左转功能的红绿灯控制系统 数电课程设计.doc_第2页
第2页 / 共18页
带左转功能的红绿灯控制系统 数电课程设计.doc_第3页
第3页 / 共18页
带左转功能的红绿灯控制系统 数电课程设计.doc_第4页
第4页 / 共18页
带左转功能的红绿灯控制系统 数电课程设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《带左转功能的红绿灯控制系统 数电课程设计.doc》由会员分享,可在线阅读,更多相关《带左转功能的红绿灯控制系统 数电课程设计.doc(18页珍藏版)》请在金锄头文库上搜索。

1、数电课程设计 带左转功能的红绿灯控制系统 姓名:刘帅学号:2009257017 一设计任务与要求:设计一个带左转功能的红绿灯控制电路。 (1)设东、西方向为主路、南、北方向为辅路;(2)当东、西方向绿灯亮时(表示允许东西方向车辆直行或左拐能过十字路口),南、北方向亮红灯;反之,当南、北方向绿灯时,东、西方向应亮红灯;(3)在信号灯交替亮灭之前,应有黄灯信号作为缓冲提示(4)绿灯红灯黄灯及左拐信号灯各有一定的作用维持时间,东西方向红灯维持时间65秒,南北方向维持55秒,并且利用数码管倒计时显示。二系统整体设计1.系统设计分析将交通道路抽象模型如下:交通灯的显示有很多方式,如十字路口、丁字路口等,

2、而对于同一个路口又有很多不同的显示要求,比如十字路口,车子如果只要东西和南北方向通行就很简单,但本实验要求车辆要带左转功能,则较为复杂要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,通过黄灯提示要进行左拐动作,左拐时间设定由数码管显示。当东西路口红灯来临,同样要由黄灯进行缓冲提示,之后东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,重复上述过程。为简易表

3、示起见,本设计抽象模型如上,东西为A方向,南北为B方向。由题可知,A方向和B方向的交通灯应有四种状态,分别表示可信号灯的亮灭情况,状态转换图如下:图中中1表示灯亮,0 表示灯灭,A方向和B方向的红、黄、绿和左拐灯分别用R1、Y1、G1、L1和R2、Y2、G2、L2来表示。这样,就每个方向的等就按要求的顺序依次点亮了,并且我们就可以由状态设置变量来分别为每个信号进行有效控制。2.系统设计思路 因为每个方向相对的信号灯状态及倒计时的现实完全一致,根据设计要求和系统所具有的功能,红绿灯控制系统设计框图如下: 首先要通过以使能信号选通A方向或B方向,并且有时钟控制信号来触发控制电路。通过读取状态变量的

4、状态来点亮对应信号灯,并且通过扫描显示电路来控制数码管的显示及倒计时。应注意两个方向各种灯亮的时间应该能够非常方便地进行设置和修改,此外假设A方向是主干道,车流量大,因此A方向通行的时间应比B方向长一些,并且每个方向红灯亮的时间应该与另一方向绿、黄、左拐、黄灯亮的时间相等。三单元模块设计:1.硬件电路实现 根据交通灯系统的控制要求,该电路包含了一个CPLD芯片,两个LED数码显示器,二十个分别表示各个方向的红黄绿灯,以及相应的限流电路。实验板仿真芯片用Altera FLEX6000系列的EPF10K10LC84型可编程逻辑芯片。按照如下的管脚定义,分配好管脚,编译成可下载的文件,下载到实验板上

5、。经验证,符合要求。实验板的引脚定义:变量I/O引脚ENInputPin_28CLKInputPin_14LAMPA0outputPin_170LAMPA1outputPin_131LAMPA2outputPin_108LAMPA3outputPin_73LAMPB0outputPin_50LAMPB1outputPin_11LAMPB2outputPin_228LAMPB3outputPin_193ACOUNT0outputPin_198ACOUNT1outputPin_197ACOUNT2outputPin_196ACOUNT3outputPin_195ACOUNT4outputPin_1

6、88ACOUNT5outputPin_187ACOUNT6outputPin_186ACOUNT7outputPin_185COMoutputPin_132主控程序如下:module traffic(CLK,EN,LAMPA,LAMPB,ACOUNT,BCOUNT);output7:0 ACOUNT,BCOUNT;output3:0 LAMPA,LAMPB;input CLK,EN;reg7:0 numa,numb;reg tempa,tempb;reg2:0 counta,countb;reg7:0 ared,ayellow,agreen,aleft,bred,byellow,bgreen,

7、bleft;reg3:0 LAMPA,LAMPB;always (EN)if(!EN)begin ared =8d55; ayellow =8d5;agreen =8d40; aleft =8d15; bred =8d65; byellow =8d5; bleft =8d15; bgreen =8d30; endassign ACOUNT=numa;assign BCOUNT=numb;always (posedge CLK)beginif(EN)beginif(!tempa)begintempa=1;case(counta) 0: begin numa=agreen; LAMPA=2; co

8、unta=1; end1: begin numa=ayellow; LAMPA=4; counta=2; end2: begin numa=aleft; LAMPA=1; counta=3; end3: begin numa=ayellow; LAMPA=4; counta=4; end4: begin numa=ared; LAMPA=8; counta=0; enddefault: LAMPA1)if(numa3:0=0) beginnuma3:0=4b1001;numa7:4=numa7:4-1;endelse numa3:0=numa3:0-1;if (numa=2) tempa=0;

9、endendelse beginLAMPA=4b1000;counta=0; tempa=0;endendalways (posedge CLK) beginif (EN)beginif(!tempb)begintempb=1;case (countb) 0: begin numb=bred; LAMPB=8; countb=1; end1: begin numb=bgreen; LAMPB=2; countb=2; end2: begin numb=byellow; LAMPB=4; countb=3; end3: begin numb=bleft; LAMPB=1; countb=4; e

10、nd4: begin numb=byellow; LAMPB=4; countb=0; enddefault: LAMPB1)if(!numb3:0) beginnumb3:0=9;numb7:4=numb7:4-1;endelse numb3:0=numb3:0-1;if(numb=2) tempb=0;endendelse beginLAMPB=4b1000;tempb=0; countb=0;endendendmodule。3 对象控制模块: 根据交通灯系统的要实现的功能,考虑用两个并行的always模块来控制A和B两个方向的四盏灯,这两个always 模块用一个时钟信号已进行同步。如对

11、A方向的程序控制模块描述如下:always(posedge CLK)/该always模块控制A方向的4种灯beginif(EN)beginif(!tempa)begintempa= 1;4循环控制切换模块: 每个always模块控制1个方向的4种灯按如下顺序点亮,并往复循环:绿灯黄灯左拐灯黄灯红灯。程序描述如下:case(counta) 0:begin numa=agreen;LAMPA=2;counta=1;end1:begin numa=ayellow;LAMPA=4;counta=2;end2:begin numa=alert;LAMPA=1;counta=3;end3:begin nu

12、ma=ayellow;LAMPA=4;counta=4;end4:begin numa=ared;LAMPA=8;counta=0;enddefault:LAMPA1) if(numa3:0=0)begin numa-3:0=4b1001; numa7:4=numa7:4-1; end else numa3:0=numa3:0-1; if(numa=2) tempa=0; end6.信号的有效维持时间模块设定A方向红、绿、黄、左拐灯亮的时间分别为65秒、40秒、5秒和15秒,B方向红、绿、黄、左拐灯亮的时间分别为:55秒、30秒、5秒和15秒。假如要改变这些时间只须改变计数器的预置数即可。程序描述如下:begin/设置各种灯的计数器的预置数ared=8b01010101;/65sayellow =8b00000101;/5sagreen =8b01000000; /40saleft =8b00010101; /15sbred =8b01100101; /55sbyellow =8b00000101; /5sbleft =8b00010101; /15sbgreen =8b00110000; /30send四EDA系统原理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号