标题: 在线等请问独立键盘的扫描去抖怎么写啊 [打印本页]

作者: haohaoxue51    时间: 2018-7-11 19:49
标题: 在线等请问独立键盘的扫描去抖怎么写啊
只知道延时去抖,还有一种方法叫扫描去抖
百度上没有合适的
谁知道这个
麻烦简单写一下可以吗,在线等


作者: yzwzfyz    时间: 2018-7-11 19:49
自己写的,发给你。 修和原创单片机A1-1:如何编写扫键程序.doc (68 KB, 下载次数: 17)
作者: hayden    时间: 2018-7-11 20:16
按键扫描算法加去抖:https://blog.csdn.net/chenben/article/details/27514241
作者: gesang    时间: 2018-7-11 22:27
在实际工程应用中,一般不会用延时消抖,因为程序要一直跑,不可能某段时间一直在等按键按下而不做其他事情,这样非常浪费CPU,单片机的实时性会非常低,所以一般按键消抖,是程序每个一段时间(比如10ms)执行一次按键扫描程序,判断按键是否在按下状态,如果连续3次或4次都是按下状态,那么可以认为按键确实按下了,也就做到了消抖,其中判断完是否按下后,单片机可以继续做其他事情,只要到时间就去判断一次就好了,不会影响程序的实时性
作者: haohaoxue51    时间: 2018-7-12 08:55
gesang 发表于 2018-7-11 22:27
在实际工程应用中,一般不会用延时消抖,因为程序要一直跑,不可能某段时间一直在等按键按下而不做其他事情 ...

那具体扫描算法怎么写啊,能说一下吗
作者: gesang    时间: 2018-7-12 13:41
haohaoxue51 发表于 2018-7-12 08:55
那具体扫描算法怎么写啊,能说一下吗

一般是开启一个定时器中断,用于计时1ms(或其他时间),然后计数到10ms后产生一个标志,在main函数中一直扫描这个标志是否满足,满足后进入10ms时间处理的程序,比如键盘扫描,当然也可以做其他事情。




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