⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.txt

📁 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 + -