集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1330|回复: 2

雾盈FPGA笔记之(七)安全简单易行的按键消抖

[复制链接]
雾盈 发表于 2016-9-10 14:23:56 | 显示全部楼层 |阅读模式
本帖最后由 雾盈 于 2016-9-10 14:25 编辑

基于FPGA 的安全简单可行的按键消抖(Verilog)

雾盈2016-8-5



雾盈FPGA笔记汇总目录


一、写在前面

        还是课程开始的时候,陈老师教的按键消抖,简单易行。

二、按键为什么要消抖?

我们通常所用的按键开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了避免这种现象造成的干扰而作的措施就是按键消抖。
配一张图。




抖动时间的长短由按键的机械特性决定,一般为5ms~20ms。按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保智能单元对按键的一次闭合仅作一次处理,必须消除键抖动。在按键闭合稳定时读取键的状态,并且必须判别到按键释放稳定后再作处理。按键的消抖,可用硬件或软件两种方法,这里主要介绍一下软件的消除方法。




三 程序思路及代码解释


1)思路:

        按键按下,当检测到低电平的时候,计数器开始计数,计数至20ms ,若其中又检测到高电平,说明有抖动,则重新计数。在没有高电平抖动的情况下,计数大于20ms,表示按键稳定。输出一个flag按键标志。
反过来,按键抬起消抖也是同样的道理。

2)这个程序较简单,直接贴源代码。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
Sunlife 发表于 2016-9-11 18:54:51 | 显示全部楼层
                支持
芙蓉王 发表于 2016-9-12 09:22:20 | 显示全部楼层
                   感谢楼主
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 18:40 , Processed in 0.062010 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表