📄 display_8_led.vhd
字号:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_UNSIGNED.ALL;
ENTITY display_8_led IS
PORT( clk:IN STD_LOGIC;
d0:IN std_logic_vector(3 DOWNTO 0);
d1:IN std_logic_vector(3 DOWNTO 0);
d2:IN std_logic_vector(3 DOWNTO 0);
d3:IN std_logic_vector(3 DOWNTO 0);
led:OUT std_logic_vector(6 DOWNTO 0);
sel:OUT std_logic_vector(2 DOWNTO 0));
END display_8_led;
ARCHITECTURE art OF display_8_led IS
SIGNAL q:std_logic_vector(5 DOWNTO 0);
SIGNAL s:std_logic_vector(2 DOWNTO 0);
SIGNAL num:std_logic_vector(3 DOWNTO 0);
BEGIN
s<=q(5 DOWNTO 3);
PROCESS(clk)
BEGIN
IF(clk'event AND clk='1')THEN
IF(q="111111")THEN
q<="000000";
ELSE
q<=q+'1';
END IF;
END IF;
END PROCESS;
PROCESS(d0,d1,d2,d3,clk)
BEGIN
IF(clk'event AND clk='1')THEN
IF s="000" THEN
num<=d0;
sel<="000";
ELSIF s="001" THEN
num<=d1;
sel<="001";
ELSIF s="010" THEN
num<=d2;
sel<="010";
ELSIF s="011" THEN
num<=d3;
sel<="011";
END IF;
END IF;
END PROCESS;
led<="0111111" WHEN num=0 ELSE
"0000110" WHEN num=1 ELSE
"1011011" WHEN num=2 ELSE
"1001111" WHEN num=3 ELSE
"1100110" WHEN num=4 ELSE
"1101101" WHEN num=5 ELSE
"1111101" WHEN num=6 ELSE
"0000111" WHEN num=7 ELSE
"1111111" WHEN num=8 ELSE
"1101111" WHEN num=9 ELSE
"1110111" WHEN num=10 ELSE
"1111100" WHEN num=11 ELSE
"0111001" WHEN num=12 ELSE
"1011110" WHEN num=13 ELSE
"1111001" WHEN num=14 ELSE
"1110001" WHEN num=15 ELSE
"0000000";
END art;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -