欢迎来到天天文库
浏览记录
ID:38706641
大小:196.50 KB
页数:11页
时间:2019-06-18
《EDA课程设计-交通信号灯》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、EDA课程设计题目:交通灯控制器的设计学院:信息科学技术学院专业:电子信息工程姓名:同组:指导老师:龙翔11一、设计题目交通灯控制器的设计二、设计功能:实现高速公路与乡间小路的交叉路口红绿灯的控制三、具体功能要求:1、只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。2、当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的延迟时间。(注:这段时间定义为20秒时间)3、高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定时间内保持高速公路绿灯。(注:这段时间定义为60秒时间)114、交通信号灯的4种状态如下表:ABCD高速交通灯绿(60秒
2、)黄(5秒)红(20秒)红(5秒)小道交通灯红红绿黄四,设计思路根据交通信号灯的变化可以有四种状态,分别为A,B,C,D输入为XLB即判断小路是否有车,当小路有车时再判断此时大路的绿灯状态,如果绿灯的状态还没结束,那么小路此时为红色,当高速路60s结束后在经过5s的黄灯,在跳转到C状态即小路变为绿灯,大路变为红灯,当小路20s过后再经过5s的黄灯跳转到D状态,大路变为绿灯小路变为红灯,采用赋值的方法来计数,当计数到想要值得时候在令CLR清零,状态也是采用赋值的方法实现不同状态的变化。各输入端口和输出端口及变量信号的说明:输入端CLKXLB意义时钟信号小路是否有车输出端GSRGS
3、YGSGXLRXLYXLG意义高速红灯高速黄灯高速绿灯小路红灯小路黄灯小路绿灯变量或信号CLRS意义清零变量计时变量11五,源程序的设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYJTDKZISPORT(CLK:INSTD_LOGIC;XLB:INSTD_LOGIC;GSR,GSY,GSG,XLR,XLY,XLG:OUTSTD_LOGIC);ENDENTITYJTDKZ;ARCHITECTUREARTOFJTDKZISTYPESTATE_TYPEIS(A,B,C,D);
4、SIGNALSTATE:STATE_TYPE;BEGINCNT:PROCESS(CLK)ISVARIABLECLR:BIT;--在进程中定义变量CLR(CLR=0:计时清零)VARIABLES:STD_LOGIC_VECTOR(0TO5);--在进程中定义变量S(S为时钟计时器)BEGINIF(CLK'EVENTANDCLK='1')THEN--判断时钟信号上升沿IFCLR='0'THEN--当CLR=0时计时变量清零S:="000000";ELSES:=S+1;ENDIF;CASESTATEIS--状态A为大路通车(绿灯),小路禁止通车(红灯)WHENA=>GSR<='0'
5、;GSY<='0';GSG<='1';BR<='1';BY<='0';BG<='0';IF(XLB='1')THEN--判断小路是否有车IF(S="111011")THEN--判断大路通行是否满60秒STATE<=B;CLR:='0';--大路满60秒,计时清零,转到状态BELSESTATE<=A;CLR:='1';--大路不满60秒,继续状态AENDIF;ELSESTATE<=A;CLR:='1';--小路没车,大路一直通车ENDIF;--状态B为大路禁止通车(黄灯),小路禁止通车(红灯)WHENB=>GSR<='0';GSY<='1';GSG<='0';XLR<='1';X
6、LY<='0';XLG<='0';11IFS="000100"THEN--判断大路黄灯是否满5秒STATE<=C;CLR:='0';--满5秒,计时清零,跳转到C状态ELSESTATE<=B;CLR:='1';--不满5秒继续状态B。ENDIF;--状态C为大路禁止通车(红灯),小路通车(绿灯)WHENC=>GSR<='1';GSY<='0';GSG<='0';XLR<='0';XLY<='0';XLG<='1';IF(XLB='1')THEN--判断小路是否有车IFS="010011"THEN--判断大路通行是否满20秒STATE<=D;CLR:='0';--满20秒,计时清
7、零,跳转到D状态ELSESTATE<=C;CLR:='1';--不满20秒继续状态C。ENDIF;ELSIFXLB='0'THEN--判断小路是否有车STATE<=D;CLR:='0';--小路没车,跳转到状态DELSESTATE<=C;CLR:='1';--小路有车,继续状态CENDIF;--状态D为大路禁止通车(红灯),小路禁止通车(黄灯)WHEND=>GSR<='1';GSY<='0';GSG<='0';XLR<='0';XLY<='1';XLG<='0';IFS="000100"TH
此文档下载收益归作者所有