交通灯控制器Word文件下载.docx
- 文档编号:18991829
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:12
- 大小:181.61KB
交通灯控制器Word文件下载.docx
《交通灯控制器Word文件下载.docx》由会员分享,可在线阅读,更多相关《交通灯控制器Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
状态
主干道信号灯
步行街信号灯
主干道
步行街道
R红
G绿
Y黄
S0
1
通行
禁行
S1
车停靠
S2
S3
通行(绿灯闪烁)
S4
3、各模块详细设计
(1)去抖模块的VHDL源程序(dither.vhd)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
USEIEEE.STD_LOGIC_ARITH.ALL;
ENTITYDITHERIS
PORT(UPIN:
INSTD_LOGIC;
--按键弹起
DOWNIN:
--按键压下
KEYOUT:
OUTSTD_LOGIC);
--按键输出信号
ENDDITHER;
ARCHITECTUREBEHAVEOFDITHERIS
SIGNALOUT1:
STD_LOGIC;
SIGNALOUT2:
BEGIN
OUT1<
=NOT(OUT2ANDUPIN);
OUT2<
=NOT(OUT1ANDDOWNIN);
KEYOUT<
=OUT1;
ENDBEHAVE;
产生图形如下:
(2)设置计数模块的VHDL源程序如下(count.vhd)
ENTITYCOUNTIS
PORT(CLK:
CLEAR:
CLKADD:
CLKSUB:
PRE_SET:
HUMAN_SET:
RST:
GHUMAN_TIME:
OUTINTEGERRANGE31DOWNTO0;
GHUMAN_CLKT:
GVEHICLE_TIME:
OUTINTEGERRANGE31DOWNTO0);
ENDCOUNT;
ARCHITECTUREBEHAVEOFCOUNTIS
SIGNALHUMAN_TIME:
INTEGERRANGE31DOWNTO0;
SIGNALVEHICLE_TIME:
SIGNALSSTATE:
STD_LOGIC_VECTOR(3DOWNTO0);
SIGNALSCLK:
SIGNALDSCLK:
BEGIN
SSTATE<
="
0000"
WHENPRE_SET='
0'
ELSE
HUMAN_SET&
CLEAR&
CLKADD&
CLKSUB;
SCLK<
=CLKADDORCLKSUBORCLEAR;
PROCESS(CLK)
IF(CLK'
EVENTANDCLK='
1'
)THEN
DSCLK<
=SCLK;
ENDIF;
ENDPROCESS;
PROCESS(RST,CLEAR,DSCLK)
BEGIN
IF(RST='
VEHICLE_TIME<
=8;
ELSIF(DSCLK'
EVENTANDDSCLK='
CASESSTATEIS
WHEN"
0100"
=>
=0;
0101"
0110"
0111"
0001"
=VEHICLE_TIME-1;
0010"
=VEHICLE_TIME+1;
WHENOTHERS=>
=VEHICLE_TIME;
ENDCASE;
ENDPROCESS;
PROCESS(CLEAR,DSCLK)
HUMAN_TIME<
=4;
ELSIF(DSCLK'
EVENTANDDSCLK='
CASESSTATEIS
1100"
=>
=0;
1101"
1110"
1111"
1001"
=HUMAN_TIME-1;
1010"
=HUMAN_TIME+1;
WHENOTHERS=>
=HUMAN_TIME;
ENDIF;
PROCESS(PRE_SET,RST)
GHUMAN_TIME<
=5;
GHUMAN_CLKT<
=7;
GVEHICLE_TIME<
=15;
ELSIF(PRE_SET'
EVENTANDPRE_SET='
=HUMAN_TIME+3;
=HUMAN_TIME+VEHICLE_TIME+3;
产生图形如下:
(3)交通灯控制模块的VHDL源程序(SR.VHD)
ENTITYLIGHTIS
PORT(SRED:
OUTSTD_LOGIC;
ERED:
SGREEN:
EYELLOW:
EGREEN:
GT_SET:
ININTEGERRANGE31DOWNTO0;
REQUEST:
CLK:
INSTD_LOGIC);
ENDLIGHT;
ARCHITECTUREBEHAVEOFLIGHTIS
TYPEIN_STATESIS(ST0,ST1,ST2,ST3,ST4);
SIGNALCURRENT_STATE:
IN_STATES;
SIGNALNEXT_STATE:
SIGNALSTART:
SIGNALSIG:
PROCESS(CURRENT_STATE,RST)
ORCURRENT_STATE=ST0)THEN
START<
='
;
ELSE
A:
PROCESS(START,CLK)
SIG<
ELSIF(CLK'
IF(START='
IF(SIG=GVEHICLE_TIME)THEN
=SIG+1;
ENDPROCESSA;
PROCESS(RST,CLK)
CURRENT_STATE<
=ST0;
ELSIF(CLK'
EVENTANDCLK='
=NEXT_STATE;
PROCESS(CLK,CURRENT_STATE)
CASECURRENT_STATEIS
WHENST0=>
ERED<
EGREEN<
EYELLOW<
SRED<
SGREEN<
IF(REQUEST='
ANDGT_SET='
NEXT_STATE<
=ST1;
WHENST1=>
IF(SIG=1)THEN
=ST2;
WHENST2=>
IF(SIG=GHUMAN_TIME)THEN
=ST3;
WHENST3=>
=NOTCLK;
IF(SIG=GHUMAN_CLKT)THEN
=ST4;
WHENST4=>
NEXT_STATE<
4、逻辑仿真与时序仿真的实现
1)DITHER.VWF
2)COUNT.VWF
3)LIGNT.VWF
4)ZONGTU.VWF
5、设计结论
通过这次课程设计,我进一步加深了对EDA这门课程的认识。
除此之外,我还熟练了对QUARTUS2的操作。
在编写程序的时候,我遇到了很多问题,使我发现了自己的不足,并加深了对交通等原理的认识,然我感受到所学的知识只有结合实际才能真正的发挥其作用,不然也是纸上谈兵,我想这也正是学校开设这门科目的目的。
在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,趣味性强,不仅锻炼能力,而且可以学到很多东西,在与老师和同学的交流过程中,互动学习,将知识融会贯通。
在这次实践中,使我懂得只有付出,才会成功。
所以接下来我会更努力的把自己的学习搞好!
努力向上!
6、参考文献
《EDA技术及应用教程》赵全利编著机械工业出版社
《EDA技术实验与课程设计》周凤臣编著清华大学出版社
《数字电子技术基础》第四版阎石主编高等教育出版社
《电子技术基础实验与课程设计》章忠全主编中国电力出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制器