verilog如何用矩阵键盘按三次输入三位数(0-999)?

2019-03-25 07:34发布

verilog如何用矩阵键盘按三次输入三位数(0-999)?
module key4x4
(
     clk,
     rst_n,
     row,                 
     col,               
     key_val         
);
input clk;
input rst_n;
input [3:0] row;      // 矩阵键盘 行
output reg[3:0] col;  // 矩阵键盘 列
output reg[3:0] key_val;  // 键盘值  
按键每按一次只会输出一个数字,连续按需要如下处理:
num=key_val;
key_data=(key_data)*10+num;
这样如何实现????????????
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
小梅哥
2019-03-25 16:25
你这种方式是可行的,但是需要有一个标志信号,即什么时候按键检测成功,因为一次按键按下,键值保持不变,但是你却只能使用一次,所以需要做好这个判断。还有比较好的方式就是用移位寄存器,不过这样出来的会是BCD码格式,需要进行转换。我这里自己做了有实际的例子

一周热门 更多>