什么是独立按钮?通过软件消除抖动的方法有哪些?

独立按钮相对于矩阵按钮。

他们指的是一个按钮占用一个GPIO端口的情况。

它主要用于按钮数量相对较少的场合。

用作按钮输入以实现产品的人机交互。

例如,洗衣机的面板按钮,电饭锅的按钮等。

按键通常由机械按键实现,根据其是否为自锁式按键,可以分为自锁键和非自锁键。

锁定。

自锁按钮,导通和断开需要两个按钮动作。

第一次按下该按钮时,它处于开/关状态,释放后保持该状态,并且在第二次按下后实现复位。

释放按钮后,它将重置而不是自锁按钮。

如果要保持状态,则需要持续按一下。

机械键是通过接触和断开簧片来切换的,因此按下和弹跳时它们会抖动。

如果不处理抖动,将会发生故障。

因此,机械键的去抖动处理是必要的。

如下所示。

按下并弹出时会发生抖动。

通常,抖动会持续5-10ms。

在按钮检测期间,如果未对程序进行过滤,则会有多个按钮误触发。

那么如何设计防抖程序呢?在学习单片机的早期阶段,许多例程告诉我们使用延迟方法来消除抖动。

思路如下:当检测到按钮动作时,首先延迟10ms,然后执行按钮检测,如果仍然检测到按钮动作,则延迟时间为10ms时,如果仍然可以检测到按键,则延迟时间为10ms。

认为已发生按键操作。

这种方法最容易理解,但是浪费资源。

不建议使用。

设计产品时,通常使用以下两种方法。

第一种方法是定义密钥计数变量和标志位。

当检测到按键时,让按键计数变量自己增加。

如果判断密钥计数器的值大于某个值,则标志位将为1,否则标志位将被清除。

第二种方式。

使用计时器中断,设置10ms计时变量,在发生按钮时启动计时器,并在10ms之后进入中断以再次检测按钮事件。

如果仍然检测到该按钮,则表示该按钮有效。

上述防抖方案可以根据实际情况进行优化。

免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!

联系方式

NITSUKO日通工公司致力于设计、制造和生产。金属化薄膜电容器的销售始于80多年前。我国电容器在海外市场的良好声誉以及国内市场使我们成为最大和最有经验的供应商之一。我们实际制造的金属化薄膜电容在2000达到了25亿。通过我们的经验,我们可以满足任何需求。知识和广博的资源成为客户的首选。

查看详情

在线咨询