新聞中心

        EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 一種打破教科書上的按鍵檢測方法

        一種打破教科書上的按鍵檢測方法

        作者: 時間:2014-01-16 來源:網(wǎng)絡(luò) 收藏

        傳統(tǒng)的,無一例外都是采用delay的方法檢測按鍵,但是這種方法有很多缺陷,今天發(fā)一貼說說,各位大俠不要見笑,初級菜鳥可以借鑒。

        本文引用地址:http://www.104case.com/article/226882.htm

        傳統(tǒng)的處理方法:在第一次檢測到有鍵按下時,執(zhí)行一段延時 10ms 的子程序以后再確認(rèn)該按鍵電平是否能保持閉合狀態(tài)的電平,如果保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下,從而消除抖動的影響.

        缺點:

        1. 傳統(tǒng)的處理方法執(zhí)行 10ms 的延時子程序,會降低程序的實時性。

        2. 傳統(tǒng)的處理方法一次按鍵動作的確認(rèn),只檢測兩次,在高抗干擾環(huán)境下的會有按鍵的誤動作。

        建議:

        1. 建議彈跳時間為 100ms 才可有效通過 EFT 雜訊認(rèn)證。

        2. 建議主程序中連續(xù)檢查 100ms 的穩(wěn)定低電平才可認(rèn)定按鍵按下成立。

        3. 相同道理連續(xù)檢查 100ms 高電平才可認(rèn)定按鍵彈起。

        4. 為了保證 MCU 的執(zhí)行效率,按鍵的檢測盡量不要使用 Delay 的方式,可以考慮采用輪詢檢測和計時器配合的方式進行。

        方法如下:

        在發(fā)現(xiàn)低電平后,我們每一個循環(huán)(時基)去讀取一次電平,并與上次進行比較,若是相同則計數(shù)器加 1,直至達(dá)到足夠的次數(shù)就進行處理,否則計數(shù)器清零,重新開始。



        關(guān)鍵詞: 教科書 按鍵檢測方法

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 皋兰县| 长春市| 龙岩市| 台中县| 镇宁| 龙川县| 景德镇市| 塔河县| 尼木县| 桦甸市| 仁寿县| 沿河| 浦江县| 揭阳市| 凌源市| 海盐县| 宾川县| 灵台县| 南皮县| 景东| 闵行区| 临安市| 光泽县| 黑山县| 乌拉特前旗| 成武县| 遂川县| 肥乡县| 岗巴县| 安乡县| 磐安县| 定兴县| 惠州市| 泰和县| 定边县| 台前县| 洛扎县| 北京市| 万载县| 长武县| 闻喜县|