eda实验交通灯

上传人:101****457 文档编号:100178884 上传时间:2019-09-22 格式:DOCX 页数:11 大小:148.41KB
返回 下载 相关 举报
eda实验交通灯_第1页
第1页 / 共11页
eda实验交通灯_第2页
第2页 / 共11页
eda实验交通灯_第3页
第3页 / 共11页
eda实验交通灯_第4页
第4页 / 共11页
eda实验交通灯_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《eda实验交通灯》由会员分享,可在线阅读,更多相关《eda实验交通灯(11页珍藏版)》请在金锄头文库上搜索。

1、 实验: 交通灯(一) 实验目的1、 学习与日常生活相关且较复杂数字系统设计;2、 进一步熟悉EDA实验装置和Quartus软件的使用方法;3、 学习二进制码到BCD码的转换;(二) 设计要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、 有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、 交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、 乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出

2、请求信号S=1,其余时间S=0;4、 平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、 一旦S信号消失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、 控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。(三) 主要仪器设备1、 微机1台2、 QuartusII集成开发软件1套3、 EDA实验装置 1套(四) 实验步骤1. 总体思路:本实验是实现十字交叉路口的交

3、通灯控制器功能,分析每个状态的情况。状态一:主干道绿灯亮,乡干道红灯亮,数码管60s倒计时,计数完后若乡干道有车要求通过,则转到状态二;若没有车要求通过,则继续状态一。状态二:主干道由绿灯变为黄灯亮,乡干道仍然为红灯亮,数码管4s倒计时,计数完后,然后进入状态三。状态三:主干道由黄灯变为红灯亮,乡干道由红灯变为绿灯亮,数码管20s倒计时。若倒计时期间乡干道没有车要求通过,则立即进入状态四;若一直有车要求通过,则最多维持20s之后进入状态四。状态四:主干道仍然为红灯亮,乡干道由绿灯变为黄灯亮,数码管4s倒计时,计数完后,转至状态一。可见,交通灯就是一直循环上述四个状态。2. 模块化分析:把程序的

4、各个部分模块化。1) 分频模块:本实验采用了100HZ的时钟做扫描频率,2.5HZ的时钟做计数频率,故需要2个时钟。P1:process(clk)-分频variable count1:std_logic_vector(7 downto 0);beginif clkevent and clk=1 thencount1:=count1+1;if count120 thenclkk=0;elsif count140 thenclkk=1;else count1:=00000000;clkk Z:=01100000;-60 when 01 = Z:=00100000;-20 when 10 = Z:=

5、00000100;-4 WHEN OTHERS= NULL; end case;if cz=11 or cz=10 or rst=0 then bcd=Z;b=1;else bbcd2:=bcd; WHEN OTHERS= NULL; end case;if rst=1 thenif en=1 then if bcd21 thenif bcd2(3 downto 0)=0000 then -bcd2:=bcd2-7;bcd2(7 downto 4):=bcd2(7 downto 4)-0001;bcd2(3 downto 0):=1001;else bcd2:=bcd2-1;end if;el

6、se if zt=00 then s60=1;s20=0;s4=0;elsif zt=10 then s60=0;s20=1;s4=0;else s60=0;s20=0;s4=1;-else s60=1;s20=1;s4=1;end if;end if;end if;end if;end if;bbccdd case a iswhen 1=cz=00;anull;end case;if s60=1 then if s=1 thenstates=mycr;m=10;zt=01;cz=11;a=1;else cz=10;end if;else cz case a iswhen 1=cz=00;an

7、ull;end case;if s4=1 thenstates=mrcg;m=01;zt=10;cz=11;a=1;else cz case a iswhen 1=cz=00;anull;end case;if (s=0 or (s20=1 and s=1) then states=mrcy;m=10;zt=11;cz=11;a=1;else cz case a iswhen 1=cz=00;anull;end case;if s4=1 then states=mgcr;m=00; zt=00;cz=11;a=1;else cz=00;end if;end case;end if;end pr

8、ocess P3;状态转换的模块封装好的元件符号为:时序仿真图如下:4) 显示模块:完成要显示的数由BCD码转化为相应的数码管七段码,由于数码管采用动态扫描的显示方式,还需要产生位选信号。程序如下:P4:process (clk)-数码管显示variable sseell:std_logic_vector(2 downto 0);beginif clkevent and clk=1 thenif sseell001 thensseell:=sseell+1;else sseell:=000;end if;end if;selxianshixianshinull;end case;CASE xi

9、anshi ISWHEN 0000=qiduanqiduanqiduanqiduanqiduanqiduanqiduanqiduanqiduanqiduan NULL;END CASE;END PROCESS P4;显示模块封装好的元件符号为:时序仿真图如下:3. 顶层原理图:通过例化好的元件符号,在顶层文件中绘制原理图,来综合实现交通灯的整体功能,原理图如下:顶层文件的仿真时序如下:当状态1的60s倒计时完成后s=0,重复状态1当60s倒计时后且s=1,转入状态2由状态2转入状态3由状态3转入状态44. 引脚锁定:把顶层文件的输入输出端口锁定到试验箱上的引脚连线上,引脚锁定图如下:5. 编译成功后,把.sof文件下载到试验箱上,把试验箱上的clk接到100HZ处,观测实验现象。实验现象:1.复位时,起始状态是主绿乡红,数码管从60开始倒计时。2.当60s减1计数完成后,如果s信号为1(代表乡干道有车要求通过)时,变为主黄乡绿状态,数码管4s倒计时;如果s信号为0(代表乡干道没有车要求通过)时, 则回到起始状态,主绿乡红重新60s倒计时。3.4s倒计时后,进入主红乡绿状态,如果此时s信号为0,则立即转入主红乡黄状态;如果s信号一直

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号