1 / 12
文档名称:

EDA交通灯课程设计(得过优的哦).doc

格式:doc   大小:1,893KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

EDA交通灯课程设计(得过优的哦).doc

上传人:HShess 2024/4/30 文件大小:1.85 MB

下载得到文件列表

EDA交通灯课程设计(得过优的哦).doc

相关文档

文档介绍

文档介绍:该【EDA交通灯课程设计(得过优的哦) 】是由【HShess】上传分享,文档一共【12】页,该文档可以免费在线阅读,需要了解更多关于【EDA交通灯课程设计(得过优的哦) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。EDA交通灯课程设计(得过优的哦)9EDA交通灯课程设计姓名:XXX学号:*********专业:*******学院:电气与信息工程学院9 、显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。2、每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。3、控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。,故采用LED动态扫描方式显示当前时间。。其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4、为数码管地址选择信号输出端。4设计方法采用文本编辑法,既采用vhdl语言描述交通控制器,代码如下:libraryieee;;;entitytrafficISport(clk1k,SN:instd_logic;led1,led2,led3,led4:outstd_logic_vector(3downto0);--显示管显示时间用light:outstd_logic_vector(5downto0));--红绿黄灯endtraffic;architecturetraffic1oftrafficISsignalS:std_logic_vector(1downto0);--状态2signalDXT:std_logic_vector(7downto0):=X"01";--东西方向时间signalNBX:std_logic_vector(7downto0):=X"01";--南北方向时间signalART,AGT,AYT,BRT,BGT,BYT:std_logic_vector(7downto0);--红绿黄灯信号signalSL:std_logic;signaltemp:integerrange0to1023;--产生1s计数器时计数signalclk:std_logic;beginsL<='1';--红绿灯时间设定ART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k)--选频率为1024HZbeginif(clk1k'eventandclk1k='1')theniftemp=1023thentemp<=0;3clk<='1';elsetemp<=temp+1;clk<='0';endif;endif;endprocess;--进程结束process(clk,DXT,NBX)--状态转换进程beginifclk'eventandclk='1'thenif(DXT="00000001")OR(NBX="00000001")thenS<=S+1;elseS<=S;endif;--状态转换结束endif;endprocess;process(clk,SN,S)--倒计时模块beginifSN='1'thenDXT<=DXT;NBX<=NBX;elseifclk'eventandclk='1'thenif(DXT="0000000")OR(NBX="00000000")then4caseSISwhen"00"=>DXT<=ART;NBX<=BGT;--南北红灯、东西绿灯when"01"=>NBX<=BYT;--南北红灯、东西黄灯when"10"=>DXT<=AGT;NBX<=BRT;--南北绿灯、东西红灯when"11"=>DXT<=AYT;--南北黄灯、东西红灯whenothers=>NULL;endcase;endif;ifDXT/="00000000"thenifDXT(3downto0)="0000"thenDXT(3downto0)<="1001";DXT(7downto4)<=DXT(7downto4)-1;elseDXT(3downto0)<=DXT(3downto0)-1;DXT(7downto4)<=DXT(7downto4);endif;endif;ifNBX/="00000000"thenifNBX(3downto0)="0000"thenNBX(3downto0)<="1001";5NBX(7downto4)<=NBX(7downto4)-1;elseNBX(3downto0)<=NBX(3downto0)-1;NBX(7downto4)<=NBX(7downto4);endif;endif;endif;endif;endprocess;--倒计时模块结束process(SL,DXT,NBX,S,SN)--显示模块begincaseSLISwhen'1'=>led1<=NBX(3downto0);led2<=NBX(7downto4);led3<=DXT(3downto0);led4<=DXT(7downto4);whenothers=>NULL;endcase;ifSN='1'thenlight<="001001";elsecaseSISwhen"00"=>light<="010001";when"01"=>light<="100001";6