发新帖我要提问
123
返回列表
打印

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

[复制链接]
楼主: yufe
手机看帖
扫描二维码
随时随地手机跟帖
41
zhanglli| | 2016-12-31 13:42 | 只看该作者 回帖奖励 |倒序浏览
和你的键盘有关系,通常设10mS-30mS;
没必要设的特别灵敏;

使用特权

评论回复
42
guoyt| | 2016-12-31 13:42 | 只看该作者

键盘扫描个人感觉最好的方法就是定时中断扫描加状态机是比较好的方法,消除抖动我一般是用15ms,用起来比较不错。

使用特权

评论回复
43
llia| | 2016-12-31 13:43 | 只看该作者
10MS行,我搞到300MS也不错,这个没什么定式的吧,试呗,感觉好就成了

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

使用特权

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

使用特权

评论回复
45
langgq| | 2016-12-31 13:48 | 只看该作者
和按钮材料结构相关,一般20mS.

使用特权

评论回复
46
lium| | 2016-12-31 13:49 | 只看该作者
没有 刻意去消抖,1ms  扫描按键一次  ,有 能连续加到 50ms的  ,说明按键按下

使用特权

评论回复
47
hanwe| | 2016-12-31 13:54 | 只看该作者
不用这么复杂,3句话解决问题
unsigned char  Trg;
unsigned char  cont;
void   Key_scan (void)
{ unsigned  char  Readdata=Px^0XFF;
   Trg=Readdata&(Readdata^cont);
   cont=Readdata;
}

使用特权

评论回复
48
llia| | 2016-12-31 13:55 | 只看该作者
我是至少10ms

使用特权

评论回复
49
wangpe| | 2016-12-31 13:56 | 只看该作者
我一般20ms

使用特权

评论回复
50
zhuww| | 2016-12-31 13:59 | 只看该作者
10MS左右就可以了

使用特权

评论回复
51
lium| | 2016-12-31 14:00 | 只看该作者
咱们论坛里有一个例程,不用延时就能消抖的,楼主找找看

使用特权

评论回复
52
hanwe| | 2016-12-31 14:01 | 只看该作者
状态机实现的。可以参考下。 直接软件延时 太浪费时间资源了。

使用特权

评论回复
53
wangpe| | 2016-12-31 14:05 | 只看该作者
20MS

使用特权

评论回复
54
langgq| | 2016-12-31 14:06 | 只看该作者
实际开发中一般是50ms-200ms,判断次数为2-5次,根据你的延时决定

使用特权

评论回复
55
guoyt| | 2016-12-31 14:08 | 只看该作者
按键处理我一般延时50ms,按下和松开都要有延时.

使用特权

评论回复
56
llia| | 2016-12-31 16:30 | 只看该作者
如果是人工按键的话人按的频率会有多高啊。

使用特权

评论回复
57
yufe|  楼主 | 2016-12-31 16:31 | 只看该作者
结贴了,多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则