📄 交通灯.txt
字号:
library IEEE;
use IEEE.std_logic_1164.all;
entity control is
port (
CP: in STD_LOGIC;
RESET: in STD_LOGIC;
SP: in STD_LOGIC;
ANUM: out INTEGER range 0 to 35;
BNUM: out INTEGER range 0 to 35;
COUNT: INOUT INTEGER range 0 to 55;
AG: out STD_LOGIC;
AR: out STD_LOGIC;
AY: out STD_LOGIC;
BG: out STD_LOGIC;
BR: out STD_LOGIC;
BY: out STD_LOGIC;
SOUND: out STD_LOGIC
);
end control;
architecture control_arch of control is
begin
PROCESS(RESET,CP)
BEGIN
IF RESET='1'THEN
COUNT<=0;
ELSIF rising_edge(CP) THEN
IF SP='1' THEN
COUNT<=COUNT;
ELSE
IF COUNT =54 THEN
COUNT<=0;
ELSE
COUNT<= COUNT+1;
END IF;
END IF;
END IF;
END PROCESS;
PROCESS(CP)
BEGIN
IF falling_edge(CP) THEN
IF SP='1' THEN
AR<='1';
AY<='0';
AG<='0';
BR<='1';
BY<='0';
BG<='0';
SOUND<='1';
ELSE
SOUND<='0';
IF COUNT<=29 THEN
ANUM<=30- Count;
AR<='0';
AG<='1';
AY<='0';
ELSIF (Count<=34)THEN
ANUM<=35- Count;
AR<='0';
AG<='0';
AY<='1';
ELSE
ANUM<=55- Count;
AR<='1';
AG<='0';
AY<='0';
END IF;
IF Count<=34 THEN
BNUM<=35- Count;
BR<='1';
BG<='0';
BY<='0';
ELSIF (Count<=49)THEN
BNUM<=50- Count;
BR<='0';
BG<='1';
BY<='0';
ELSE
BNUM<=55- Count;
BR<='0';
BG<='0';
BY<='1';
END IF;
END IF;
END IF;
END PROCESS;
end control_arch;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -