打印
[51单片机]

再说按键的硬件消抖

[复制链接]
3933|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
首先,先回答一个问题:知道什么时候按键,还去抖做啥呢?直接让过去不就ok了?
如果这样问,我还真不知该如何应答。为什么要软件消抖?软件消抖时是否知道什么时候按键了。

其次,请大家做个试验:打开记事本,
实验一:一秒钟按一次某个键
实验二:一秒钟按十次某个键
实验三:长按住某个键不放

相关帖子

沙发
yangfan19641964|  楼主 | 2014-1-3 09:53 | 只看该作者
发图

使用特权

评论回复
板凳
yangfan19641964|  楼主 | 2014-1-3 09:54 | 只看该作者
重发

按键消抖.bmp (930.23 KB )

按键消抖.bmp

使用特权

评论回复
地板
yangfan19641964|  楼主 | 2014-1-3 09:59 | 只看该作者
怎么回事。
Ctrl的复位时间,是设计者按照正常按键的速度的经验值实验值

按键消抖.bmp (930.23 KB )

按键消抖.bmp

使用特权

评论回复
5
yangfan19641964|  楼主 | 2014-1-3 10:07 | 只看该作者
我有一次做的项目,只剩一个按键用于预置000~999。软件设计为,按一次增一,按N次增N,长按住不放:前若干时段增一、然后的时段增三、然后增十、然后增20.。。。。逐次增加递增

使用特权

评论回复
6
yangfan19641964|  楼主 | 2014-1-3 10:24 | 只看该作者
你要按住不放,我的软件就判断为连续按了多少次按键。难道非得while(外部事件)?

使用特权

评论回复
7
NE5532| | 2014-1-3 11:16 | 只看该作者
本帖最后由 NE5532 于 2014-1-3 11:19 编辑

楼主的纠结在于没有研究过PC键盘的控制方式,首先PC键盘自己有MCU处理,主机是不用直接扫描按键的,其次,PC键盘采用Key-On,Key-Off的方式工作。

抖动的本质就是机械弹跳,他的特征是出现在按键闭合或弹开的瞬间,软件延时在于“让过”这个弹跳时间,加电容源于对“电容上电压不可突变”的基本理解。软件延时可以通过定时器等中断方式变得不影响其他长时间任务或需要及时处理的任务。加电容是利用了RC充电时间滤除了抖动,带来的问题是端口的上升下降沿变慢,要求端口带有施密特整形输入。

使用特权

评论回复
8
leehp| | 2014-1-3 11:36 | 只看该作者
消抖方面的技术太多了,随便一搜就是一把,软件的硬件的软硬结合的……

使用特权

评论回复
9
yewuyi| | 2014-1-3 11:41 | 只看该作者
如果这个也存疑,那就只能说明基本的模电/数电没学好。

使用特权

评论回复
10
cjseng| | 2014-1-3 11:46 | 只看该作者
不明白楼主要表达什么意思。

使用特权

评论回复
11
moyue| | 2014-1-3 13:27 | 只看该作者
楼主是想问为什么要消抖呢还是怎样消抖呢:o

使用特权

评论回复
12
xuedeyumu| | 2014-1-3 13:46 | 只看该作者
yangfan19641964 发表于 2014-1-3 10:24
你要按住不放,我的软件就判断为连续按了多少次按键。难道非得while(外部事件)? ...

你看一下状态机方式写的按键消抖!

使用特权

评论回复
13
pengdsir| | 2014-1-3 15:10 | 只看该作者
真心不懂在说啥

使用特权

评论回复
14
micropower| | 2014-1-3 20:22 | 只看该作者
第一个问题:如果CPU知道什么时候按键,那还要按键干嘛,直接在那个时间点做相应的处理就行了嘛。

越往下越不明觉厉了!!!!!!!!!!

使用特权

评论回复
15
kseeker| | 2014-1-4 01:20 | 只看该作者
LZ完全没有理解消抖到底是在干什么。“消抖”和“长按”没有任何关系。
PC键盘和这个问题也没有任何关系,用PC键盘做的实验没有任何意义。PC键盘内部的MCU对抖动做了恰当的处理,其输出信号已经是消抖过的。
你的电路对于ctrl为低期间发生的按键动作会给出错误结果,而且按照你设想的ctrl间隔,按键处理存在不必要的延时。

使用特权

评论回复
16
hebin.en| | 2014-1-4 13:58 | 只看该作者
一般软件延时20MS,

使用特权

评论回复
17
pang3dsa| | 2014-1-5 19:31 | 只看该作者
楼主好气派,消抖动能用这样的电路。只有羡慕的份。
在我们这,我要这样用了,老板非劈了我不可。
硬件消抖最多只能并个104电容然后再加个软件延时,没试过这么气派的。
再羡慕一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

121

帖子

1

粉丝