1、若SM=0、SB=1,此时主干道由绿变黄再变红,而从干道待主干道变红时即变绿;若SM=1、SB=1,此时数码管进行45s倒计时后,转入主黄从红的状态,计时5s后转入主红从绿的状态,计时25s后,在转入主红从黄的状态,最后计时5s后又从新回到主绿从黄的状态。若在状态进行转换的时候SM、SB的状态发生了变化,即按上述SM、SB如何变化进行状态转换。3、状态转移图如下 (仅当SM=1时) SB=0 C45s MGBR MYBR SB=1 5秒后 5秒后 C SB=1 C=N/2-1 THEN CLK1=;CNT=CNT+1; IF CNT=N-1 THEN CLK10=0000000000 END
2、IF; ELSE CLK1MR MY MG -状态一:主绿从红 BR BY BG IF(SB AND SM)= THEN -主从干道都有车时进行45s倒 IF S=45 THEN -计时,计完后转入状态二 STATE -状态二:主黄从红 IF S=5 THEN -5s倒计时,计完转入状态三 =C;CLR:WHEN C= -状态三:主红从绿 IF(SM AND SB)= THEN -主从干道都有车,25s倒计时后转入 IF S=25 THEN -状态四 =D;ELSIF SB= THEN -若从干道此时无车,直接转入状态四 WHEN D= -状态四:主红从黄 IF S=5 THEN -5s倒计时
3、后转入状态一 END CASE; END PROCESS CNT;END ARCHITECTURE ART;-45s延时-CNT45S.VHDENTITY CNT45S IS PORT(SB,CLK,EN45: DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S;ARCHITECTURE ART OF CNT45S IS SIGNAL CNT6B: STD_LOGIC_VECTOR(5 DOWNTO 0); PROCESS(SB,CLK,EN45) IS IF SB=THEN CNT6BDOUT45M010001
4、01 DOUT45B01010000 WHEN 0000010100010001001001000010010000110100100000001101000010010001110001000100000101000110000101010000000001100011100100011100111000001000001101110010010011011000101000110101DOUT45B00000000-25s延时 (与45s延时编程思想一样,这里不做说明了)-CNT25S.VHDENTITY CNT25S IS PORT(SB,SM,CLK,EN25: DOUT25M,DOU
5、T25B:END ENTITY CNT25S;ARCHITECTURE ART OF CNT25S IS SIGNAL CNT5B: STD_LOGIC_VECTOR(4 DOWNTO 0); PROCESS(SB,SM,CLK,EN25) IS OR SM= CNT5B=CNT5B-CNT5B-1;ELSIF(CLK IF EN25=CNT5B+1; ELSIF EN25=THEN PROCESS(CNT5B) IS CASE CNT5B IS00000DOUT25B DOUT25M0000100010000110010000101001100011101000010010101001011
6、01100011010111001111100001000110010100111010010101101101011111000-5s延时 (与45s类似)-CNT05S.VHDENTITY CNT05S IS PORT(CLK,EN05M,EN05B: DOUT5: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT05S;ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B: STD_LOGIC_VECTOR(2 DOWNTO 0); PROCESS(CLK,EN05M,EN05B) IS IF EN05M= OR EN05B= THEN CNT3B=CNT3B+1;000 PROCESS(CNT3B) IS CASE CNT3B ISDOUT5001010011100-DOUT5-数码管显示控制程序-XSKZ.VHDUSE IEEE.STD_LOGIC_11
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1