<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 測試測量 > 正文

    單片機按鍵設計的四個方案詳解

    發布時間:2019-09-21 責任編輯:wenwei

    【導讀】在單片機系統里,按鍵是常見的輸入設備,在本文將介紹幾種按鍵硬件、軟件設計方面的技巧。一般的在按鍵的設計上,一般有四種方案:一是GPIO口直接檢測單個按鍵,如圖1.1所示;二是按鍵較多則使用矩陣鍵盤,如圖1.2所示;三是將按鍵接到外部中斷引腳上,利用按鍵按下產生的邊沿信號進行按鍵檢測,如圖1.3所示;四是利用單片機的ADC,在不同的按鍵按下后,能夠使得ADC接口上的電壓不同,根據電壓的不同,則可以識別按鍵,如圖1.4所示。
     
    單片機按鍵設計的四個方案詳解
    圖1.1方案一
     
    單片機按鍵設計的四個方案詳解
    圖1.2方案二
     
    單片機按鍵設計的四個方案詳解
    圖1.3方案三
     
    單片機按鍵設計的四個方案詳解
    圖1.4方案四
     
    在以上四種設計上,各有優點和不足。
     
    第一種是最簡單和最基礎的,對于單片機初學者很容易理解和使用,但是缺點是,需要在主循環中不斷檢測按鍵是否按下,并且需要做消抖處理。若主循環中某個函數任務占用時間較長,則按鍵會有不同程度的“失靈”。
     
    第二種,優點是能夠在有限的GPIO情況下,擴展盡可能多的按鍵。但缺點同上,需要不停檢測按鍵是否按下。
     
    第三種方式是效率最高,不需要循環檢測按鍵是否按下,但是缺點是,需要單片機有足夠的外部中斷接口以供使用;第四種的優點是,只需要單片機的一個ADC接口,一根線,就能對多個按鍵進行識別,缺點是按鍵一旦內部接觸不良,則可能按鍵串位,且按鍵產生的抖動,會造成一定的識別錯誤。
     
    在以上的三種常見按鍵設計的基礎上,現在分享我學習和工作中總結的按鍵方案。
     
    改進一:在原方案一的基礎上,加上與門電路,使得任何一個按鍵按下,都能產生中斷,然后在中斷里面識別是哪個按鍵被按下。因此不需要循環掃描,大大提高了效率。方案如圖1.5所示。只需要每個按鍵對應地增加一個二極管,利用二極管的線與特性,可以實現按下任何按鍵,都能產生中斷信號,但是按鍵之間互不影響。二極管選用普通整流二極管即可,本人親測可行。
     
    單片機按鍵設計的四個方案詳解
    圖1.5 改進一
     
    單片機按鍵設計的四個方案詳解
    圖1.6 改進二
     
    改進二:在原有的ADC按鍵的基礎上,也可用增加二極管的方式,實現按鍵中斷,并在中斷服務程序里進行AD轉換,從而識別按鍵。電路如圖1.6所示。
     
    改進三:因為按鍵不可避免的有抖動,因此按鍵消抖可以通過硬件消痘和軟件消抖。現在分享一個十分簡單且有效的硬件消痘方法:給按鍵并聯一個104左右的電容。軟件上基本不用處理即可避免抖動。
     
    改進四:在按鍵掃描檢測的方案下,如果主循環中有某個函數占用時間較長,則按鍵會發生或長或短的“失靈”,現分享我的一個解決方案。將按鍵掃描放到定時器中斷里面,這樣就可周期性地檢測按鍵按下情況,不受主循環的影響。并且,能解析出按鍵的不同狀態,即按下、按住、彈起、為按下這四種狀態,用以實現更豐富的功能。
     
    但需注意兩點,一是定時器的定時時間,不可過長也不可過短,過長容易檢測不到按下,過短會占用大量時間資源。二是中斷服務程序需簡單明了,只做檢測用,通過全局變量傳遞,在主循環內完成按鍵響應,中斷服務函數內盡量不要占用太多時間。
     
     
    推薦閱讀:
     
    常見電阻器分類,你真的知道嗎?
    公共阻抗耦合實例解析
    模擬設計者必須了解的光電二極管問題
    TVS-壓敏電阻 等保護類器件的布局問題
    精準又低功耗的遠程檢測理念,你了解了沒?
    要采購電阻器么,點這里了解一下價格!
    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    天堂中文在线最新版| 国产精品无码无在线观看| 成人性生交大片免费看中文| 亚洲AV综合色区无码一区| 亚洲乱码中文字幕综合234| 久久久久综合中文字幕| 久久久精品人妻无码专区不卡| 亚洲精品无码成人片久久| 狠狠综合久久综合中文88| 亚洲中文字幕在线乱码| 无码欧精品亚洲日韩一区夜夜嗨 | 在线欧美天码中文字幕| 亚洲毛片av日韩av无码| 精品无码久久久久久国产 | 亚洲国产a∨无码中文777| 国产一区三区二区中文在线| 色噜噜综合亚洲av中文无码 | 中文字幕日韩一区| 91中文字幕在线观看| 亚洲国产精品成人AV无码久久综合影院| 亚洲精品无码不卡在线播放HE| 免费无码av片在线观看| 最近最好最新2019中文字幕免费| 日本中文字幕在线2020| 在线中文字幕av| 日韩欧美中文亚洲高清在线| 日本不卡中文字幕| 中文字幕本一道先锋影音| 色综合网天天综合色中文男男| 欧美日韩中文国产一区| 最近免费中文字幕大全高清大全1| 最近2019中文字幕免费直播| 最近免费最新高清中文字幕韩国| 欧美一级一区二区中文字幕 | 人妻无码αv中文字幕久久琪琪布| 韩国三级中文字幕hd久久精品| 中文字幕国产视频| 亚洲av中文无码乱人伦在线播放 | 东京热加勒比无码视频| 国产亚洲精品无码专区| 韩国中文字幕毛片|