欢迎来到天天文库
浏览记录
ID:39076473
大小:135.00 KB
页数:18页
时间:2019-06-24
《交通灯实验报告参考》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、5.6交通灯控制器程序设计与仿真实验1.实验目的完成交通灯控制器的设计,掌握状态机的使用。2.实验原理在十字路口,每条道路各有一组红,黄,绿和倒计时显示器,用以指挥车辆和行人有序的通行。其中,红灯亮表示该道路禁止通行;黄灯亮表示停车;绿灯亮表示可以通行;倒计时显示器是用来显示允许通行或是禁止通行的时间。根据交通灯的工作方式,设计的交通灯由两组红绿灯信号控制四组交通灯,其中处于同一个方向的交通灯共用一组红绿灯信号。显示顺序为:方向一为黄灯、红灯、绿灯,方向二为绿灯、黄灯,红灯。‘0’表示灯亮,‘1’表示灯熄。其中绿灯,黄灯
2、,红灯的持续时间分别为25秒,5秒,20秒。寄存器传输级(RTL,用基本的寄存器和门电路搭成的电路)电路图如图5.6.1所示,CLK为信号灯提供秒输入信号;信号灯模块实现交通灯控制的逻辑功能。图5.6.1系统设计原理图3.实验内容(1)完成信号灯模块的设计,并仿真。(2)设计顶层文件,实现交通灯控制器的设计。(3)为顶层文件建立引脚配置文件,下载进行硬件测试。4.程序设计与仿真(1)源程序①信号灯模块corna(corna.vhd),信号灯模块corna源程序如下:180libraryIEEE;useIEEE.STD_L
3、OGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitycornaisPort(clk:instd_logic;r:outstd_logic;g:outstd_logic;y:outstd_logic;timh:outstd_logic_vector(3downto0);timl:outstd_logic_vector(3downto0));endcorna;architectureBehavioralofcornais
4、typergyis(yellow,green,red);--初态为黄灯beginprocess(clk)variablea:std_logic:='0';variableth,tl:std_logic_vector(3downto0);--计数高低位variablestate:rgy;beginifclk'eventandclk='1'thencasestateis--状态机开始whengreen=>ifa='0'thenth:="0010";tl:="0100";a:='1';g<='0';r<='1';elseifn
5、ot(th="0000"andtl="0001")then--if语句处理显示时间iftl="0000"thentl:="1001";th:=th-1;elsetl:=tl-1;endif;elseth:="0000";tl:="0000";a:='0';state:=yellow;180endif;endif;whenred=>ifa='0'thenth:="0001";tl:="1001";a:='1';r<='0';y<='1';elseifnot(th="0000"andtl="0001")theniftl="0
6、000"thentl:="1001";th:=th-1;elsetl:=tl-1;endif;elseth:="0000";tl:="0000";a:='0';state:=green;endif;endif;whenyellow=>ifa='0'thenth:="0000";tl:="0100";a:='1';g<='1';--初始态的设置,黄灯亮,绿灯,红灯熄。y<='0';r<='1';elseifnot(th="0000"andtl="0001")theniftl="0000"thentl:="1001";th:
7、=th-1;elsetl:=tl-1;endif;elseth:="0000";tl:="0000";a:='0';180state:=red;endif;endif;endcase;endif;timh<=th;timl<=tl;endprocess;endBehavioral;②信号灯模块cornb(cornb.vhd),信号灯模块cornb源程序如下,模块cornb和模块corna程序很相近,只是状态的初态不同,这在仿真结果中可以看到。libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;u
8、seIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitycornbisPort(clk:instd_logic;r:outstd_logic;g:outstd_logic;y:outstd_logic;timh:outstd_logic_vect
此文档下载收益归作者所有