基于状态机的交通灯控制

上传人:lil****ar 文档编号:288324791 上传时间:2022-05-05 格式:DOCX 页数:5 大小:13.24KB
返回 下载 相关 举报
基于状态机的交通灯控制_第1页
第1页 / 共5页
基于状态机的交通灯控制_第2页
第2页 / 共5页
基于状态机的交通灯控制_第3页
第3页 / 共5页
基于状态机的交通灯控制_第4页
第4页 / 共5页
基于状态机的交通灯控制_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于状态机的交通灯控制》由会员分享,可在线阅读,更多相关《基于状态机的交通灯控制(5页珍藏版)》请在金锄头文库上搜索。

1、实验三:基于状态机的交通灯控制设计要求:1、 开发板上三个led等分别代表公路上红黄绿三种颜色交通灯,D3代表红灯,D5代表黄灯,D7代表绿灯 。D3,D5,D7 对应开发板的IO口为120,118,116 。2、 交通灯状态机初始状态为红灯,交通灯工作过程依次是红 绿 黄 红。3、 为了方便观察,本次实验要求红灯的显示时间为9s,绿灯显示时间为6s ,黄灯显示时间为3s ,时间需要倒计时,在数码管Q4上显示。Q4的使能端(低电平有效)对应开发板IO口为168,八段led对应IO口为 AH (144,158,162,160,159,156,163,161)。4、 编程之前要求同学们先画好ASM

2、图。5、 1Hz分频模块请采用第二次实验中的内容(文件夹中的clk_1s.vhd),7段码显示模块请参考书本151页内容。附:八段led译码列表 : A B C D E F G H00 0 0 0 0 0 1 011 0 0 1 1 1 1 02 0 0 1 0 0 1 0 03 0 0 0 0 1 1 0 041 0 0 1 1 0 0 050 1 0 0 1 0 0 06 0 1 0 0 0 0 0 070 0 0 1 1 1 1 08 0 0 0 0 0 0 0 09 0 0 0 0 1 0 0 0Library ieee;Use ieee.std_logic_1164.all;Enti

3、ty traffic isPort(clk:IN std_logic; q4:OUT std_logic; seven_seg_input:OUT std_logic_vector(7 downto 0); light_RGY:OUT std_logic_vector(2 downto 0);End traffic;Architecture behav of traffic isSignal seven_seg_input_reg:std_logic_vector(7 downto 0);Signal time:integer RANGE 0 to 49999999;-Signal q:std

4、_logic;Signal light_time:integer RANGE 0 to 17;Type state_type is(R,G,Y);Signal light_state:state_type;Beginq4 seven_seg_input_reg=00001001;light_state seven_seg_input_reg=00000001;light_state seven_seg_input_reg=00011111;light_state seven_seg_input_reg=01000001;light_state seven_seg_input_reg=01001

5、001;light_state seven_seg_input_reg=10011001;light_state seven_seg_input_reg=00001101;light_state seven_seg_input_reg=00100101;light_state seven_seg_input_reg=10011111;light_state seven_seg_input_reg=01000001;light_state seven_seg_input_reg=01001001;light_state seven_seg_input_reg=10011001;light_sta

6、te seven_seg_input_reg=00001101;light_state seven_seg_input_reg=00100101;light_state seven_seg_input_reg=10011111;light_state seven_seg_input_reg=00001101;light_state seven_seg_input_reg=00100101;light_state seven_seg_input_reg=10011111;light_state seven_seg_input_reg=00000011;end case;seven_seg_inp

7、ut=seven_seg_input_reg;end process;-seqseq:process(clk)beginif rising_edge(clk) thentime= 25000000 then -q=1;if time=49999999 then -time=0;end if;elseq=0;end if;end if;end process seq;-ns:ns:process(q)beginif(rising_edge(q)thenlight_time=light_time + 1;if light_time = 17 thenlight_timelight_RGYlight_RGYlight_RGY=001;end case;end process op;end behav;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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