單片機(jī)常用功能模塊的使用 Part5. 獨(dú)立按鍵
2、使用方法:
(1)、標(biāo)準(zhǔn)使用:
把對(duì)應(yīng)的端口賦值高電平,即“1”,按鍵按下,端口被拉低至低電平,即“0”,通過(guò)檢測(cè)該端口的電平即可判斷按鍵是否按下。
(2)、按鍵去抖動(dòng):
上圖看出按鍵按下和松開(kāi)的瞬間出現(xiàn)機(jī)械抖動(dòng),這個(gè)抖動(dòng)時(shí)間雖然很短,一般 10~15 ms,不同按鍵抖動(dòng)不同,但對(duì)應(yīng)單片機(jī)來(lái)說(shuō),很輕松就能檢測(cè)到,單片機(jī)是 us 級(jí)別。但實(shí)際上只進(jìn)行一次按鍵操作,但有可能執(zhí)行了多次按鍵結(jié)果,這就是抖動(dòng)造成的,所以大多數(shù)產(chǎn)品實(shí)際使用中都使用了按鍵去抖功能。
軟件去抖原理:
①、檢測(cè)到按鍵按下后進(jìn)行 10~15 ms 延時(shí),用于跳過(guò)這個(gè)抖動(dòng)區(qū)域
②、延時(shí)后再檢測(cè)按鍵狀態(tài),如果沒(méi)有按下表明是抖動(dòng)或者干擾造成,如果仍舊按下,可以認(rèn)為是真正的按下。并進(jìn)行對(duì)應(yīng)的操作。
③、同樣按鍵釋放后也要進(jìn)行去抖延時(shí),延時(shí)后檢測(cè)按鍵是否真正釋放。
評(píng)論