--------------------------------------------------------------------
--Led七段译码器
--共阴
--date:2012.09.27
--------------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity led_7bitdecoder is
port(datain : in std_logic_vector(03 downto 0);
en : in std_logic;
dataout: out std_logic_vector(06 downto 0));
end led_7bitdecoder;
architecture Led_7bit_Decoder of led_7bitdecoder is
signal reg_7 : std_logic_vector(06 downto 0);
begin
process(en,datain,reg_7)
begin
if en='1' then
case datain is
when "0000" => reg_7<="1000000" ; --0
when "0001" => reg_7<="1111001" ; --1
when "0010" => reg_7<="0100100" ; --2
when "0011" => reg_7<="0110000" ; --3
when "0100" => reg_7<="0011001" ; --4
when "0101" => reg_7<="0010010" ; --5
when "0110" => reg_7<="0000011" ; --6
when "0111" => reg_7<="1111000" ; --7
when "1000" => reg_7<="0000000" ; --8
when "1001" => reg_7<="0011000" ; --9
when "1010" => reg_7<="0001000" ; --A
when "1011" => reg_7<="0000011" ; --B
when "1100" => reg_7<="0100111" ; --C
when "1101" => reg_7<="0100001" ; --D
when "1110" => reg_7<="0000110" ; --E
when "1111" => reg_7<="0001110" ; --F
when others => null;
end case;
dataout<=reg_7;
end if;
end process;
--dataout<=reg_7;
end Led_7bit_Decoder;