📄 charlib8_8.vhd
字号:
--/*****************************************************************************-- * 源文件: charlib8_8.vhd-- * 模块: 8*8点字符库-- * 版权:-- * Copyright(C) 北京联华众科科技有限公司-- * www.lianhua-zhongke.com.cn-- * 版本: Version 1.0-- * -- * 功能说明:-- * 将ASCII码数据转换为8*8点阵显示数据-- *-- * 参数说明:-- * 输出-- * row0 - 点阵的 0 行数据-- * row1 - 点阵的 1 行数据-- * row2 - 点阵的 2 行数据-- * row3 - 点阵的 3 行数据-- * row4 - 点阵的 4 行数据-- * row5 - 点阵的 5 行数据-- * row6 - 点阵的 6 行数据-- * row7 - 点阵的 7 行数据-- *-- * 输入-- * ext_char_data - 准备显示的ASCII码-- * ext_char_index - 准备显示的ASCII码的内部索引-- * mode - 确定上面两个输入中哪一个有效-- * 1 - ext_char_data 有效-- * 0 - ext_char_index 有效-- * reset - 复位信号,低电平有效-- *-- * 参数-- * element_count - 本字库中存放在字符个数,在按内部索引检索显示时作-- * 为内部索引的边界 -- *-- * 变更记录: -- * 2006.01.28, 新建-- *-- *****************************************************************************/LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY charlib8_8 IS GENERIC ( element_count : INTEGER:= 222 ); PORT ( row0 : OUT STD_LOGIC_VECTOR(7 downto 0); row1 : OUT STD_LOGIC_VECTOR(7 downto 0); row2 : OUT STD_LOGIC_VECTOR(7 downto 0); row3 : OUT STD_LOGIC_VECTOR(7 downto 0); row4 : OUT STD_LOGIC_VECTOR(7 downto 0); row5 : OUT STD_LOGIC_VECTOR(7 downto 0); row6 : OUT STD_LOGIC_VECTOR(7 downto 0); row7 : OUT STD_LOGIC_VECTOR(7 downto 0); ext_char_data : IN STD_LOGIC_VECTOR(7 downto 0); ext_char_index : IN STD_LOGIC_VECTOR(7 downto 0); mode : IN STD_LOGIC; reset : IN STD_LOGIC );END charlib8_8;ARCHITECTURE charlib8_8_architecture OF charlib8_8 IS BEGIN PROCESS(ext_char_data, ext_char_index, mode, reset) BEGIN IF (reset = '0') THEN row0 <= "00000000"; row1 <= "00000000"; row2 <= "00000000"; row3 <= "00000000"; row4 <= "00000000"; row5 <= "00000000"; row6 <= "00000000"; row7 <= "00000000"; ELSE IF (mode = '0') THEN row0 <= "00000000"; row1 <= "00000000"; row2 <= "00000000"; row3 <= "00000000"; row4 <= "00000000"; row5 <= "00000000"; row6 <= "00000000"; row7 <= "00000000"; ELSE CASE ext_char_data IS WHEN X"30" => row0 <= "00111000";row1 <= "01000100";row2 <= "01000100";row3 <= "01000100";row4 <= "01000100";row5 <= "01000100";row6 <= "01000100";row7 <= "00111000"; WHEN X"31" => row0 <= "00110000";row1 <= "00010000";row2 <= "00010000";row3 <= "00010000";row4 <= "00010000";row5 <= "00010000";row6 <= "00010000";row7 <= "00111000"; WHEN X"32" => row0 <= "00111000";row1 <= "01000100";row2 <= "00000100";row3 <= "00000100";row4 <= "00001000";row5 <= "00010000";row6 <= "00100010";row7 <= "01111100"; WHEN X"33" => row0 <= "00111000";row1 <= "01000100";row2 <= "00000100";row3 <= "00011000";row4 <= "00000100";row5 <= "00000100";row6 <= "00000100";row7 <= "01111000"; WHEN X"34" => row0 <= "00001000";row1 <= "00011000";row2 <= "00101000";row3 <= "00101000";row4 <= "01001000";row5 <= "01111100";row6 <= "00001000";row7 <= "00001000"; WHEN X"35" => row0 <= "00011100";row1 <= "00100000";row2 <= "00110000";row3 <= "00001000";row4 <= "00000100";row5 <= "00000100";row6 <= "00000100";row7 <= "01111000"; --WHEN X"36" => --row <= "00001100";--row <= "00110000";--row <= "00100000";--row <= "01011000";--row <= "01100100";--row <= "01000100";--row <= "01000100";--row <= "00111000"; --WHEN X"37" => --row0 <= "00111100";--row1 <= "01000100";--row2 <= "00000100";--row3 <= "00001000";--row4 <= "00001000";--row5 <= "00001000";--row6 <= "00010000";--row7 <= "00010000"; --WHEN X"38" => --row0 <= "00111000";--row1 <= "01000100";--row2 <= "01000100";--row3 <= "00111000";--row4 <= "00101000";--row5 <= "01000100";--row6 <= "01000100";--row7 <= "00111000"; --WHEN X"39" => --row0 <= "00111000";--row1 <= "01000100";--row2 <= "01000100";--row3 <= "01000100";--row4 <= "00111100";--row5 <= "00001000";--row6 <= "00011000";--row7 <= "01100000"; WHEN OTHERS =>row0 <= "00000000";row1 <= "00000000";row2 <= "00000000";row3 <= "00000000";row4 <= "00000000";row5 <= "00000000";row6 <= "00000000";row7 <= "00000000"; END CASE; END IF; END IF; END PROCESS;END charlib8_8_architecture;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -