EDA课程设计报告-交通灯.doc
文本预览下载声明
目录(ECJTU2008)
一、方案分析与对比······················································2
1.1方案分析·····························································2
1.2方案对比·····························································2
二、整体设计论述···························································4
三、单元模块设计与仿真················································6
3.1时钟分频模块······················································6
3.2交通灯控制及计时模块·········································7
3.3扫描显示译码模块···············································8
3.4顶层文件的编写及波形仿真································10
四、硬件实验方案及实验结果·······································13
4.1硬件实验方案····················································13
4.2实验结果···························································14
五、收获和体会····························································15
六、程序代码·······························································16
方案分析与对比
1.1方案分析
通过分析课程设计的要求可以知道,所要设计的交通信号灯控制电路要能够适用于由一条主干道和一条支干道的汇合点形成的十字交叉路口,其主要功能是:主干道处于常允许通行的状态,支干道有车来时才允许通行;当支干道没有车通行时,主干道亮绿灯,而支干道亮红灯,主、支干道的倒计时数码管不显示数字;当支干道有车通行时,进入了主干道和支干道交替通行的情况。
当进入到交替通行时,主干道每次放行45秒,支干道每次放行25秒。首先主干道通行45秒,并且主干道显示45秒的倒计时,此45秒内主干道亮绿灯,当45秒计时结束,主干道亮黄灯5秒,而且显示5秒倒计时,用于绿灯转为红灯作为过渡,使行驶中的车辆有时间停到禁行线外,在主干道亮绿灯和黄灯的50秒内,支干道亮红灯50秒,而且支干道显示50秒的倒计时。然后,当支干道亮红灯50秒结束时,主干道由黄灯转为红灯,并且主干道的红灯亮30秒,显示30秒的倒计时,在此过程中,支干道先亮绿灯25秒,显示25秒的倒计时,25秒过后绿灯转为黄灯,而且黄灯亮5秒,显示5秒倒计时,用于绿灯转为红灯作为过渡,使行驶中的车辆有时间停到禁行线外。支干道通行结束后,主干道通行,以此交替。
1.2方案对比
方案一、用纯数字系统方式控制实现
当支干道没有车通行时,只需要点亮主干道的绿灯和支干道的红灯,而且主、支干道的数码管不需要显示,则很容易实现。当支干道有车通行时,则进入交替通行的情况,交替通行一次所需要的时间是80秒,所以需要一个0到79循环计数的计时器,在不同的计数时间段里实现相应的功能。主干道:0到44秒亮绿灯,数码管从44倒计时到00;45到49秒亮黄灯,数码管从04倒计时到00;50到79秒亮红灯,数码管从29倒计时到00。支干道:0到49秒,亮红灯,数码管从49倒计时到00;50到74秒,亮绿灯,数码管从24倒计时到00;75到79秒,亮黄灯,数码管从04倒计时到00。所以要根据0到79循环计数器的计数情况来控制主、支干道的红绿黄灯和50秒、45秒、30秒、25秒和5秒倒计时计数器的计数。
方案二、用状态机控制
交通灯的工作明显可以分成5个状态,如下表
支干道是否有车 状态 实现功能 支干道没车 St0 支干道亮红灯,主干道亮绿灯,数码管不显示。
支干道有车 St1 主干道亮绿灯45秒,数码管显示45秒倒计时;支干道亮红灯,数码管显示从49秒倒计时到05秒。 St2 主干道亮黄灯5秒,数码管显示5秒倒计
显示全部