📄 ledflash.vhd
字号:
--*************************************************************************************--
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity ledflash is
port(clkin:in std_logic; --2HZ
LED :out std_logic_vector(12 downto 1)
);
end entity;
architecture arc of ledflash is
begin
process(clkin)
variable count:integer range 0 to 31;
begin
if (clkin'event and clkin='1') then
case count is
when 0 => LED(12 downto 1) <= "111111111111"; count := count + 1;
when 1 => LED(12 downto 1) <= "111111111110"; count := count + 1;
when 2 => LED(12 downto 1) <= "111111111100"; count := count + 1;
when 3 => LED(12 downto 1) <= "111111111000"; count := count + 1;
when 4 => LED(12 downto 1) <= "111111110000"; count := count + 1;
when 5 => LED(12 downto 1) <= "111111100000"; count := count + 1;
when 6 => LED(12 downto 1) <= "111111000000"; count := count + 1;
when 7 => LED(12 downto 1) <= "111110000000"; count := count + 1;
when 8 => LED(12 downto 1) <= "111100000000"; count := count + 1;
when 9 => LED(12 downto 1) <= "111000000000"; count := count + 1;
when 10 => LED(12 downto 1) <= "110000000000"; count := count + 1;
when 11 => LED(12 downto 1) <= "100000000000"; count := count + 1;
when 12 => LED(12 downto 1) <= "000000000000"; count := count + 1;
when 13 => LED(12 downto 1) <= "111111111111"; count := count + 1;
when 14 => LED(12 downto 1) <= "000000000000"; count := count + 1;
when 15 => LED(12 downto 1) <= "111111111111"; count := count + 1;
when 16 => LED(12 downto 1) <= "000000000000"; count := count + 1;
when 17 => LED(12 downto 1) <= "100000000000"; count := count + 1;
when 18 => LED(12 downto 1) <= "110000000000"; count := count + 1;
when 19 => LED(12 downto 1) <= "111000000000"; count := count + 1;
when 20 => LED(12 downto 1) <= "111100000000"; count := count + 1;
when 21 => LED(12 downto 1) <= "111110000000"; count := count + 1;
when 22 => LED(12 downto 1) <= "111111000000"; count := count + 1;
when 23 => LED(12 downto 1) <= "111111100000"; count := count + 1;
when 24 => LED(12 downto 1) <= "111111110000"; count := count + 1;
when 25 => LED(12 downto 1) <= "111111111000"; count := count + 1;
when 26 => LED(12 downto 1) <= "111111111100"; count := count + 1;
when 27 => LED(12 downto 1) <= "111111111110"; count := count + 1;
when 28 => LED(12 downto 1) <= "111111111111"; count := count + 1;
when 29 => LED(12 downto 1) <= "000000000000"; count := count + 1;
when 30 => LED(12 downto 1) <= "111111111111"; count := count + 1;
when 31 => LED(12 downto 1) <= "000000000000"; count := 0;
when others => count := 0;
end case;
end if;
end process;
end arc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -