📄 led.txt
字号:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity led is
Port ( clkl: in std_logic;
en : out std_logic;
data_lin:in std_logic_vector(7 downto 0);
a : out std_logic_vector(1 downto 0);
seg : out std_logic_vector(7 downto 0) );
end led;
architecture Behavioral of led is
signal Seg1,Seg2 : std_logic_vector(7 downto 0);
signal scan : std_logic_vector(17 downto 0);
signal scan_clkl: std_logic;
begin
process(clkl)
begin
if (clkl'event and clkl='1') then
scan<=scan+1;
end if;
end process;
scan_clkl<=scan(17);
process(scan_clkl,Seg1,Seg2)
begin
case scan_clkl is
when '0'=>
seg<=Seg1;
a<="01";
when '1'=>
seg<=Seg2;
a<="10";
when others=>seg<="11111111";a<="00";
end case;
end process;
process(data_lin(3 downto 0))
begin
case data_lin(3 downto 0) is
when "0000" =>Seg1<="00000011";--0
when "0001" =>Seg1<="10011111";--1
when "0010" =>Seg1<="00100101";--2
when "0011" =>Seg1<="00001101";--3
when "0100" =>Seg1<="10011001";--4
when "0101" =>Seg1<="01001001";--5
when "0110" =>Seg1<="01000001";--6
when "0111" =>Seg1<="00011111";--7
when "1000" =>Seg1<="00000001";--8
when "1001" =>Seg1<="00001001";--9
when "1010" =>Seg1<="00010001";--A
when "1011" =>Seg1<="11000001";--b
when "1100" =>Seg1<="01100011";--C
when "1101" =>Seg1<="10000101";--d
when "1110" =>Seg1<="01100001";--E
when "1111" =>Seg1<="01110001";--F
when others =>Seg1<="11111111";
end case;
end process;
process(data_lin(7 downto 4))
begin
case data_lin(7 downto 4) is
when "0000" =>Seg2<="00000011";--0
when "0001" =>Seg2<="10011111";--1
when "0010" =>Seg2<="00100101";--2
when "0011" =>Seg2<="00001101";--3
when "0100" =>Seg2<="10011001";--4
when "0101" =>Seg2<="01001001";--5
when "0110" =>Seg2<="01000001";--6
when "0111" =>Seg2<="00011111";--7
when "1000" =>Seg2<="00000001";--8
when "1001" =>Seg2<="00001001";--9
when "1010" =>Seg2<="00010001";--A
when "1011" =>Seg2<="11000001";--b
when "1100" =>Seg2<="01100011";--C
when "1101" =>Seg2<="10000101";--d
when "1110" =>Seg2<="01100001";--E
when "1111" =>Seg2<="01110001";--F
when others =>Seg2<="11111111";
end case;
end process;
en<= '0';
end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -