Proteus使用技巧
矩陣鍵盤是讀取一系列按鍵的有效方法,例如讀取電話的撥號(hào)盤、POS機(jī)小鍵盤、電腦鍵盤,甚至是電子鋼琴上的鍵盤。
讀取大量按鍵輸入的一種方法是將每個(gè)按鍵連接到其自己的微控制器輸入引腳。對(duì)于 4x4 鍵盤,這將需要 16 個(gè) GPIO(通用輸入/輸出)引腳。
但是,通過在矩陣中連接按鍵,只需 8 個(gè) GPIO 即可讀取相同數(shù)量的按鍵。
這減少了所需的微控制器引腳數(shù)量,以及相關(guān)布線/PCB走線的數(shù)量。
矩陣式鍵盤是按行和列的網(wǎng)格布線的(盡管它們?cè)谖锢砩喜灰欢ㄒ催@個(gè)方向布置,例如電子鋼琴鍵盤)。在微控制器上,行或列的引腳被永久設(shè)置為輸入(本文中我們堅(jiān)持使用行連接),而另一組引腳(本文中我們堅(jiān)持使用列連接)在輸出(低電平驅(qū)動(dòng))和浮空(基本上是開漏輸出)之間切換。
行輸入引腳需要上拉電阻,這可以在微控制器外部添加,也可以在微控制器內(nèi)部激活(如果微控制器包含此功能)。一些微控制器具有開漏輸出引腳(用于列),或者可以簡(jiǎn)單地將這些引腳設(shè)置為輸入,以使其浮空。如果你對(duì)上拉電阻、浮空和/或開漏這些術(shù)語不熟悉,那么這里有一些快速解釋:
浮空輸入
浮空輸入是一種不主動(dòng)驅(qū)動(dòng)到任何特定水平的輸入,它真的可以是任何東西(例如,基于環(huán)境中的靜電)。我們都使用過自動(dòng)關(guān)閉的門,比如在公共設(shè)施中常見的門--除非你主動(dòng)把門打開,否則就會(huì)有一個(gè)機(jī)制把它再次關(guān)上。如果沒有自動(dòng)關(guān)閉機(jī)制(現(xiàn)在想象一下,門沒有閂鎖機(jī)制),門會(huì)被風(fēng)吹來吹去,或者被進(jìn)出的人移動(dòng),它不會(huì)默認(rèn)到任何特定的位置。
上拉(或下拉)電阻
上拉(或下拉)電阻類似于這些門上的自動(dòng)關(guān)閉機(jī)制,因?yàn)樗诓恢鲃?dòng)驅(qū)動(dòng)時(shí)將輸入保持在一個(gè)特定的水平。上拉(或下拉)電阻可以被認(rèn)為是一個(gè)彈簧,當(dāng)它沒有被主動(dòng)驅(qū)動(dòng)時(shí),它將輸入拉到一個(gè)特定的水平,你可能注意到,電阻符號(hào)實(shí)際上看起來像一個(gè)小彈簧:
開漏輸出
開漏輸出是一個(gè)只能被驅(qū)動(dòng)為低電平的輸出,而不是高電平;輸出要么是低電平,要么是浮空的。本質(zhì)上,輸出只是連接到一個(gè)晶體管的漏極引腳(因此稱為開漏)。
通過將微控制器引腳在輸入(浮空,沒有上拉或下拉電阻)和輸出(被驅(qū)動(dòng)為低電平)之間切換,可以實(shí)現(xiàn)類似的效果。
讀取矩陣鍵盤
為了讀取矩陣中的任何特定按鍵,我們將相應(yīng)的列引腳驅(qū)動(dòng)為低電平,然后讀取相應(yīng)的行引腳;如果行引腳讀取為低電平,則該按鍵被按下,如果它讀取為高電平,則該按鍵未被按下。
通常,這是在快速順序掃描操作中完成的,以檢查矩陣中的每個(gè)按鍵,依次驅(qū)動(dòng)每個(gè)列引腳,同時(shí)讀取中間的每個(gè)行引腳。同時(shí)按鍵不會(huì)對(duì)此方法造成任何問題,并且仍然可以單獨(dú)讀取每個(gè)鍵。
防抖動(dòng)
機(jī)械開關(guān)也會(huì)出現(xiàn)一種彈跳現(xiàn)象,即開關(guān)的觸點(diǎn)在接觸時(shí)發(fā)生物理彈跳,并在開關(guān)穩(wěn)定在新狀態(tài)之前出現(xiàn)一些快速的電壓轉(zhuǎn)換:
如果微控制器非常頻繁地讀取輸入,那么它可能會(huì)將彈跳記錄成按下按鍵的次數(shù)(而不是用戶期望的一次按下);最簡(jiǎn)單的解決方案是每次讀取按鍵之間留出一定的延遲時(shí)間,這將使按鍵有足夠的時(shí)間在兩次讀取之間轉(zhuǎn)換(通常 10-50ms 就足夠了),這就是防抖開關(guān)技術(shù)。
*本文章版權(quán)歸英國LABCENTER公司所有,由廣州風(fēng)標(biāo)電子提供翻譯,原文鏈接如下:*https://www.labcenter.com/blog/sim-matrix-keypad/
-
微控制器
+關(guān)注
關(guān)注
48文章
7542瀏覽量
151316 -
上拉電阻
+關(guān)注
關(guān)注
5文章
359瀏覽量
30606 -
矩陣鍵盤
+關(guān)注
關(guān)注
7文章
206瀏覽量
31454 -
PROTEUS仿真
+關(guān)注
關(guān)注
28文章
308瀏覽量
35245 -
PCB走線
+關(guān)注
關(guān)注
3文章
135瀏覽量
13917
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論