📄 jtdkz.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY JTDKZ IS
PORT(CLK,SB:IN STD_LOGIC;
MR,MY0,MG0,BR,BY0,BG0:OUT STD_LOGIC);
END JTDKZ;
ARCHITECTURE art OF JTDKZ IS
TYPE STATE_TYPE IS(A,B,C,D);
SIGNAL STATE:STATE_TYPE;
BEGIN
CNT:PROCESS(SB,CLK)IS
VARIABLE S:INTEGER RANGE 1 TO 45;
BEGIN
IF(CLK'EVENT AND CLK='1')THEN
CASE STATE IS
WHEN A=>MR<='0';MY0<='0';MG0<='1';BR<='1';BY0<='0';BG0<='0';
IF SB='1'THEN
IF S=45 THEN STATE<=B;S:=1;
ELSE STATE<=A;S:=S+1;
END IF;
ELSIF SB='0'THEN STATE<=A;
IF S=45 THEN S:=S;
ELSE S:=S+1;
END IF;
END IF;
WHEN B=>MR<='0';MY0<='1';MG0<='0';BR<='1';BY0<='0';BG0<='0';
IF S=5 THEN STATE<=C;S:=1;
ELSE STATE<=B;S:=S+1;
END IF;
WHEN C=>MR<='1';MY0<='0';MG0<='0';BR<='0';BY0<='0';BG0<='1';
IF S=25 THEN STATE<=D;S:=1;
ELSE STATE<=C;S:=S+1;
END IF;
WHEN D=>MR<='1';MY0<='0';MG0<='0';BR<='0';BY0<='1';BG0<='0';
IF S=5 THEN STATE<=A;S:=1;
ELSE STATE<=D;S:=S+1;
END IF;
END CASE;
END IF;
END PROCESS CNT;
END art;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -