矩阵键盘消除抖动的方法怎么做?

[复制链接]
6915|17
 楼主| wang12zhe 发表于 2013-5-27 09:02 | 显示全部楼层 |阅读模式
我知道的有延时一段时间,再去判断,但是这样延时的过程中MCU就不能做其他的事情了,有没有更好的方法,有一个双消抖法吗?
ayb_ice 发表于 2013-5-27 09:03 | 显示全部楼层
定时间隔调用即可,利用间隔消抖
 楼主| wang12zhe 发表于 2013-5-27 11:01 | 显示全部楼层
ayb_ice 发表于 2013-5-27 09:03
定时间隔调用即可,利用间隔消抖

还有其他办法吗?这个办法师傅不满意,
ayb_ice 发表于 2013-5-27 11:10 | 显示全部楼层
那他是师傅,我来当徒弟

forrest11 发表于 2013-5-27 11:23 | 显示全部楼层
ayb_ice 发表于 2013-5-27 11:10
那他是师傅,我来当徒弟

呵呵。这个师傅要么高明,要么装高明。
lyjian 发表于 2013-5-27 11:25 | 显示全部楼层
wang12zhe 发表于 2013-5-27 11:01
还有其他办法吗?这个办法师傅不满意,

这是最好的办法
ayb_ice 发表于 2013-5-27 11:32 | 显示全部楼层
本帖最后由 ayb_ice 于 2013-5-27 11:33 编辑
forrest11 发表于 2013-5-27 11:23
呵呵。这个师傅要么高明,要么装高明。


我是诚意当徒弟的,

更高明的只有中断了,但其实也需要消抖的,
zwp0822 发表于 2013-5-27 11:38 | 显示全部楼层
中断撒,这么简单!
ayb_ice 发表于 2013-5-27 11:47 | 显示全部楼层
zwp0822 发表于 2013-5-27 11:38
中断撒,这么简单!

中断看似简单,其实不然,还容易出错

首先占用了宝贵的中断源,其次还是需要消抖,消抖如果在中断中完成那就没有意义了

中断中还延时,这个做法我就不说了,有经验的都知道什么后果,如果在主循环完成是可取的,那

与不用中断基本没有区别,因为通常判断按键一般只需要几条指令而已,特别是没有按键的情况下,

有按键也只需要稍稍增加一点时间,用中断还不如直接在主循环中直接就搞定了,另外中断与主循环还有交换信息,同步等问题,只会

使问题复杂
forrest11 发表于 2013-5-27 13:17 | 显示全部楼层
ayb_ice 发表于 2013-5-27 11:32
我是诚意当徒弟的,

更高明的只有中断了,但其实也需要消抖的,

哪会有更高明的办法?这又不是什么新技术。讨论了n年了。
yong61 发表于 2013-5-27 17:46 | 显示全部楼层
还有其他方法吗
aceice 发表于 2013-5-28 06:25 | 显示全部楼层
有专门的按键消抖芯片,效果还行
xiabc 发表于 2013-5-28 08:04 | 显示全部楼层
我们之前用的方法是 多次采集按键信号 当判断为连续n次(10次)按键信号一致时 认为按键有效
lzqxs89 发表于 2013-5-30 19:23 | 显示全部楼层
前辈跟我说问问题之前先自己思考。请问你思考没。这个问题应该很多地方都有人讨论了
highgear 发表于 2013-5-30 22:28 | 显示全部楼层
顶 ayb_ice。

用定时中断处理按键在一般的单片机应用中综合来看应该是最优的方法了, 而且已经被无数人讨论了无数遍。

通宵敲代码 发表于 2013-6-1 10:38 | 显示全部楼层
把键盘电源改成可控的,只在检测键盘的时候加电,就可以比较安全的消抖,当然这只是个想法,还没真正用过,如果你试验过,希望能跟我分享一下。
东北小辉辉 发表于 2013-6-1 15:33 | 显示全部楼层
程序消抖好像一般就是延时了,据说可以用硬件消抖,这个我没用过
lphaff 发表于 2013-6-1 15:58 | 显示全部楼层
硬件去抖还是可以实现的
就是采用 RS触发器
数字电路书本上有的
http://wenku.baidu.com/view/e2a971d7b9f3f90f76c61bae.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

205

帖子

1

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