打印

键盘扫描的消抖一般要延时多少时间

[复制链接]
楼主: wangzsa
手机看帖
扫描二维码
随时随地手机跟帖
41
我用示波器测试过,4ms足够了。采用的是普通的4脚直插按键,上拉10K电阻。而且多次测试,发现抖动全部发生在按键弹起的过程中,按下的过程,电平直接被拉低,没有出现毛刺现象,如果有的话,好像只有一次,概率极低。

使用特权

评论回复
42
chenho| | 2022-2-20 22:21 | 只看该作者

和你的键盘有关系,通常设10mS-30mS;
没必要设的特别灵敏;

使用特权

评论回复
43
dingy| | 2022-2-20 22:23 | 只看该作者
键盘扫描个人感觉最好的方法就是定时中断扫描加状态机是比较好的方法,消除抖动我一般是用15ms,用起来比较不错。

使用特权

评论回复
44
chenjunt| | 2022-2-20 22:27 | 只看该作者
10MS行,我搞到300MS也不错,这个没什么定式的吧,试呗,感觉好就成了

不过时间太长了最好用系统啊,裸机程序还是别太长了,没效率了

使用特权

评论回复
45
pengf| | 2022-2-20 22:29 | 只看该作者
弄个计数器,串入主循环不断扫描,每次扫描到有键按下计数器加一,加到100时处理一次!我就是这样弄的,效果还不错!

使用特权

评论回复
46
shimx| | 2022-2-20 22:31 | 只看该作者
和按钮材料结构相关,一般20mS.

使用特权

评论回复
47
jiaxw| | 2022-2-20 22:32 | 只看该作者
没有 刻意去消抖,1ms  扫描按键一次  ,有 能连续加到 50ms的  ,说明按键按下

使用特权

评论回复
48
spark周| | 2022-2-20 22:34 | 只看该作者

不用这么复杂,3句话解决问题
unsigned char  Trg;
unsigned char  cont;
void   Key_scan (void)
{ unsigned  char  Readdata=Px^0XFF;
   Trg=Readdata&(Readdata^cont);
   cont=Readdata;
}

使用特权

评论回复
49
yszong| | 2022-2-20 22:37 | 只看该作者
我是至少10ms

使用特权

评论回复
50
dingy| | 2022-2-20 22:39 | 只看该作者
我一般20ms

使用特权

评论回复
51
dengdc| | 2022-2-20 22:40 | 只看该作者
10MS左右就可以了

使用特权

评论回复
52
yinxiangh| | 2022-2-20 22:41 | 只看该作者
咱们论坛里有一个例程,不用延时就能消抖的,楼主找找看

使用特权

评论回复
53
kangzj| | 2022-2-20 22:44 | 只看该作者
状态机实现的。可以参考下。 直接软件延时 太浪费时间资源了。

使用特权

评论回复
54
heweibig| | 2022-2-20 22:46 | 只看该作者

使用特权

评论回复
55
zhenykun| | 2022-2-20 22:47 | 只看该作者
这个做的挺好的啊,顶一下

使用特权

评论回复
56
wyjie| | 2022-2-20 22:48 | 只看该作者
20MS

使用特权

评论回复
57
wangzsa|  楼主 | 2022-2-20 22:49 | 只看该作者
实际开发中一般是50ms-200ms,判断次数为2-5次,根据你的延时决定

使用特权

评论回复
58
chuxh| | 2022-2-20 22:49 | 只看该作者
10分钟吧

使用特权

评论回复
59
zhanglli| | 2022-2-20 22:50 | 只看该作者
按键处理我一般延时50ms,按下和松开都要有延时.

使用特权

评论回复
60
chenho| | 2022-2-20 22:51 | 只看该作者
5-10ms 吧

使用特权

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

本版积分规则