那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

四種單片機按鍵軟硬件設計方案介紹

貿澤電子設計圈 ? 來源:YXQ ? 作者:電子發燒友 ? 2019-08-05 16:40 ? 次閱讀

單片機系統里,按鍵是常見的輸入設備。本文將介紹四種按鍵硬件設計上的方案和一些軟件設計方面的技巧。

一、直接檢測GPIO口單個按鍵,如圖1所示。

圖1:方案一

二、在按鍵較多的情況下,則使用矩陣鍵盤,如圖2所示。

圖2:方案二

三、將按鍵接到外部中斷引腳上,利用按鍵按下產生的邊沿信號進行按鍵檢測,如圖3所示。

圖3:方案三

四、利用單片機的數字轉換器ADC - Analog-to-digital converter),設定按鍵按下前后經過ADC接口電壓的不同,根據電壓的差別來識別按鍵,如圖4所示。

圖4:方案四

以上四種設計分別各有優點和不足。

第一種設計是最簡單、最基礎的做法,對于單片機初學者很容易理解和使用,但缺點是需要在主循環中不斷檢測按鍵是否按下,并且需要做消抖處理。若主循環中某個函數任務占用時間較長,則按鍵會有不同程度的“失靈”。

第二種設計的優點是能夠在GPIO數量有限的情況下,擴展盡可能多的按鍵。但缺點同上,需要不停檢測按鍵是否按下。

第三種設計的效率最高,不需要循環檢測按鍵是否按下,但缺點是需要單片機有足夠的外部中斷接口供使用。

第四種設計的優點是只需要單片機有一個ADC接口、一根線,就能對多個按鍵進行識別,缺點是按鍵內部一旦接觸不良,則可能導致按鍵串位,并且按鍵產生的抖動有可能會造成識別錯誤。

在以上常見按鍵設計的基礎上,分享一下我學習和工作中總結的按鍵方案。

改進一:在原方案一的基礎上,加上與門電路,使得任何一個按鍵按下都能產生中斷,然后在中斷里面識別是哪個按鍵被按下。這改動令電路不需要循環掃描,大大提高了效率。方案如圖5所示。只需要在每個按鍵對應地增加一個二極管,利用二極管的線與特性,就可以實現按下任何按鍵都能產生中斷信號,同時按鍵之間互不影響。二極管選用普通整流二極管即可,經過測試,可靠可行。

圖5:改進一

改進二:在原有ADC按鍵的基礎上,也可以增加二極管的方式,實現按鍵中斷,并在中斷服務程序里進行AD轉換,從而識別按鍵。電路如圖6所示。

圖6:改進二

改進三:按鍵時難免會作成抖動,因此必需按鍵消抖。消抖也可以通過硬件消抖和軟件消抖,這里分享一個十分簡單且有效的硬件消抖方法:給按鍵并聯一個104左右的電容,這樣軟件上基本不用處理即可消除抖動。

改進四:在按鍵掃描檢測的方案下,如果主循環中有某個函數占用時間較長,按鍵或會發生長短不一的“失靈”。對此可以將按鍵掃描放到定時器中斷里面,這樣就可周期性地檢測按鍵按下的情況,在不受主循環的影響下解析出按鍵的不同狀態。(按下、按住、彈起和未按下)

如果都設置了以上的改進,仍要注意以下兩點:

一、定時器的定時時間不可過長也不可過短。過長容易檢測不到按下,過短會占用大量時間資源。

二、中斷服務程序需簡單明了。只做檢測用,通過全局變量傳遞,在主循環內完成按鍵響應,盡量不要在中斷服務函數內占用太多時間。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638557
  • 軟硬件
    +關注

    關注

    1

    文章

    303

    瀏覽量

    19267
  • 按鍵
    +關注

    關注

    4

    文章

    223

    瀏覽量

    57661

原文標題:這些單片機按鍵設計方案,拿走不謝!

