通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。
抖动时间
抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个很重要的时间参数,在很多场合都要用到按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保fpga对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。
图1 按键抖动
fpga内实现消抖的方法
在fpga内实现按键消抖的方法多种多样,但是最简单的是采用移位寄存器的方法进行消抖。因为移位寄存器的方法不需要对时钟进行分频,也不需要进行延时等复杂操作,即可实现对按键边沿的检测。假设未按下时键值=1.
1、在无键按下时,移位寄存器samp[7:0]始终采集到高电平,即samp[7:0]=8'b1111_1111;
2、 当键按下时,samp[7:0]将采集到低电平,数据的变化方式为samp[7:0]=8'b1111_1110--> 8'b1111_1100-->8'b1111_1000--> ........——>8'b0000_0000;samp[7:0]=8'b1111_1110即为按键下降沿。
3、 当松开按键时,samp[7:0]将重新采集到高电平,数据变化方式为samp[7:0]=8'b0000_0001--> 8'b0000_0011--> ........-->8'b1111_1111;当samp[7:0]=8'b0111_1111时,即为按键上升沿。
图2 移位寄存器消抖原理图
国内首条MEMS工艺平台实现量产
变频器调试从正确设置参数开始
海信推出RFID食材管理冰箱,实现独特的1+1》2的技术优势
无人机在医疗领域的实际应用
IT资源投入持续加大,产品化进程提速
FPGA内实现按键消抖的方法
基于多线程编程技术在GPS接收机中的应用研究
新唐科技W79L632A主板简介
衡量自动驾驶的唯一标准 就是可商业化的能力
如何实现锂电池条码识别和文本对比
为迎接即将到来的iPhone 12,新斯宝推出20W PD快充充电器
新品发布 | Semiware新推PLED系列LED开路保护器
TDK推出应用于工业控制领域高的新工艺传感器
LED灯光有恢复肌肉的功能有望治疗渐冻症等神经疾病患者的疾病
高通888/苹果A14/华为麒麟9000的区别对比分析
科学家跨越44公里成功实现高精度量子传送
肥料氮磷钾检测仪的特点有哪些
人工智能年度回顾及2020十大预测
等离子:从工作原理看其优势
恩智浦的i.MX 8M Plus应用处理器全方位赋能工业边缘智能应用