單片機按鍵設計的四個方案詳解
發布時間:2019-09-21 責任編輯:wenwei
【導讀】在單片機係統裏,按鍵是常見的輸入設備,在本文將介紹幾種按鍵硬件、軟件設計方麵的技巧。一般的在按鍵的設計上,一般有四種方案:一是GPIO口直接檢測單個按鍵,如圖1.1所示;二是按鍵較多則使用矩陣鍵盤,如圖1.2所示;三是將按鍵接到外部中斷引腳上,利用按鍵按下產生的邊沿信號進行按鍵檢測,如圖1.3所示;四是利用單片機的ADC,在不同的按鍵按下後,能夠使得ADC接口上的電壓不同,根據電壓的不同,則可以識別按鍵,如圖1.4所示。

圖1.1方案一

圖1.2方案二

圖1.3方案三

圖1.4方案四
在以上四種設計上,各有優點和不足。
第di一yi種zhong是shi最zui簡jian單dan和he最zui基ji礎chu的de,對dui於yu單dan片pian機ji初chu學xue者zhe很hen容rong易yi理li解jie和he使shi用yong,但dan是shi缺que點dian是shi,需xu要yao在zai主zhu循xun環huan中zhong不bu斷duan檢jian測ce按an鍵jian是shi否fou按an下xia,並bing且qie需xu要yao做zuo消xiao抖dou處chu理li。若ruo主zhu循xun環huan中zhong某mou個ge函han數shu任ren務wu占zhan用yong時shi間jian較jiao長chang,則ze按an鍵jian會hui有you不bu同tong程cheng度du的de“失靈”。
第二種,優點是能夠在有限的GPIO情況下,擴展盡可能多的按鍵。但缺點同上,需要不停檢測按鍵是否按下。
第三種方式是效率最高,不需要循環檢測按鍵是否按下,但是缺點是,需要單片機有足夠的外部中斷接口以供使用;第四種的優點是,隻需要單片機的一個ADC接(jie)口(kou),一(yi)根(gen)線(xian),就(jiu)能(neng)對(dui)多(duo)個(ge)按(an)鍵(jian)進(jin)行(xing)識(shi)別(bie),缺(que)點(dian)是(shi)按(an)鍵(jian)一(yi)旦(dan)內(nei)部(bu)接(jie)觸(chu)不(bu)良(liang),則(ze)可(ke)能(neng)按(an)鍵(jian)串(chuan)位(wei),且(qie)按(an)鍵(jian)產(chan)生(sheng)的(de)抖(dou)動(dong),會(hui)造(zao)成(cheng)一(yi)定(ding)的(de)識(shi)別(bie)錯(cuo)誤(wu)。
在以上的三種常見按鍵設計的基礎上,現在分享我學習和工作中總結的按鍵方案。
改進一:zaiyuanfanganyidejichushang,jiashangyumendianlu,shiderenheyigeanjiananxia,dounengchanshengzhongduan,ranhouzaizhongduanlimianshibieshinageanjianbeianxia。yincibuxuyaoxunhuansaomiao,dadatigaolexiaolv。fanganrutu1.5所suo示shi。隻zhi需xu要yao每mei個ge按an鍵jian對dui應ying地di增zeng加jia一yi個ge二er極ji管guan,利li用yong二er極ji管guan的de線xian與yu特te性xing,可ke以yi實shi現xian按an下xia任ren何he按an鍵jian,都dou能neng產chan生sheng中zhong斷duan信xin號hao,但dan是shi按an鍵jian之zhi間jian互hu不bu影ying響xiang。二er極ji管guan選xuan用yong普pu通tong整zheng流liu二er極ji管guan即ji可ke,本ben人ren親qin測ce可ke行xing。

圖1.5 改進一

圖1.6 改進二
改進二:在原有的ADC按鍵的基礎上,也可用增加二極管的方式,實現按鍵中斷,並在中斷服務程序裏進行AD轉換,從而識別按鍵。電路如圖1.6所示。
改進三:因為按鍵不可避免的有抖動,因此按鍵消抖可以通過硬件消痘和軟件消抖。現在分享一個十分簡單且有效的硬件消痘方法:給按鍵並聯一個104左右的電容。軟件上基本不用處理即可避免抖動。
改進四:在按鍵掃描檢測的方案下,如果主循環中有某個函數占用時間較長,則按鍵會發生或長或短的“失靈”,現(xian)分(fen)享(xiang)我(wo)的(de)一(yi)個(ge)解(jie)決(jue)方(fang)案(an)。將(jiang)按(an)鍵(jian)掃(sao)描(miao)放(fang)到(dao)定(ding)時(shi)器(qi)中(zhong)斷(duan)裏(li)麵(mian),這(zhe)樣(yang)就(jiu)可(ke)周(zhou)期(qi)性(xing)地(di)檢(jian)測(ce)按(an)鍵(jian)按(an)下(xia)情(qing)況(kuang),不(bu)受(shou)主(zhu)循(xun)環(huan)的(de)影(ying)響(xiang)。並(bing)且(qie),能(neng)解(jie)析(xi)出(chu)按(an)鍵(jian)的(de)不(bu)同(tong)狀(zhuang)態(tai),即(ji)按(an)下(xia)、按住、彈起、為按下這四種狀態,用以實現更豐富的功能。
但dan需xu注zhu意yi兩liang點dian,一yi是shi定ding時shi器qi的de定ding時shi時shi間jian,不bu可ke過guo長chang也ye不bu可ke過guo短duan,過guo長chang容rong易yi檢jian測ce不bu到dao按an下xia,過guo短duan會hui占zhan用yong大da量liang時shi間jian資zi源yuan。二er是shi中zhong斷duan服fu務wu程cheng序xu需xu簡jian單dan明ming了le,隻zhi做zuo檢jian測ce用yong,通tong過guo全quan局ju變bian量liang傳chuan遞di,在zai主zhu循xun環huan內nei完wan成cheng按an鍵jian響xiang應ying,中zhong斷duan服fu務wu函han數shu內nei盡jin量liang不bu要yao占zhan用yong太tai多duo時shi間jian。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光


