📄 七段码二极管驱动.txt
字号:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JSYM IS
PORT(CLK:IN STD_LOGIC;
AOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
BOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END ENTITY JSYM;
ARCHITECTURE ART OF JSYM IS
SIGNAL CNT4A:STD_LOGIC_VECTOR(3 DOWNTO 0); --十位数码二极管驱动
SIGNAL CNT4B:STD_LOGIC_VECTOR(3 DOWNTO 0); --个为数码二极管驱动
BEGIN
PROCESS(CLK)IS
VARIABLE R:BIT;
BEGIN
IF CLK'EVENT AND CLK='1'THEN
CNT4B<=CNT4B-1;
IF CNT4B="0000"THEN
CNT4A<=CNT4A-1;
CNT4B<="1001";
END IF;
IF CNT4A="0000"AND R='0'THEN
CNT4A<="0010";
R:='1';
END IF;
IF CNT4A="0000"AND R='1'THEN
CNT4A<="0010";
R:='0';
END IF;
END IF;
END PROCESS;
PROCESS(CNT4A)IS
BEGIN
CASE CNT4A IS
WHEN"0001"=>AOUT<="0111111";
WHEN"0010"=>AOUT<="0000110";
WHEN"0011"=>AOUT<="1011011";
WHEN"0100"=>AOUT<="1001111";
WHEN"0101"=>AOUT<="1100110";
WHEN"0110"=>AOUT<="1101101";
WHEN"0111"=>AOUT<="1111101";
WHEN"1000"=>AOUT<="0000111";
WHEN"1001"=>AOUT<="1111111";
WHEN"1010"=>AOUT<="1101111";
WHEN OTHERS=>AOUT<="0000000";
END CASE;
END PROCESS;
PROCESS(CNT4B)IS
BEGIN
CASE CNT4B IS
WHEN"0001"=>BOUT<="0111111";
WHEN"0010"=>BOUT<="0000110";
WHEN"0011"=>BOUT<="1011011";
WHEN"0100"=>BOUT<="1001111";
WHEN"0101"=>BOUT<="1100110";
WHEN"0110"=>BOUT<="1101101";
WHEN"0111"=>BOUT<="1111101";
WHEN"1000"=>BOUT<="0000111";
WHEN"1001"=>BOUT<="1111111";
WHEN"1010"=>BOUT<="1101111";
WHEN OTHERS=>BOUT<="0000000";
END CASE;
END PROCESS;
END ARCHITECTURE ART;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -