51微控制器自學 完美的單擊 雙擊 長按 中斷消抖

2021-08-26 17:22:32 字數 638 閱讀 7143

完整的單擊、雙擊、長按**。

工作原理:當有按鈕第一次按下時,設定第乙個標誌an,當按鈕第一次釋放後,進入中斷消抖延時計數,假如在計數範圍內第二次按鈕按下,設定第二標誌aa,這樣就把單擊和雙擊區分開,而且是可靠的邏輯標誌,長按為大於1秒的判斷.

中斷消抖及按鈕單擊、雙擊、長按處理,雙擊在**中穩穩地檢測到執行。

之前發布的矩陣按鍵也一樣可以採用中斷延時,不過時間應該更短,如50-100毫秒。

本**的巧妙之處在於:

1.只有按鈕按下才執行消抖延時,否則不執行延時

2.巧妙利用消抖延時,同時檢查按鍵雙擊判斷

3.判斷設計精巧,**短小精悍

4.消抖延時時間極易調整

5.多極判斷可擴充套件性良好

6.構思巧妙,易於理解其原理

中斷是乙個知識點也是需要謹慎處理的點,處理不好的話,執行起來會看到怪現象,簡單的話當然不會看到什麼影響,不過即使是簡單的數碼管顯示還是按鍵消抖,我也覺得有必要研究如何是最優的在乙個中斷源中處理.

51微控制器自學筆記

中斷tmod 定時器工作方式暫存器 tcon 定時器控制暫存器 thx,tlx計算方法 定時器 計數器高階應用 52微控制器特有的定時器2 計數功能的應用 數碼管按鍵 序列口通訊 i 2 c通訊 spi通訊 數模轉換 esp8266wifi模組 目前正在準備寫乙個51微控制器庫,希望能實現51的大多...

51微控制器的自學筆記

必備了解 微控制器需要運用到數位電路的知識。數位電路中只有兩種電平 高和低 定義微控制器為 ttl電平 高 5v 低 0v rs232電平 計算機的串列埠 高 12v 低 12v 所以計算機與微控制器之間通訊時需要加電 平轉換晶元max232 實驗板上左下角 ttl電平訊號被利用的最多。且資料採用二...

微控制器定時器雙擊 關於51微控制器定時器的靈活使用

前段時間,做乙個專案,有串列埠收發指令判斷,按鍵型別判斷,長短按之類,power的定時關電,事件的輪詢掃瞄更新和display的定時掃瞄。這些要求就對定時器提出了要求,但是我的51微控制器只有兩個定時器,其中乙個又有debug口的波特率產生之用。於是乎我可以用的定時器就只剩下了乙個。怎麼辦?可能大家...