资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用VHDL语言设计交通灯控制器:要求:1.东西方向为主干道,南北方向为副干道.2.主干道通行40秒后,若副干道无车,仍主干道通行,否则转换。3.换向要有4秒黄灯期。4.南北通行时间为20秒,到时间转换,若未到时,仍南北方向。-JTDKZ.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JTDKZ ISPORT(CLK,SM,SB:IN STD_LOGIC;MR,MY0,MG0,BR,BY0,BG0: OUT STD_LOGIC);END ENTITY JTDKZ;ARCHITECTURE ART OF JTDKZ ISTYPE STATE_TYPE IS(A,B,C,D);SIGNAL STATE: STATE_TYPE;BEGINCNT:PROCESS(CLK) ISVARIABLE S:INTEGER RANGE 0 TO 45;VARIABLE CLR,EN:BIT;BEGINIF(CLKEVENT AND CLK=1)THENIF CLR=0THEN S:=0;ELSE IF EN=0 THEN S:=S;ELSE S:=S+1;END IF;CASE STATE ISWHEN A=MR=0; MY0=0;MG0=1;BR=1; BY0=0; BG0=0;IF(SB AND SM)= 1 THENIF S=45 THEN STATE=B;CLR:= 0; EN:= 0;ELSE STATE=A; CLR:= 1; EN:= 1;END IF;ELSE IF(SB AND (NOT SM)= 1 THEN STATE=B;CLR:= 0;EN:= 0;ELSE STATEMR=0; MY0=1;MG0=0;BR=1; BY0=0; BG0=0;IF S=5 THEN STATE=C;CLR:= 0; EN:= 0;ELSE STATEMR=1; MY0=0;MG0=0;BR=0; BY0=0; BG0=1;IF(SM AND SB)= 1 THENIF S=25 THEN STATE=D;CLR:=0; EN:= 0;ELSE STATE=C; CLR:= 1; EN:= 1;END IF;ELSE IF SB=0 THEN STATE=D;CLR:= 0; EN:= 0;ELSE STATEMR=1; MY0=0;MG0=0;BR=0; BY0=1; BG0=0;IF S=5 THEN STATE=A;CLR:= 0; EN:= 0;ELSE STATE=D; CLR:= 1; EN:= 1;END IF;END CASE;END IF;END IF;END PROCESS CNT;END ARCHITECTURE ART;-CNT05S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT05S ISPORT(CLK,EN05M,EN05B:IN STD_LOGIC;DOUT5: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT05S;ARCHITECTURE ART OF CNT05S ISSIGNAL CNT3B: STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINPROCESS(CLK,EN05M,EN05B) ISBEGINIF(CLKEVENT AND CLK= 1)THENIF EN05M=1 THEN CNT3B=CNT3B+1;ELSIF EN05B=1 THEN CNT3B=CNT3B+1;ELSIF EN05B=0 THEN CNT3BDOUT5DOUT5DOUT5DOUT5DOUT5DOUT5=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;-CNT25S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT25S ISPORT(SB,SM,CLK,EN25:IN STD_LOGIC;DOUT25M,DOUT25B: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT25S;ARCHITECTURE ART OF CNT25S ISSIGNAL CNT5B: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINPROCESS(SB,SM,CLK,EN25) ISBEGINIF SB=0 THEN CNT5B=CNT5B-CNT5B-1;ELSE IF (CLKEVENT AND CLK= 1) THENIF EN25=1 THEN CNT5B=CNT5B+1;ELSE CNT5BDOUT25B=00100101;DOUT25MDOUT25B=00100100;DOUT25MDOUT25B=00100011;DOUT25MDOUT25B=00100010;DOUT25MDOUT25B=00100001;DOUT25MDOUT25B=00100000;DOUT25MDOUT25B=00011001;DOUT25MDOUT25B=00011000;DOUT25MDOUT25B=00010111;DOUT25MDOUT25B=00010110;DOUT25MDOUT25B=00010101;DOUT25MDOUT25B=00010100;DOUT25MDOUT25B=00010011;DOUT25MDOUT25B=00010010;DOUT25MDOUT25B=00010001;DOUT25MDOUT25B=00010000;DOUT25MDOUT25B=00001001;DOUT25MDOUT25B=00001000;DOUT25MDOUT25B=00000111;DOUT25MDOUT25B=00000110;DOUT25MDOUT25B=00000101;DOUT25MDOUT25B=00000100;DOUT25MDOUT25B=00000011;DOUT25MDOUT25B=00000010;DOUT25MDOUT25B=00000001;DOUT25MDOUT25B=00000000; DOUT25M=00000000;END CASE;END PROCESS;END ARCHITECTURE ART;-CNT45S.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT45S ISPORT(SB,CLK,EN45:IN STD_LOGIC;DOUT45M,DOUT45B: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CNT45S ;ARCHITECTURE ART OF CNT45S ISSIGNAL CNT6B: STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(SB,CLK,EN45) ISBEGINIF SB=0 THEN CNT6B=CNT6B-CNT6B-1;ELSE IF(CLKEVENT AND CLK= 1)THENIF EN45=1 THEN CNT6B=CNT6B+1;ELSE CNT6BDOUT45M=01000101;DOUT45B=01010
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号