第10課 鍵盤檢測與應用
圖5 按鍵與單片機連接圖
2、按鍵的抖動與消除
由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,與單片機I/O口相接的一端的電壓會出現(xiàn)相應的變化,如圖6所示。
圖6 按鍵按下時電壓的變化情況
從圖6中我們可以看出,實際的電壓波形在按下松手的時候都會出現(xiàn)一定的抖動,經(jīng)過實驗知道,這個一時間大概在5-10ms。所在在做單片機與按鍵相關(guān)的系統(tǒng)時必須考慮消抖的環(huán)節(jié)。按鍵消抖的方法有兩種,一個是硬件方法一個是軟件的方法,而從節(jié)約成本和盡量簡化硬件電路的角度出發(fā),一般是采用在程序中加上消抖的方法實現(xiàn),通常是采用延時的方法。具體的作法是:
檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5ms~10ms的延時,讓前沿抖動消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下。當檢測到按鍵釋放后,也要給5ms~10ms的延時,待后沿抖動消失后才能轉(zhuǎn)入該鍵的處理程序。后面會結(jié)合到程序進行講解。
下面我寫一個簡單的程序,功能為:當一個鍵按下時,讓一個發(fā)光二極管發(fā)光,我們先看下按鍵模塊在實驗板上的原理圖,如圖7和圖8所示。
圖7發(fā)光二極管模塊原理圖
評論