1. 鍵盤消抖方法有哪些,有沒有具體的操作方法
按鍵的消抖,可用硬體或軟體兩種方法。
1、硬體消抖
在鍵數較少時可用硬體方法消除鍵抖動。硬體消抖的典型做法是:採用R-S觸發器或RC積分電路。
雙穩態消抖
電路的工作過程如下:當按鍵未按下時,a=0,b=1,輸出A=1,B=0。當按鍵按下時,按鍵的機械彈性作用使按鍵產生前沿抖動。當釋放按鍵時,按鍵的機械彈性作用使按鍵產生後沿抖動。
濾波消抖
電路的工作過程如下:當按鍵未按下時,電容C兩端的電壓為V,非門輸出為1。當按鍵按下時,由於電容C兩端的電壓不能突變,因此即使在接觸過程中出現抖動,只要C兩端的充電電壓波動不超過非門的開啟電壓(TTL為0.8V左右),非門的輸出就不會改變(可通過選取合適的R1、R2和C的值來實現)。
當按鍵斷開時,即使出現抖動,由於C兩端的電壓不能突變(它要經過R2放電),因此只要C兩端的放電電壓波動不超過非門的關閉電壓,非門的輸出就不會改變所以,RC電路濾波消抖成敗的關鍵在於R1、R2和C時間常數的選取。
必須保證C由穩態電壓充電到開啟電壓或放電到關閉電壓的延遲時間大於或等於10ms。參數的數值可由計算或實驗確定,圖中的參數僅供參考。若釆用輸入端有施密特觸發特性的門電路,則效果更好。
2、軟體消抖
實現方法:假設未按鍵時輸入1,按鍵後輸入為0,抖動時不定。可以做以下檢測:檢測到按鍵輸入為0之後,延時5ms~10ms,再次檢測,如果按鍵還為0,那麼就認為有按鍵輸入。
延時的5ms~10ms恰好避開了抖動期,從而消除了前沿抖動的影響同理,在檢測到按鍵釋放後,再延時5~10ms,消除後沿抖動,然後再對鍵值進行處理。不過一般情況下,我們通常不對按鍵釋放的後沿進行處理,實踐證明,這樣也能滿足一定的要求。
(1)鍵盤有哪些去抖動的方法擴展閱讀
在機械按鍵的觸點閉合和斷開時,都會產生抖動,為了保證系統能正確識別按鍵的開關,就必須對按鍵的抖動進行處理。
按鍵的抖動對於人類來說是感覺不到的,但對單片機來說,則是完全可以感應到的,而且還是一個很「漫長」的過程,因為單片機處理的速度在「微秒」級,而按鍵抖動的時間至少在「毫秒」級。
單片機如果在觸點抖動期間檢測按鍵的通斷狀態,則可能導致判斷出錯,即按鍵一次按下或釋放被錯誤地認為是多次操作,從而引起誤處理。因此,為了確保單片機對一次按鍵動作只作—次響應,就必須考慮如何消除按鍵抖動的影響。