你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
單片機(jī)按鍵設(shè)計(jì)的四個(gè)方案詳解
發(fā)布時(shí)間:2019-09-21 責(zé)任編輯:wenwei
【導(dǎo)讀】在單片機(jī)系統(tǒng)里,按鍵是常見的輸入設(shè)備,在本文將介紹幾種按鍵硬件、軟件設(shè)計(jì)方面的技巧。一般的在按鍵的設(shè)計(jì)上,一般有四種方案:一是GPIO口直接檢測(cè)單個(gè)按鍵,如圖1.1所示;二是按鍵較多則使用矩陣鍵盤,如圖1.2所示;三是將按鍵接到外部中斷引腳上,利用按鍵按下產(chǎn)生的邊沿信號(hào)進(jìn)行按鍵檢測(cè),如圖1.3所示;四是利用單片機(jī)的ADC,在不同的按鍵按下后,能夠使得ADC接口上的電壓不同,根據(jù)電壓的不同,則可以識(shí)別按鍵,如圖1.4所示。
圖1.1方案一
圖1.2方案二
圖1.3方案三
圖1.4方案四
在以上四種設(shè)計(jì)上,各有優(yōu)點(diǎn)和不足。
第一種是最簡(jiǎn)單和最基礎(chǔ)的,對(duì)于單片機(jī)初學(xué)者很容易理解和使用,但是缺點(diǎn)是,需要在主循環(huán)中不斷檢測(cè)按鍵是否按下,并且需要做消抖處理。若主循環(huán)中某個(gè)函數(shù)任務(wù)占用時(shí)間較長(zhǎng),則按鍵會(huì)有不同程度的“失靈”。
第二種,優(yōu)點(diǎn)是能夠在有限的GPIO情況下,擴(kuò)展盡可能多的按鍵。但缺點(diǎn)同上,需要不停檢測(cè)按鍵是否按下。
第三種方式是效率最高,不需要循環(huán)檢測(cè)按鍵是否按下,但是缺點(diǎn)是,需要單片機(jī)有足夠的外部中斷接口以供使用;第四種的優(yōu)點(diǎn)是,只需要單片機(jī)的一個(gè)ADC接口,一根線,就能對(duì)多個(gè)按鍵進(jìn)行識(shí)別,缺點(diǎn)是按鍵一旦內(nèi)部接觸不良,則可能按鍵串位,且按鍵產(chǎn)生的抖動(dòng),會(huì)造成一定的識(shí)別錯(cuò)誤。
在以上的三種常見按鍵設(shè)計(jì)的基礎(chǔ)上,現(xiàn)在分享我學(xué)習(xí)和工作中總結(jié)的按鍵方案。
改進(jìn)一:在原方案一的基礎(chǔ)上,加上與門電路,使得任何一個(gè)按鍵按下,都能產(chǎn)生中斷,然后在中斷里面識(shí)別是哪個(gè)按鍵被按下。因此不需要循環(huán)掃描,大大提高了效率。方案如圖1.5所示。只需要每個(gè)按鍵對(duì)應(yīng)地增加一個(gè)二極管,利用二極管的線與特性,可以實(shí)現(xiàn)按下任何按鍵,都能產(chǎn)生中斷信號(hào),但是按鍵之間互不影響。二極管選用普通整流二極管即可,本人親測(cè)可行。
圖1.5 改進(jìn)一
圖1.6 改進(jìn)二
改進(jìn)二:在原有的ADC按鍵的基礎(chǔ)上,也可用增加二極管的方式,實(shí)現(xiàn)按鍵中斷,并在中斷服務(wù)程序里進(jìn)行AD轉(zhuǎn)換,從而識(shí)別按鍵。電路如圖1.6所示。
改進(jìn)三:因?yàn)榘存I不可避免的有抖動(dòng),因此按鍵消抖可以通過(guò)硬件消痘和軟件消抖?,F(xiàn)在分享一個(gè)十分簡(jiǎn)單且有效的硬件消痘方法:給按鍵并聯(lián)一個(gè)104左右的電容。軟件上基本不用處理即可避免抖動(dòng)。
改進(jìn)四:在按鍵掃描檢測(cè)的方案下,如果主循環(huán)中有某個(gè)函數(shù)占用時(shí)間較長(zhǎng),則按鍵會(huì)發(fā)生或長(zhǎng)或短的“失靈”,現(xiàn)分享我的一個(gè)解決方案。將按鍵掃描放到定時(shí)器中斷里面,這樣就可周期性地檢測(cè)按鍵按下情況,不受主循環(huán)的影響。并且,能解析出按鍵的不同狀態(tài),即按下、按住、彈起、為按下這四種狀態(tài),用以實(shí)現(xiàn)更豐富的功能。
但需注意兩點(diǎn),一是定時(shí)器的定時(shí)時(shí)間,不可過(guò)長(zhǎng)也不可過(guò)短,過(guò)長(zhǎng)容易檢測(cè)不到按下,過(guò)短會(huì)占用大量時(shí)間資源。二是中斷服務(wù)程序需簡(jiǎn)單明了,只做檢測(cè)用,通過(guò)全局變量傳遞,在主循環(huán)內(nèi)完成按鍵響應(yīng),中斷服務(wù)函數(shù)內(nèi)盡量不要占用太多時(shí)間。
推薦閱讀:
特別推薦
- 復(fù)雜的RF PCB焊接該如何確保恰到好處?
- 電源效率測(cè)試
- 科技的洪荒之力:可穿戴設(shè)備中的MEMS傳感器 助運(yùn)動(dòng)員爭(zhēng)金奪銀
- 輕松滿足檢測(cè)距離,勞易測(cè)新型電感式傳感器IS 200系列
- Aigtek推出ATA-400系列高壓功率放大器
- TDK推出使用壽命更長(zhǎng)和熱點(diǎn)溫度更高的全新氮?dú)馓畛淙嘟涣鳛V波電容器
- 博瑞集信推出低噪聲、高增益平坦度、低功耗 | 低噪聲放大器系列
技術(shù)文章更多>>
- 基于APM32F411的移動(dòng)電源控制板應(yīng)用方案
- 數(shù)字儀表與模擬儀表:它們有何區(qū)別?
- 聚焦制造業(yè)企業(yè)貨量旺季“急難愁盼”,跨越速運(yùn)打出紓困“連招”
- 選擇LDO時(shí)的主要考慮因素和挑戰(zhàn)
- 兩張圖說(shuō)清楚共射極放大器為什么需要發(fā)射極電阻
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
光收發(fā)器
光通訊器件
光纖連接器
軌道交通
國(guó)防航空
過(guò)流保護(hù)器
過(guò)熱保護(hù)
過(guò)壓保護(hù)
焊接設(shè)備
焊錫焊膏
恒溫振蕩器
恒壓變壓器
恒壓穩(wěn)壓器
紅外收發(fā)器
紅外線加熱
厚膜電阻
互連技術(shù)
滑動(dòng)分壓器
滑動(dòng)開關(guān)
輝曄
混合保護(hù)器
混合動(dòng)力汽車
混頻器
霍爾傳感器
機(jī)電元件
基創(chuàng)卓越
激光二極管
激光器
計(jì)步器
繼電器