欢迎来到天天文库
浏览记录
ID:6819077
大小:697.50 KB
页数:31页
时间:2018-01-27
《课程设计-基于eda的交通灯的设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录目录.........................................................................................................1第一章设计思路21.1、设计内容及要求21.2、设计构思21.3、设计构思框图3第二章单元模块设计与仿真42.1、时钟分频模块42.2、5秒倒计时计数器模块52.3、35秒倒数计时计数器模块82.4、25秒倒计时计数器模块102.5、40秒倒计时计数器模块122.6、20秒倒计时计数器模块142.7、A方
2、向控制模块162.8、B方向控制模块172.9、显示模块192.10、顶层文件的编写222.11.总电路图25第三章调试273.1、硬件实验273.2、实验现象28心得体会29参考文献3030第一章设计思路1.1、设计内容及要求1.设计制作一块十字路口的交通信号灯的控制电路的专用芯片。2.A方向和B方向各设置红(R)、黄(Y)、绿(G)三盏灯,三盏灯按合理的顺序亮灭,并能将灯亮的时间以倒计时的方式显示出来。3.两个方向各灯的时间可方便地进行设置和修改。假设A方向为主干道,车流量大,A方向通行时间比B方向长。设A方向每次至
3、少通行t1秒,B方向每次至多通行t2秒,黄灯亮t秒。1.2、设计构思为了方便A、B方向的车流不堵塞,默认A方向先亮绿灯,同时B方向亮红灯,时间以倒数显示出来,在绿灯时间到达时,通过3秒黄灯,过渡到红灯,使得行驶过程中的车辆有足够的时间停下来。所以,红灯的时间是另一方向的绿灯时间加上黄灯的时间。用Ga、Ya、Ra依次代表主干道A方向的绿灯、黄灯和红灯。用Gb、Yb、Rb依次代表支干道B方向的绿灯、黄灯和红灯。根据A、B方向的车流量大小,令A方向绿灯亮30S,黄灯亮3s,红灯亮28S;B方向绿灯亮25S,黄灯3s,红灯33s
4、。如图1-1,图中1代表点亮,0代表灭。A方向(主干道)B方向(支干道)时间GaYaRaGbYbRb时间35S10000140S5S01010020S3025S0010105S图1-1交通灯亮灭时间安排1.3、设计构思框图图1-2设计构思框图如图所示,通过A、B方向控制器分别控制A和B方向各自的时间倒数模块以及时间显示。30第二章单元模块设计与仿真2.1、时钟分频模块系统时钟计时模块需要1HZ的脉冲,与系统的动态扫描需要的脉冲不同。分频模块主要为系统提供所需的时钟计时脉冲。该模块将50MHZ的脉冲信号进行分频,产生1S的
5、方波,作为系统时钟计时信号。2.1.1、源程序:--模块FEN。它是分频得到1HZlibraryieee;useieee.std_logic_1164.all;entitychenliangfenisport(clk:instd_logic;图2-1分频模块clk1S:outstd_logic);endchenliangfen;architecturefen_arcofchenliangfenisbeginprocess(clk)variablecnt:integerrange0tobeginifclk'eventand
6、clk='1'thenifcnt=thenclk1S<='1';elsecnt:=cnt+1clk1S<='0';30endif;endif;endprocess;endfen_arc;2.1.2、仿真图形:2.2、5秒倒计时计数器模块2.2.1、源程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitychenliang5sisport(clk:instd_logic;cr:instd_logic;图2-25S倒计时模
7、块en2:instd_logic;j2:outstd_logic;q1:outstd_logic_vector(3downto0));endchenliang5s;architecturet5_arcofchenliang5sissignalbcd1n:std_logic_vector(3downto0);beginprocess(clk,cr)beginif(cr='0')thenbcd1n<="0101";elsif(en2='1')thenif(clk'eventandclk='1')thenif(bcd1n=0)
8、then30bcd1n<="0000";elsebcd1n<=bcd1n-1;endif;endif;endif;endprocess;q1<=bcd1n;process(bcd1n)beginj2<='0';if(bcd1n=0)thenj2<='1';endif;endprocess;endt5_arc;2.2.
此文档下载收益归作者所有