㈠ 為什麼要消除鍵盤的機械抖動
鍵抖動會引起一次按鍵被誤讀多次。為了確保CPU對鍵的一次閉合僅做一次處理,必須去除鍵抖動。在鍵閉合穩定時,讀取鍵的狀態,並且必須判別;在鍵釋放穩定後,再作處理。按鍵的抖動,可用硬體或軟體兩種方法消除。如果按鍵較多,常用軟體方法去抖動,即檢測出鍵閉合後執行一個延時程序,產生12~20
ms的延時,讓前沿抖動消失後,再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認為真正有鍵按下。當確認有鍵按下或檢測到按鍵釋放後,才能轉入該鍵的處理程序。
㈡ 按鍵及鍵盤與CPU介面存在著去抖動的問題,為什麼要消除按鍵及鍵盤的機械抖動常採用什麼方法消除抖動
按鍵的機械抖動,我舉例說明一下,例如,按鍵1是連接一個帶外部中斷的埠,控回制開關S1到SN的開啟,當你答需要開啟S1的時候,你只需要按下S1,如果產生機械抖動,就會把S2也打開,甚至打開S3(程序的運行速度太快)。在寫中斷服務程序程序的時候(如何開啟和關閉中斷服務程序我就忽略了),需要最後用語句控制關閉中斷,在關閉中斷的語句前面加一個延時語句,也就是說,當中斷開啟後必須要延時一定的時間才能結束中斷程序,這個延時一般在500毫秒左右就可以了。這樣做得好處就是,當按下按鍵1以後,需要按住500毫秒中斷程序才能執行結束,S1才能打開,這樣就能避免由於機械抖動所產生的不必要動作。