📄 scan_led.vhd
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY scan_led IS
PORT(clk:IN STD_LOGIC;
sg:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
bt:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END scan_led;
ARCHITECTURE m OF scan_led IS
SIGNAL cnt8:STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL a:INTEGER RANGE 0 TO 15;
BEGIN
p1:PROCESS(cnt8)
BEGIN
CASE cnt8 IS
WHEN "000"=>bt<="00000001";a<=1;
WHEN "001"=>bt<="00000010";a<=3;
WHEN "010"=>bt<="00000100";a<=5;
WHEN "011"=>bt<="00001000";a<=7;
WHEN "100"=>bt<="00010000";a<=9;
WHEN "101"=>bt<="00100000";a<=11;
WHEN "110"=>bt<="01000000";a<=13;
WHEN "111"=>bt<="10000000";a<=15;
WHEN OTHERS=>NULL;
END CASE;
END PROCESS p1;
p2:PROCESS(clk)
BEGIN
IF(clk'EVENT AND clk='1') THEN
IF(cnt8="111") THEN
cnt8<="000";
ELSE
cnt8<=cnt8+1;
END IF;
END IF;
END PROCESS p2;
p3:PROCESS(cnt8)
BEGIN
CASE cnt8 IS
WHEN "000"=>sg<="0000110";
WHEN "001"=>sg<="1001111";
WHEN "010"=>sg<="1101101";
WHEN "011"=>sg<="0000111";
WHEN "100"=>sg<="1100111";
WHEN "101"=>sg<="1111100";
WHEN "110"=>sg<="1011110";
WHEN "111"=>sg<="1110001";
END CASE;
END PROCESS p3;
END m;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -