--控制模块,keepmudoe

--控制模块,keepmudoe

ID:15057273

大小:470.00 KB

页数:9页

时间:2018-08-01

--控制模块,keepmudoe_第1页
--控制模块,keepmudoe_第2页
--控制模块,keepmudoe_第3页
--控制模块,keepmudoe_第4页
--控制模块,keepmudoe_第5页
资源描述:

《--控制模块,keepmudoe》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、----------控制模块,keepmudoelibraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitykeepisport(alarm,b,clk,reset,jeep:instd_logic;key:instd_logic_vector(2downto0);ns,ew:outstd_logic_vector(2downto0);--两个方向的红、黄、绿。c:outstd_logic_vector(1downto0)

2、;--状态输出端00,01,10,11nsh,nsl,ewh,ewl:outstd_logic_vector(3downto0);en:outstd_logic);--;endkeep;architecturekeep_arcofkeepistypestate_typeis(s0,s1,s2,s3,s4);typemode_typeis(m1,m2,m3,m4);signalcurrent_state:state_type;signalnew_state:state_type;signalmode:mode_ty

3、pe;signalnsh_c,nsl_c,ewh_c,ewl_c:std_logic_vector(3downto0);beginnewstate_logic:process(current_state,b,alarm,reset,clk,mode)variablem:integerrange0to3;begin------------------------------------------------------------------------------------------------------

4、-----------------------------if(clk'eventandclk='1')thencurrent_state<=new_state;if(key="100")thenen<='0';casemodeiswhenm1=>mode<=m2;ewl<=ewl_c;whenm2=>mode<=m3;ewh<=ewh_c;whenm3=>mode<=m4;nsl<=nsl_c;whenm4=>mode<=m1;nsh<=nsh_c;whenothers=>null;endcase;------

5、-------------------------------------------------elsif(key="010")thenen<='0';casemodeiswhenm1=>--en<='0';if(ewl_c="1001")thenewl_c<="0000";elseewl_c<=ewl_c+'1';endif;whenm2=>--en<='0';if(ewh_c="1001")thenewh_c<="0000";elseewh_c<=ewh_c+'1';endif;whenm3=>--en<=

6、'0';if(nsl_c="1001")thennsl_c<="0000";elsensl_c<=nsl_c+'1';endif;whenm4=>--en<='0';if(nsh_c="1001")thennsh_c<="0000";elsensh_c<=nsh_c+'1';endif;whenothers=>null;endcase;------------------------------------------------------------------------------------------

7、------------------------------------------elsif(key="001")thenen<='1';-------------------------------------------------if(alarm='1')thennew_state<=s0;----紧急报警状态elseif(reset='1')thennew_state<=s1;----------------通电复位后给交通灯状态赋初值elsecasecurrent_stateiswhens1=>m:=

8、0;if(b='1'andjeep='0')then---当计数到20s且无紧急情况时,交通灯跳至下一状态new_state<=s2;--elsif(a='1')thennew_state<=s0;-----有紧急情况时,交通灯变为紧急状态elsenew_state<=s1;------------------计时未到的时候保持原状态不变endif;whens2=>m:=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。