[發明專利]一種濾除按鍵抖動的方法和相關設備有效
| 申請號: | 201910241282.7 | 申請日: | 2019-03-28 |
| 公開(公告)號: | CN110048697B | 公開(公告)日: | 2023-08-01 |
| 發明(設計)人: | 鄺偉健;龐德志 | 申請(專利權)人: | 深圳創維數字技術有限公司 |
| 主分類號: | H03K5/1254 | 分類號: | H03K5/1254;G05B19/042 |
| 代理公司: | 深圳市君勝知識產權代理事務所(普通合伙) 44268 | 代理人: | 王永文;劉文求 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 按鍵 抖動 方法 相關 設備 | ||
1.一種濾除按鍵抖動的方法,其特征在于,包括:
A0、定義一靜態局部變量,其中,所述靜態局部變量為C語言靜態局部變量,當檢測到按鍵按下時,所述靜態局部變量進行自加操作,當自加到一定數據時,則執行按鍵事件;
A、單片機檢測按鍵是否被按下;
B、若檢測到按鍵被按下,則靜態局部變量進行自加處理,根據處理結果進一步判斷是否達到預設的計數值的閾值,其中,當靜態局部變量達到閾值后,進一步確認按鍵的按下狀態;
B1、當單片機檢測到按鍵按下、并檢測到低電平時則進行計數,其中,將靜態局部變量用作按鍵按下時進行計數,當檢測到按鍵按下時,若有噪聲產生,則else?if語句濾掉噪聲,平穩的低電平在處于if語句中的KeyPressTime進行計時,達到檢測的時間DetTime后,進行按鍵事件的處理;
C、若達到所述閾值,則執行按鍵事件;
C1、當達到理想的按下時間后,進一步判斷按鍵是否處于按下狀態,若是,則執行按鍵事件;
其中,單片機IO口配置為上拉輸入,內部由上拉電阻上拉,當按鍵處于斷開狀態時,IO口檢測到的是高電平,當按鍵接通時,IO口被拉低;
若抖動產生,根據所述定義的一個靜態局部變量,當檢測到按鍵按下時,靜態局部變量進行自加操作,當自加到一定數據后,則判斷低電平的保持時間達到理想的按下時間,進行按鍵處理。
2.根據權利要求1所述的一種濾除按鍵抖動的方法,其特征在于,在所述步驟A中,當按鍵處于斷開狀態時,單片機檢測到的是高電平,當按鍵接通時,單片機檢測到的是低電平。
3.根據權利要求1所述的一種濾除按鍵抖動的方法,其特征在于,所述步驟B還包括:
B2、判斷計數值是否達到預設的閾值;
B3、若該計數值未達到所述閾值,則判斷不是穩定的按鍵下的低電平,未達到理想的按下時間,不執行按鍵事件;
B4、若該計數值達到所述閾值或超過所述閾值,則判定為穩定的按鍵下的低電平,達到理想的按下時間并執行按鍵事件。
4.根據權利要求3所述的一種濾除按鍵抖動的方法,其特征在于,所述步驟B1具體包括:
當檢測到按鍵按下時,靜態局部變量進行計數,并對低電平保持時間進行計時。
5.根據權利要求1所述的一種濾除按鍵抖動的方法,其特征在于,在所述步驟A之前還包括:
A1、預先設定所述計數值的閾值,其中,所述閾值大小根據單片機的運行效率進行設置。
6.一種單片機,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至5中任一項所述方法的步驟。
7.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至5中任一項所述的方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳創維數字技術有限公司,未經深圳創維數字技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910241282.7/1.html,轉載請聲明來源鉆瓜專利網。





