📄 彩灯控制1.txt
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY Ledcontrol IS
PORT (CLK,CLR:IN STD_LOGIC;
Red,Green,Yellow:OUT STD_LOGIC);
END Ledcontrol;
ARCHITECTURE BEHAV OF Ledcontrol IS
TYPE color IS (S0,S1,S2,S3,S4,S5,S6);
SIGNAL Now_STATE,Next_STATE:color;
BEGIN
PROCESS(CLK,CLR)
BEGIN
IF CLR='1' THEN Now_STATE<=S6;
ELSIF CLK'EVENT AND CLK='1' THEN
Now_STATE<=Next_STATE;
END IF;
END PROCESS;
COM1:PROCESS(Now_STATE) BEGIN
CASE Now_STATE IS
WHEN S0=>Next_STATE<=S1;
WHEN S1=>Next_STATE<=S2;
WHEN S2=>Next_STATE<=S3;
WHEN S3=>Next_STATE<=S4;
WHEN S4=>Next_STATE<=S5;
WHEN S5=>Next_STATE<=S6; --全部熄灭
WHEN OTHERS =>Next_STATE<=S0;
END CASE;
END PROCESS COM1;
COM2:PROCESS(Now_STATE) BEGIN
CASE Now_STATE IS
WHEN S0=>RED<='1';GREEN<='0';YELLOW<='0'; --红灯亮2秒
WHEN S1=>RED<='1';GREEN<='0';YELLOW<='0';
WHEN S2=>RED<='0';GREEN<='1';YELLOW<='0'; --绿灯亮3秒
WHEN S3=>RED<='0';GREEN<='1';YELLOW<='0';
WHEN S4=>RED<='0';GREEN<='1';YELLOW<='0';
WHEN S5=>RED<='0';GREEN<='0';YELLOW<='1'; --黄灯亮1秒
WHEN S6=>RED<='0';GREEN<='0';YELLOW<='0'; --复位时的状态(全部熄灭)
WHEN OTHERS =>RED<='0';GREEN<='0';YELLOW<='0';
END CASE;
END PROCESS COM2;
END BEHAV;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -