打印
[开发资料]

单片机消除按键抖动的三种方法及对比

[复制链接]
楼主: laocuo1142
手机看帖
扫描二维码
随时随地手机跟帖
21
loutin| | 2024-2-3 22:32 | 只看该作者 回帖奖励 |倒序浏览
当检测到按键状态变化时,并不是立即响应,而是等待一段时间(通常几个毫秒),然后再次检测按键状态。如果在此期间按键状态没有变化,则确认是一次有效的按键动作;如果状态改变了,则忽略这次信号,继续监测。

使用特权

评论回复
22
caigang13| | 2024-2-4 08:29 | 只看该作者
最简单实用的就是软件滤波,设置滤波阀值。

使用特权

评论回复
23
belindagraham| | 2024-2-4 21:30 | 只看该作者
利用电容的充放电特性,使按键两端的电压平缓变化,直至电容充放电到达一定电压阈值时,单片机才读取到电平变化。

使用特权

评论回复
24
wilhelmina2| | 2024-2-4 21:57 | 只看该作者
通常使用RC滤波器或RS触发器。

使用特权

评论回复
25
yorkbarney| | 2024-2-5 16:59 | 只看该作者
使用软件消抖来处理              

使用特权

评论回复
26
robertesth| | 2024-2-5 17:29 | 只看该作者
在单片机程序中加入延时函数,检测出键闭合后执行一个延时程序,等待按键稳定后再一次检测键的状态。

使用特权

评论回复
27
wwppd| | 2024-2-5 17:59 | 只看该作者
硬件消抖需要额外的电路元件,可能会增加系统的复杂性和成本。

使用特权

评论回复
28
chenjun89| | 2024-2-5 21:52 | 只看该作者
软件防抖滤波最实用

使用特权

评论回复
29
理想阳| | 2024-2-6 01:01 | 只看该作者
另一种方法是在短时间内多次阅读,然后取多个

使用特权

评论回复
30
软核硬核| | 2024-2-6 03:30 | 只看该作者
经由过程利用电路元件(如电阻、电容、二极管或者rs触发器等)来解除按键发抖。

使用特权

评论回复
31
wengh2016| | 2024-2-6 13:21 | 只看该作者
软件消抖会占用单片机的处理时间,降低其使用效率。当按键数量较多时,处理效率可能会进一步降低。

使用特权

评论回复
32
benjaminka| | 2024-2-6 19:27 | 只看该作者
硬件滤波法是通过在硬件层面设计滤波电路来消除按键抖动

使用特权

评论回复
33
sheflynn| | 2024-2-6 19:56 | 只看该作者
相对延时法更精确,不会因固定的延时造成不必要的等待,对系统的实时性影响较小。

使用特权

评论回复
34
mmbs| | 2024-2-6 20:26 | 只看该作者
在按键电路中增加二极管等元件实现硬件消抖,同时在程序中加入软件消抖处理。

使用特权

评论回复
35
bartonalfred| | 2024-2-6 20:55 | 只看该作者
电平检测法是通过在单片机中设置一个定时器,在定时器超时后检测按键电平是否发生变化来消除按键抖动。如果电平发生变化,则认为按键已稳定,可以进行按键处理。

使用特权

评论回复
36
AIsignel| | 2024-2-6 21:15 | 只看该作者
软件稳定实际上是非常实用的

使用特权

评论回复
37
deliahouse887| | 2024-2-6 21:25 | 只看该作者
在检测到按键状态变化后,延迟一段时间再次检测,以确定按键状态是否稳定。

使用特权

评论回复
38
beacherblack| | 2024-2-6 21:54 | 只看该作者
软件滤波法是通过在软件层面编写滤波算法来消除按键抖动

使用特权

评论回复
39
zerorobert| | 2024-2-6 22:23 | 只看该作者
若使用固定硬件滤波,对某些特殊应用场景可能不够灵活。

使用特权

评论回复
40
芯路例程| | 2024-2-6 22:37 | 只看该作者
经常使用的硬件去抖电路包含电阻-电容(rc)滤波电路以及施密特触发器。

使用特权

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

本版积分规则