这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 分享一个FPGA矩阵键盘实例

共4条 1/1 1 跳转至

分享一个FPGA矩阵键盘实例

助工
2014-11-06 22:16:37     打赏
最近学习了一个FPGA检测矩阵键盘的实例,分享给大家。
`timescale 1ns / 1ps
module KEY4(clk,A,B,R);

input clk;
input  [3:0] A;
output [3:0] B;
output [3:0] R;//开发板的数码管有译码电路,直接输出二进制数即可。
reg [1:0] c;
reg [3:0] R,B;
always@(posedge clk)
 begin 
 c<=c+1;
 case(c)
  0: B=4'B0111;
  1: B=4'B1011;
  2: B=4'B1101;
  3: B=4'B1110;
 
 endcase 
 
 case({B,A})
  8'B0111_1110 : R=4'H0;
  8'B0111_1101 : R=4'H1;
  8'B0111_1011 : R=4'h2;
  8'B0111_0111 : R=4'h3;
  8'B1011_1110 : R=4'H4;
  8'B1011_1101 : R=4'H5;
  8'B1011_1011 : R=4'H6;
  8'B1011_0111 : R=4'H7;
  8'B1101_1110 : R=4'H8;
  8'B1101_1101 : R=4'H9;
  8'B1101_1011 : R=4'HA;
  8'B1101_0111 : R=4'HB;
  8'B1110_1110 : R=4'HC;
  8'B1110_1101 : R=4'HD;
  8'B1110_1011 : R=4'HE;
  8'B1110_0111 : R=4'HF;
  endcase 
end 
endmodule   
  

 




关键词: FPGA    

院士
2014-11-07 10:11:22     打赏
2楼
感谢~~~

助工
2014-11-07 19:02:49     打赏
3楼

juzhengjianpan

这是实验现象:http://v.youku.com/v_show/id_XODIwNzY3Nzgw.html

矩阵键盘很常用,检测按键按下的原理比较简单。(我的开发板上是有上啦电阻的,)首先向B端口轮流输出4位二进制1110,1101,1011,0111.如果有按键按下,A端口就会输出相应的电平。比如向B端口输入1110时,按下按键,检测到A端口为1110,则按键码{B,A}为1110_1110。就可表示相应的按键按下。当然,这代码没加消抖,还有改进空间。


菜鸟
2014-12-27 12:35:08     打赏
4楼
感谢楼主、

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]