?? seg7_leddrv.vhd
字號:
--/*****************************************************************************
-- * 源文件: seg7_leddrv.vhd
-- * 模塊: 七段數碼管驅動
-- * 版權:
-- * Copyright(C) 北京聯華眾科科技有限公司
-- * www.lianhua-zhongke.com.cn
-- * 版本: Version 1.0
-- *
-- * 功能說明:
-- * 將輸入的4位BCD數據轉換為七段數碼管的顯示數據,同時根據當前輸
-- * 入dp確定是否顯示小數點,小數點位是數碼管顯示數據的最高位。
-- * 參數說明:
-- * 輸出
-- * seg7led_bits - 七段數碼管的顯示數據,最高位顯示dp,最低位為a
-- *
-- * 輸入
-- * data - 準備顯示的4位BCD數據
-- * dp - 小數點位
-- * reset - 復位信號,低電平有效
-- *
-- * 參數
-- *
-- * 變更記錄:
-- * 2006.01.28, 新建
-- *
-- *****************************************************************************/
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
ENTITY seg7_leddrv IS
PORT
(
seg7led_bits : BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);
data : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
dp : IN STD_LOGIC;
reset : IN STD_LOGIC
);
END seg7_leddrv;
ARCHITECTURE seg7_leddrv_architecture OF seg7_leddrv IS
BEGIN
PROCESS(data, dp, reset)
BEGIN
IF (reset = '0') THEN
seg7led_bits <= "11111111";
ELSE
CASE data IS
WHEN "0000" => seg7led_bits <= "11000000";--顯示0
WHEN "0001" => seg7led_bits <= "11111001";--顯示1
WHEN "0010" => seg7led_bits <= "10100100";--顯示2
WHEN "0011" => seg7led_bits <= "10110000";--顯示3
WHEN "0100" => seg7led_bits <= "10011001";--顯示4
WHEN "0101" => seg7led_bits <= "10010010";--顯示5
WHEN "0110" => seg7led_bits <= "10000010";--顯示6
WHEN "0111" => seg7led_bits <= "11111000";--顯示7
WHEN "1000" => seg7led_bits <= "10000000";--顯示8
WHEN "1001" => seg7led_bits <= "10010000";--顯示9
WHEN "1010" => seg7led_bits <= "10001000";--顯示A
WHEN "1011" => seg7led_bits <= "10000011";--顯示B
WHEN "1100" => seg7led_bits <= "11000110";--顯示C
WHEN "1101" => seg7led_bits <= "10100001";--顯示D
WHEN "1110" => seg7led_bits <= "10000110";--顯示E
WHEN "1111" => seg7led_bits <= "10001110";--顯示F
WHEN OTHERS => seg7led_bits <= "11111111";--全滅
END CASE;
seg7led_bits(7) <= dp;
END IF;
END PROCESS;
END seg7_leddrv_architecture;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -