標(biāo)題: 在線等請問獨立鍵盤的掃描去抖怎么寫啊 [打印本頁]

作者: haohaoxue51    時間: 2018-7-11 19:49
標(biāo)題: 在線等請問獨立鍵盤的掃描去抖怎么寫啊
只知道延時去抖,還有一種方法叫掃描去抖
百度上沒有合適的
誰知道這個
麻煩簡單寫一下可以嗎,在線等


作者: yzwzfyz    時間: 2018-7-11 19:49
自己寫的,發(fā)給你。 修和原創(chuàng)單片機A1-1:如何編寫掃鍵程序.doc (68 KB, 下載次數(shù): 17)
作者: hayden    時間: 2018-7-11 20:16
按鍵掃描算法加去抖:https://blog.csdn.net/chenben/article/details/27514241
作者: gesang    時間: 2018-7-11 22:27
在實際工程應(yīng)用中,一般不會用延時消抖,因為程序要一直跑,不可能某段時間一直在等按鍵按下而不做其他事情,這樣非常浪費CPU,單片機的實時性會非常低,所以一般按鍵消抖,是程序每個一段時間(比如10ms)執(zhí)行一次按鍵掃描程序,判斷按鍵是否在按下狀態(tài),如果連續(xù)3次或4次都是按下狀態(tài),那么可以認(rèn)為按鍵確實按下了,也就做到了消抖,其中判斷完是否按下后,單片機可以繼續(xù)做其他事情,只要到時間就去判斷一次就好了,不會影響程序的實時性
作者: haohaoxue51    時間: 2018-7-12 08:55
gesang 發(fā)表于 2018-7-11 22:27
在實際工程應(yīng)用中,一般不會用延時消抖,因為程序要一直跑,不可能某段時間一直在等按鍵按下而不做其他事情 ...

那具體掃描算法怎么寫啊,能說一下嗎
作者: gesang    時間: 2018-7-12 13:41
haohaoxue51 發(fā)表于 2018-7-12 08:55
那具體掃描算法怎么寫啊,能說一下嗎

一般是開啟一個定時器中斷,用于計時1ms(或其他時間),然后計數(shù)到10ms后產(chǎn)生一個標(biāo)志,在main函數(shù)中一直掃描這個標(biāo)志是否滿足,滿足后進(jìn)入10ms時間處理的程序,比如鍵盤掃描,當(dāng)然也可以做其他事情。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1