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

[复制链接]
14803|103
zhanghqi 发表于 2014-6-3 19:35 | 显示全部楼层
我用示波器测试过,4ms足够了。采用的是普通的4脚直插按键,上拉10K电阻。而且多次测试,发现抖动全部发生在按键弹起的过程中,按下的过程,电平直接被拉低,没有出现毛刺现象,如果有的话,好像只有一次,概率极低。
zhenykun 发表于 2014-6-3 19:36 | 显示全部楼层
和你的键盘有关系,通常设10mS-30mS;
没必要设的特别灵敏;
wyjie 发表于 2014-6-3 19:36 | 显示全部楼层
键盘扫描个人感觉最好的方法就是定时中断扫描加状态机是比较好的方法,消除抖动我一般是用15ms,用起来比较不错。
yszong 发表于 2014-6-3 19:37 | 显示全部楼层
10MS行,我搞到300MS也不错,这个没什么定式的吧,试呗,感觉好就成了

不过时间太长了最好用系统啊,裸机程序还是别太长了,没效率了
dengdc 发表于 2014-6-3 19:37 | 显示全部楼层
弄个计数器,串入主循环不断扫描,每次扫描到有键按下计数器加一,加到100时处理一次!我就是这样弄的,效果还不错!
shimx 发表于 2014-6-3 19:38 | 显示全部楼层
和按钮材料结构相关,一般20mS.
jiaxw 发表于 2014-6-3 19:38 | 显示全部楼层
没有 刻意去消抖,1ms  扫描按键一次  ,有 能连续加到 50ms的  ,说明按键按下
spark周 发表于 2014-6-3 19:39 | 显示全部楼层
不用这么复杂,3句话解决问题
unsigned char  Trg;
unsigned char  cont;
void   Key_scan (void)
{ unsigned  char  Readdata=Px^0XFF;
   Trg=Readdata&(Readdata^cont);
   cont=Readdata;
}
liliang9554 发表于 2014-6-3 19:39 | 显示全部楼层
我是至少10ms
heweibig 发表于 2014-6-3 19:40 | 显示全部楼层
我一般20ms
dengdc 发表于 2014-6-3 19:40 | 显示全部楼层
10MS左右就可以了
 楼主| wuhany 发表于 2014-6-3 19:41 | 显示全部楼层
我整理一下,多谢大家
 楼主| wuhany 发表于 2014-6-3 19:41 | 显示全部楼层
先结贴吧
tpgf 发表于 2023-12-12 17:15 | 显示全部楼层
这个不得用一二百毫秒差不多吧
qcliu 发表于 2023-12-12 22:22 | 显示全部楼层
可以使用双边沿检测 这样就不需要延时处理了
drer 发表于 2023-12-13 09:26 | 显示全部楼层
zhanghqi 发表于 2014-6-3 19:35
我用示波器测试过,4ms足够了。采用的是普通的4脚直插按键,上拉10K电阻。而且多次测试,发现抖动全部发生 ...

这个只限于人为操作没有任何误差的情况吧
coshi 发表于 2023-12-13 09:52 | 显示全部楼层
qcliu 发表于 2023-12-12 22:22
可以使用双边沿检测 这样就不需要延时处理了

对的 我记得论坛里边有一个这样的帖子 处理的很好
wiba 发表于 2023-12-13 22:45 | 显示全部楼层
在程序中最好不要做 延时处理
kxsi 发表于 2023-12-13 23:23 | 显示全部楼层
如果外部加电容的话 会不会导致采集不到按键信息啊
理想阳 发表于 2024-1-2 13:17 | 显示全部楼层
10ms就足够了,这是我们的导师说的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部