(21種方案的原理圖展示,及原理簡(jiǎn)單介紹)
按鍵作為一個(gè)輸入模塊,在單片機(jī)開發(fā)板中必不可少,本文來(lái)討論按鍵的設(shè)計(jì)方案。本文1600字。之后可能對(duì)按鍵編程部分進(jìn)行分析(可能是視頻形式,打字的話,太多了)
按鍵模塊的編程,實(shí)際上就是根據(jù)檢測(cè)口的電平變化和按鍵電路的狀態(tài),判斷出按鍵模塊中哪個(gè)按鍵是真的按下了,按鍵編程的最基礎(chǔ),常用的就是區(qū)分出每一個(gè)按鍵,其次是每個(gè)按鍵的長(zhǎng)按,短按,雙擊。最后才是組合按鍵的情況。組合按鍵是指多個(gè)按鍵同時(shí)按下的情況,比如電腦鍵盤存在3個(gè)按鍵同時(shí)按下的情況。多個(gè)按鍵同時(shí)按下,獨(dú)立按鍵是比較好處理的,因?yàn)椴淮嬖陔娐穯?wèn)題,其他的按鍵電路,有的電路不能容忍多個(gè)按鍵同時(shí)按下,如,ADC檢測(cè)按鍵,還有的電路,檢測(cè)起來(lái)的程序可能更加復(fù)雜,這里就不進(jìn)行展開了。
按鍵的模塊的設(shè)計(jì),主要內(nèi)容是:按鍵數(shù)量和需要IO口的數(shù)量,當(dāng)然有些不常見(jiàn)的按鍵電路,需要一些其他器件,芯片輔助完成。
下表為按鍵設(shè)計(jì)的一些方案(占用IO口數(shù)量在8個(gè)IO口以內(nèi),可使用擴(kuò)展芯片。只列出來(lái)一部分,有些專用的按鍵檢測(cè)芯片,因?yàn)楸救藳](méi)有使用過(guò),所以這里沒(méi)有列出來(lái),歡迎評(píng)論區(qū)留言)
表1 一些按鍵檢測(cè)方案
方案1,2的電路圖相似,編程上也基本一致,但是要做到3X3矩陣按鍵不影響8個(gè)IO口剩下的兩個(gè),需要對(duì)4X4矩陣按鍵的代碼做出一些優(yōu)化,這里就不進(jìn)行展開了。下圖是4X4矩陣按鍵和3X3矩陣按鍵的原理圖。
方案3-6,看似就是按鍵數(shù)量的增加,電路的重復(fù),實(shí)際上針對(duì)不同的按鍵數(shù)量,他們的編程可能存在不同,比如最常見(jiàn)的獨(dú)立按鍵編程,只檢測(cè)一個(gè)按鍵,那如何編程2個(gè)獨(dú)立按鍵的程序呢?復(fù)制,再寫個(gè)一樣的函數(shù)?這樣做的效率其實(shí)很低。獨(dú)立按鍵的原理圖如圖所示。同時(shí)獨(dú)立按鍵可以加上0.1Uf的電容進(jìn)行消抖處理,這樣我們代碼中就不需要軟件消抖了。
方案7,8都是按鍵結(jié)合二極管,使得較少的IO口可以檢測(cè)出較多的按鍵,這兩個(gè)我之前都分析過(guò)的,也分享過(guò)視頻,這里就不進(jìn)行展開了。
方案9,4個(gè)IO口檢測(cè)52個(gè)按鍵,這里使用了較多的二極管,這個(gè)的檢測(cè)原理和方案7,8相似,這里不進(jìn)行展開了,本人還沒(méi)有進(jìn)行測(cè)試。但是原理沒(méi)有問(wèn)題,同時(shí)4個(gè)IO口理論上可以檢測(cè)更多的按鍵,不過(guò)還需要增加二極管的數(shù)量。
方案10,譯碼器+
IO口方案,這個(gè)其實(shí)就是一個(gè)掃描方案,如果你的電路中出現(xiàn)數(shù)碼管,可以和數(shù)碼管的位選進(jìn)行結(jié)合,減少單片機(jī)IO口的使用數(shù)量,當(dāng)然那樣你的代碼可能更加的復(fù)雜。
方案11,一個(gè)IO口檢測(cè)兩個(gè)按鍵,這個(gè)設(shè)計(jì)呢,可能有點(diǎn)超出大部人的理解,但這個(gè)設(shè)計(jì)確實(shí)可以存在。通過(guò)判斷IO電平是被拉高還是拉低區(qū)分出兩個(gè)按鍵的動(dòng)作。
方案12,矩陣按鍵8X8,是一個(gè)我之前制作過(guò)的一個(gè)項(xiàng)目,使用譯碼器進(jìn)行掃描,使用CD4051讀取按鍵的狀態(tài),64個(gè)按鍵需要掃描64次才完成一輪,當(dāng)檢測(cè)按鍵按下時(shí),停止掃描,進(jìn)行按鍵的,短按,長(zhǎng)按,雙擊判斷,算是轉(zhuǎn)化為普通的按鍵了。
方案13,ADC檢測(cè)按鍵,這個(gè)方案作為最節(jié)省IO口的代表,每次我發(fā)其他類型的視頻,總是有人推薦這個(gè),有一說(shuō)一,確實(shí)。但是這個(gè)是需要ADC口的,同時(shí)這個(gè)按鍵組合,一定不能存在兩個(gè)按鍵同時(shí)被按下的情況。還有就是電路中的電阻精度,盡量選擇1%,選擇5%精度的電阻可能出現(xiàn)按鍵檢測(cè)錯(cuò)誤現(xiàn)象。
方案14-20,又是一系列方案,這個(gè)方案和方案7.8.9是一樣的,從方案7,8,9演變而來(lái),取消了方案7,8,9中的部分情況。
方案20,這個(gè)8個(gè)IO口檢測(cè)64個(gè)按鍵,其中電路中二極管的數(shù)量為8個(gè),這8個(gè)二極管的作用就是:區(qū)分出是IO1拉低了IO2,還是IO2拉低了IO1。區(qū)分出這些呢,一共是56種情況,加上最下邊的8個(gè)獨(dú)立按鍵,即可實(shí)現(xiàn)64個(gè)按鍵的區(qū)分。
方案21,8路觸摸按鍵。這個(gè)方案我是測(cè)試過(guò)的,可行,但是電路需要較多的元件,因?yàn)檫@個(gè)電路是從最基礎(chǔ)的部分做起。這個(gè)的原理就不分析了,分析起來(lái)能新開一篇文章。
至此,21個(gè)電路,12種按鍵方案的電路圖已經(jīng)分享完了,部分方案我是分享過(guò)視頻的,而每一個(gè)方案都是可行的(如果問(wèn)題,可以提出),之后呢,可能對(duì)每種方案的編程思想進(jìn)行詳解,敬請(qǐng)期待。
-
電路圖
+關(guān)注
關(guān)注
10340文章
10720瀏覽量
530210 -
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634634 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
按鍵電路
+關(guān)注
關(guān)注
1文章
35瀏覽量
21770 -
按鍵檢測(cè)
+關(guān)注
關(guān)注
0文章
23瀏覽量
4834
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論