标题: 51单片机的按键松手检测 [打印本页]

作者: kkk09    时间: 2022-12-27 17:33
标题: 51单片机的按键松手检测
51单片机的按键松手检测为啥没有延时函数消除抖动呀
作者: kkk09    时间: 2022-12-27 17:34
这个是代码

IMG20221227173300.jpg (1.49 MB, 下载次数: 83)

IMG20221227173300.jpg

作者: TTQ001    时间: 2022-12-28 01:43
这应该由程序员完成,键盘输入去抖动应该一直实施。
作者: lkc8210    时间: 2022-12-28 09:41
下次截代码请包含行数






作者: univers    时间: 2022-12-28 10:16
上面不是逍抖了一次么。。。。。。。。!!!
作者: 名字不是重点    时间: 2022-12-28 11:38
参考地板的图,很清楚地说明了一件事,放开按键时的抖动会被按键按下时的去抖动代码捕捉,被判为无效按键,所以放开按键时,只要放开了,就是确认放开了,不必再去抖了。如要你要计算按键时长则另说。
作者: laohu_zz    时间: 2022-12-28 14:57
延时消抖是最简单的课本实例,实际用状态机等方式,不占用运行时间。
作者: JJJ1234    时间: 2022-12-28 16:52
delay(20); 再判断  按键是否按下 这种就是 传统的软件消抖。  如果是硬件消抖的话,直接在按键两端并联一个100pf的电容即可。
作者: Canliacen    时间: 2022-12-29 16:32
定时器最好了
作者: kkk09    时间: 2022-12-30 00:16
TTQ001 发表于 2022-12-28 01:43
这应该由程序员完成,键盘输入去抖动应该一直实施。

谢谢!
作者: kkk09    时间: 2022-12-30 00:16
lkc8210 发表于 2022-12-28 09:41
下次截代码请包含行数

谢谢!我下次注意!
作者: kkk09    时间: 2023-1-2 16:37
univers 发表于 2022-12-28 10:16
上面不是逍抖了一次么。。。。。。。。!!!

谢谢

作者: kkk09    时间: 2023-1-2 16:37
名字不是重点 发表于 2022-12-28 11:38
参考地板的图,很清楚地说明了一件事,放开按键时的抖动会被按键按下时的去抖动代码捕捉,被判为无效按键, ...

谢谢

作者: kkk09    时间: 2023-1-2 16:42
lkc8210 发表于 2022-12-28 09:41
下次截代码请包含行数

大佬,我能再问几个51单片机的问题嘛
作者: 船长丶    时间: 2023-1-5 09:54
按下的时候消抖, 松开的抖动不会触发按键按下, 没有必要重复检测
作者: coody_sz    时间: 2023-1-5 11:26
按一定的时隙间隔(比如20ms)读按键,不需要软件延时(现在的MCU延时20ms则超过40万条指令时间被耗掉),比较前后两次读键状态相等则有效,强干扰场合还可以回溯前几次的值。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1