名称:4x4矩阵键盘设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
4x4矩阵键盘设计
1、设计4x4矩阵键盘控制代码;
2、可以通过键盘依次输入4位数;
3、将输入的数据显示在4个数码管上。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
矩阵键盘模块仿真
数据移位模块仿真
数码管显示模块仿真
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --矩阵键盘 ENTITY key_4x4 IS PORT ( clk_100KHz : IN STD_LOGIC; reset : IN STD_LOGIC; L_row : IN STD_LOGIC_VECTOR(3 DOWNTO 0);--行 H_col : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);--列 key_number : OUT STD_LOGIC_VECTOR(15 DOWNTO 0)--按键键值 ); END key_4x4; ARCHITECTURE trans OF key_4x4 IS CONSTANT s_L_all : INTEGER := 0; CONSTANT s_L_row1 : INTEGER := 1; CONSTANT s_L_row2 : INTEGER := 2; CONSTANT s_L_row3 : INTEGER := 3; CONSTANT s_L_row4 : INTEGER := 4; CONSTANT s_LH : INTEGER := 5; SIGNAL state : INTEGER:= s_L_all;--状态标志 SIGNAL key_flag : STD_LOGIC := '0';--按键标志位 SIGNAL H_col_reg : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--寄存扫描列值 SIGNAL L_row_reg : STD_LOGIC_VECTOR(3 DOWNTO 0) := "0000";--寄存扫描行值 SIGNAL H_and_L : STD_LOGIC_VECTOR(7 DOWNTO 0); -- Declare intermediate signals for referenced outputs SIGNAL H_col_sig : STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL key_number_sig : STD_LOGIC_VECTOR(15 DOWNTO 0);
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=982
阅读全文
853