【FPGA实例】FPGA矩阵键盘驱动设计及Testbench验证

本文介绍了FPGA矩阵键盘驱动设计的思路和工作过程。设计中使用20ms延时电路产生扫描时钟,简化了RTL设计。在工作过程中,ROW作为输入,COL作为输出,通过扫描COL的低电平和ROW的高电平变化来确定按键位置。Verilog HDL实现部分详细描述了如何通过行和列的扫描来检测按键。
摘要由CSDN通过智能技术生成

FPGA矩阵键盘驱动设计及Testbench验证

FPGA矩阵键盘驱动设计

设计思路

采用20ms的延时电路产生使能时钟去扫描,可以直接省略掉按键的消抖延时;虽然每个状态都要进行一次延时消抖,但RTL设计上却更加简单了。

工作过程

  1. ROW[3:0]作为处理器的输入,COL[3:0]作为处理器的输出;
  2. 闲置状态下,COL[3:0]输出低电平;ROW[3:0]由于上拉电阻的原因输出高电平;
  3. 当某一按键被按下时,相应的行被拉低,ROW[3:0]中的某一个引脚检测到低电平,此时确定了按键所在的行;
  4. 为了检测哪一列被按下,人为将COL[3:0]逐个设置为低电平,其他3个I/O为高电平,扫描顺序为由高位到低位,即从左到右,进行扫描。如果检测到此时的ROW[3:0]的值与先前的一样,则确定了闭合按键的所在列。最多扫描4次,便能确定按键位置。

矩阵键盘的Verilog HDL实现

 * All rights Reserved, Designed By https://blog.csdn.net/zhaogoudan
 * @description   :Matrix key scan design  
 * @author 			:ZhaoGoudan     
 * @date   			:21.01.14
 * @version 		:V1.0.0
 * @copy
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值