學(xué)習(xí)單片機的時候想必大家都接觸過按鍵,按鍵是一個人機交互的接口設(shè)備,在剛開始接觸的時候 簡單也是 直接的辦法就是將按鍵直接接到一個 I/O 口上,然后檢測 I/O 上的電平變化,假設(shè)按鍵另一端接在 GND 上,則一旦檢測到低電平就認為是按鍵觸發(fā)了(此處假設(shè)已經(jīng)進行了去抖,軟件去抖也好,硬件去抖也好),乍一看,no problem!而且還是 very good!其實這對于初學(xué)者而言確實是入門的不二選擇,但對大佬而言就是錯誤的設(shè)計思想。
問題出在去檢測 I/O 口這個過程,CPU 必須每隔一段時間檢測,一般用定時器去實現(xiàn),間隔時間太長了達不到實時的性能,時間太短了有浪費 CPU 資源,因為在很多場合按鍵處于觸發(fā)的時間段時相當少的,比如學(xué)校的自動圈存機,一般情況下時沒人用的,那就意味著 CPU 每間隔時間去查看 I/O 是非常不合理的,只有當按鍵按下采取查看,這才是 合理的方式。
這樣就必須引入外部中斷的設(shè)計方案,一個按鍵的設(shè)計原理圖如下:
如果有兩個甚至多個按鍵,那如何弄了,很簡單,使用或門來解決這個問題。電路圖如下:
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關(guān)推薦
疫情期間,單片機設(shè)計的額溫槍PCB原理圖,打開版本AD9,有需要的拿去!
發(fā)表于 03-18 14:31
單片機設(shè)置同一個按鍵兩種功能,利用按鍵來進行界面或者是菜單的切換,公子給出以下思路,僅供參考,如果大家還有其他的更加好的方法,請大家私聊公子,好的東西需要
發(fā)表于 07-21 09:04
的,今天把我這次51實驗的程序作為博客生涯的第一篇吧,加油。目標:通過51單片機設(shè)計一個簡單的鬧鐘,具體為:可以實現(xiàn)基本時鐘功能,按鍵還能切
發(fā)表于 01-13 06:28
stc89s52單片機設(shè)計應(yīng)用原理圖 該原理圖包括以下幾個模塊:流水燈模塊、數(shù)碼管顯示模塊、溫度傳感器模塊、液晶顯示模塊、串口通信模塊、鍵盤模塊等 原理圖部分截圖
發(fā)表于 05-21 15:06
?272次下載
按鍵幾乎也是每次藍橋杯單片機設(shè)計與開發(fā)組競賽的必考部分,因為這是CT107D開發(fā)平臺上僅有的輸入設(shè)備之一,而且按鍵也是單片機基礎(chǔ)開發(fā)中常見的
發(fā)表于 04-13 08:00
?49次下載
本文檔的主要內(nèi)容詳細介紹的是基于單片機設(shè)計的智能車資料包括原理圖和PCB圖詳細資料概述。
發(fā)表于 07-24 08:00
?20次下載
采用51單片機設(shè)計制作一個簡易數(shù)顯秒表(類似跑表),數(shù)碼管顯示數(shù)字;可用按鍵實現(xiàn)秒表的暫停和清零。
發(fā)表于 10-31 08:00
?3次下載
本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計鍵盤的電路原理圖和程序免費下載。
發(fā)表于 08-06 17:34
?4次下載
本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計萬年歷的電路原理圖資料免費下載。
發(fā)表于 05-29 08:00
?23次下載
本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計心形LED燈的原理圖免費下載。
發(fā)表于 06-28 08:00
?11次下載
本文檔的主要內(nèi)容詳細介紹的是使用單片機設(shè)計的多功能鬧鐘電路原理圖免費下載。
發(fā)表于 07-04 15:49
?18次下載
本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計指紋密碼鎖的電路原理圖和PCB資料免費下載。
發(fā)表于 07-05 08:00
?75次下載
本文檔的主要內(nèi)容詳細介紹的是使用單片機設(shè)計的智能奶瓶電路原理圖免費下載。
發(fā)表于 09-02 08:00
?0次下載
使用單片機設(shè)計的多功能鬧鐘電路原理圖免費下載。
發(fā)表于 06-11 09:49
?45次下載
下面是本例中按鍵檢測的電路原理圖,K1是一個按鍵,它接在單片機的P3.3口上,R2是
發(fā)表于 11-02 15:28
?6190次閱讀
評論