文章出處:【微信號:Mouser-Community,微信公眾號:貿澤電子設計圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    兆芯CPU近期軟硬件適配動態

    近期,兆芯攜手多家軟硬件合作伙伴,基于開先KX-7000、開勝KH-40000等自主CPU和信創操作系統環境,持續推進應用生態建設工作,順利完成醫療自主終端、商用收款、服務器操作系統、數據庫管理
    的頭像 發表于 01-15 15:33 ?168次閱讀

    恩智浦電機控制軟硬件解決方案

    。因此,設計一套結合軟硬件的高效電機控制解決方案,不僅能降低能耗,還能實現精準控制,滿足多樣化應用需求。本文將介紹電機控制技術的發展趨勢,以及NXP(恩智浦)與艾睿電子在電機控制技術上的優勢與解決
    的頭像 發表于 01-15 10:12 ?1115次閱讀
    恩智浦電機控制<b class='flag-5'>軟硬件</b>解決<b class='flag-5'>方案</b>

    基于51單片機的分貝檢測報警系統(噪聲儀)

    時,紅燈閃爍且蜂鳴器報警。仿真演示視頻:基于51單片機的分貝檢測報警系統(噪聲儀)-仿真視頻設計介紹51單片機簡介51單片是一低功耗、高性
    的頭像 發表于 10-22 14:12 ?311次閱讀
    基于51<b class='flag-5'>單片機</b>的分貝檢測報警系統(噪聲儀)

    基于51單片機的遠程防盜報警系統

    亮,蜂鳴器報警,表示檢測到聲音;(3)人體感應模式按鍵和聲音感應模式按鍵同時按下,聲光報警,將報警信息“Dangerous!!!”發送到串口調試助手,表示遠程報警。設計介紹51單片機
    的頭像 發表于 10-22 14:10 ?265次閱讀
    基于51<b class='flag-5'>單片機</b>的遠程防盜報警系統

    單片機io口的四種工作狀態

    單片機的I/O口工作狀態是單片機編程和硬件操作中非常重要的一部分,它決定了單片機如何與外部設備進行通信。 1. 單片機I/O口的基本概念
    的頭像 發表于 09-14 14:24 ?2034次閱讀

    基于STM32單片機的智能加濕器設計

    本文介紹了一基于STM32單片機的智能加濕器。該加濕器配備了DHT11溫濕度傳感器、水位傳感器和濁度傳感器,數據通過單片機處理并顯示在OLED屏幕上。用戶可通過
    的頭像 發表于 09-14 08:04 ?1349次閱讀
    基于STM32<b class='flag-5'>單片機</b>的智能加濕器設計

    國產精密信號鏈產品完整解決方案軟硬件兼容TI和ADI

    國產精密信號鏈產品完整解決方案軟硬件兼容TI和ADI
    的頭像 發表于 08-19 09:58 ?592次閱讀
    國產精密信號鏈產品完整解決<b class='flag-5'>方案</b>,<b class='flag-5'>軟硬件</b>兼容TI和ADI

    介紹MCUboot支持的四種升級模式(2)

    介紹MCUboot支持的四種升級模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執行。由于FSP不支持第四種——加載到RAM中執行,因為我們重點介紹前三
    的頭像 發表于 06-13 10:56 ?1068次閱讀
    <b class='flag-5'>介紹</b>MCUboot支持的<b class='flag-5'>四種</b>升級模式(2)

    機器視覺系統讀取二維碼-軟硬件配置方案

    機器視覺系統讀取二維碼-軟硬件配置方案
    的頭像 發表于 05-24 00:56 ?698次閱讀
    機器視覺系統讀取二維碼-<b class='flag-5'>軟硬件</b>配置<b class='flag-5'>方案</b>

    磐啟XNS1042軟硬件資料

    電子發燒友網站提供《磐啟XNS1042軟硬件資料.zip》資料免費下載
    發表于 05-06 10:35 ?6次下載

    基于51單片機的電子鐘【調時,DS1302,數碼管,獨立按鍵】(仿真)

    基于51單片機的電子鐘【調時,DS1302,數碼管,獨立按鍵】(仿真)
    的頭像 發表于 04-10 00:41 ?2600次閱讀
    基于51<b class='flag-5'>單片機</b>的電子鐘【調時,DS1302,數碼管,獨立<b class='flag-5'>按鍵</b>】(仿真)

    基于51單片機的電子鐘【整點報時,6數碼管,獨立按鍵】(仿真)

    基于51單片機的電子鐘【整點報時,6數碼管,獨立按鍵】(仿真)
    的頭像 發表于 04-10 00:37 ?1045次閱讀
    基于51<b class='flag-5'>單片機</b>的電子鐘【整點報時,6數碼管,獨立<b class='flag-5'>按鍵</b>】(仿真)

    電池管理系統(BMS)軟硬件介紹

    電子發燒友網站提供《電池管理系統(BMS)軟硬件介紹.pdf》資料免費下載
    發表于 03-27 09:20 ?9次下載

    如何理解IGBT的四種SOA?

    如何理解IGBT的四種SOA? IGBT的四種SOA表示了IGBT器件在不同工作狀態下的安全操作區域。這四種SOA是:Continuous SOA、Limited SOA、Pulse SOA
    的頭像 發表于 02-18 11:04 ?1222次閱讀
    全椒县| 黄金城百家乐手机用户| 网上百家乐官网分析软件| 真人百家乐ea平台| 如何看百家乐官网的路纸| 大发888客户端的 软件| 至尊百家乐2012| e世博百家乐官网攻略| 瑞安市| 大发888 现金棋牌游戏| 赌场百家乐图片| 百家乐打印机分析| 必博百家乐官网游戏| 新全讯网网站112| 百家乐真人娱乐城| 三元玄空24山坐向| 赌百家乐官网可以赢钱| 百家乐官网赌假的工具| 博讯网| 188金宝博| 娱乐城送钱| 大发888怎么修改密码| 百家乐赌博论坛| 百家乐官网博乐城| 六合投注系统| 大发888游戏平台hg dafa 888 gw 大发888游戏平台dafa 888 gw | 大发888黄金版| 大发888娱乐城官方| 百家乐发牌靴8| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 永利高百家乐怎样开户| 百家乐优惠高的网址| 三公百家乐官网在线哪里可以| 米兰国际娱乐城| 德州扑克 英文| 娱乐城注册送彩金100| 大发888娱乐场下载 17| 百家乐打劫法| 百家乐平台注册| 南京百家乐的玩法技巧和规则| 送58百家乐的玩法技巧和规则|