4x4矩阵键盘扫描fpga 基于FPGA的4*4矩阵键盘的扫描程序
发布时间:2017-05-31
来源:服务器之家
1、思想
行线全部接上拉电阻,列线接输出IO口;
step0:列线全部置0,检测行线是否有按键按下,如果有按键按下,行线输入不等于F;进入step1;
step1:~step4:依次将列线置0,检测行线输入,记录按键的编码值
2、实验代码
1module key
3(
clk, //50MHZ
reset,
row, //行
col, //列
key_value //键值
15);
17input clk,reset;
input [3:0] row;
output [3:0] col;
output [3:0] key_value;
reg [3:0] col;
reg [3:0] key_value;
reg [5:0] count;//delay_20ms
reg [2:0] state; //状态标志
reg key_flag; //按键标志位
reg clk_500khz; //500KHZ时钟信号
reg [3:0] col_reg; //寄存扫描列值
reg [3:0] row_reg; //寄存扫描行值
43always @(posedge clk or negedge reset)
if(!reset) begin clk_500khz<