单片机独立按键去抖动问题

单片机独立按键去抖动问题视频讲按下时因为变低电平,有抖动,所以加上延时程序去抖动,但是松开按键直接一个while判断后直接退出了,而没有加上去抖动延时。我看书上写,松开后... 单片机独立按键去抖动问题视频讲按下时因为变低电平,有抖动,所以加上延时程序去抖动,但是松开按键直接一个while判断后直接退出了,而没有加上去抖动延时。我看书上写,松开后不需要去抖动,为什么啊? 展开
 我来答
丶痛改前非
2018-02-03
知道答主
回答量:1
采纳率:100%
帮助的人:1.5万
展开全部

按键按下的时候加了延时,你已经知道原因了。是为了消除抖动,你的疑问是为什么松开的时候没有再加上延时函数,原因很简单,看图片。

因为进行了两次if判断,松开按键的时候无非会出现电平的跳变,理论上松开按键之后就一直为高电平1111111111,如果出现1110101111,中间的第一个10就发生了跳变,因为cpu的运算速度非常快,当程序又到了第一个if时,此时key1为0,那么满足条件,执行延时函数,后面第二纤并个10就直接忽森竖瞎略了,后面的电平已经为1,所以这一个延时函数就同时此空起到消除按下和松开的电平抖动的作用。(如果松开按键之后的电平为低电平,那么把我上面的所有的程序和电平取反就行了,再来阅读)。

宿兴电子
2024-11-28 广告
联系我们一、有无震荡源 无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 二、价格不同 有源蜂鸣器往比无源蜂鸣器贵,就是因为里面多个震荡... 点击进入详情页
本回答由宿兴电子提供
11kxmx
推荐于2018-02-03 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:70%
帮助的人:2487万
展开全部
我们检测的是按键按下,松开了由于没有消抖,抖动的结粗启果最多也就被当成了再次按下,但由于按下有延时消抖,所以并不会发键搭生松开被当再次按下的情岩亮如况,就没必要消抖了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式