打印
[技术问答]

单片机按键去抖

[复制链接]
57|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
loutin|  楼主 | 2025-2-23 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
若不进行“按键去抖”,单片机在接收按键开关按压带来的一连串电平信息,,这种抖动一般在10ms作用,会导致单片机判断错误。
常用的单片机去抖方法主要分为硬件去抖和软件去抖。
在开关端子上使用电容器绕过高频脉冲序列(由弹跳产生的),使其发送给单片机。
软件去抖:
//开关状态
#define SWITCH_BOUNCE 0
int Switch_Debounce(void)
int status = SWITCH_BOUNCE;
{
if(Switch == 0) // Check the status of switch again
status = SWITCH_PRESSED;
}
}
void DebounceDelay(void)
int i = 0;
}
200-500毫秒的延迟为忽略所有伪上升沿(下降沿)提供了时间。因此避免了因抖动引起的问题。

使用特权

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

本版积分规则

79

主题

1435

帖子

0

粉丝