0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

閱讀矩陣鍵盤的應(yīng)用設(shè)計(jì)原理

要長高 ? 來源:labcenter ? 作者:labcenter ? 2023-11-28 11:09 ? 次閱讀

矩陣鍵盤是讀取按鈕陣列的有效方式。其中的一些例子包括電話上的撥號盤、銷售點(diǎn)(信用卡支付)機(jī)器上的小鍵盤、計(jì)算機(jī)鍵盤,甚至電鋼琴上的鍵盤。

讀取大量按鈕輸入的一種方法是將每個(gè)按鈕連接到其自己的微控制器輸入引腳。對于4x4鍵盤,這將需要16個(gè)GPIOs(通用輸入/輸出)引腳。

wKgZomVlV2KAWPUGAAJT7qE5mpo383.png

然而,通過將按鈕連接成矩陣,同樣數(shù)量的按鈕可以僅用8個(gè)GPIOs讀取。

wKgZomVlV3aAIl9uAAJkV_kI2Ao110.png

這減少了所需的微控制器引腳數(shù)量,以及相關(guān)布線數(shù)量PCB走線數(shù)量。

矩陣鍵盤以行和列的網(wǎng)格布線(盡管它們實(shí)際上不必以那個(gè)方向布置,例如在電子鋼琴鍵盤的例子中)。在微控制器上,行或列引腳被永久設(shè)置為輸入(在本文中,我們將堅(jiān)持使用行連接實(shí)現(xiàn)此目的),而另一組引腳(在本文中,我們將堅(jiān)持使用列連接實(shí)現(xiàn)此目的)在輸出(驅(qū)動(dòng)為低電平)和浮動(dòng)(實(shí)際上是開漏輸出)之間切換。

行輸入引腳上需要上拉電阻,可以在微控制器外部添加,也可以在微控制器內(nèi)部激活(如果微控制器包含此功能)。一些微控制器具有開漏輸出引腳(用于列),或者引腳可以簡單地設(shè)置為輸入,以便使它們浮動(dòng)。

如果您不熟悉上拉電阻、浮動(dòng)和/或開漏等術(shù)語,這里有一些簡單的解釋:

一些定義

浮動(dòng)輸入是指沒有被主動(dòng)驅(qū)動(dòng)到任何特定電平的輸入,實(shí)際上可以是任何電平(例如,基于環(huán)境中的靜電)。我們都使用過自動(dòng)關(guān)閉的門,比如公共設(shè)施中常見的門——除非你主動(dòng)把門打開,否則會有一種機(jī)制將它再次關(guān)閉。如果沒有自動(dòng)關(guān)閉機(jī)制(現(xiàn)在想象門沒有閂鎖機(jī)制),門會被風(fēng)吹動(dòng)或被進(jìn)出的人移動(dòng),它不會默認(rèn)到任何特定的位置。

上拉(或下拉)電阻類似于這些門上的自動(dòng)關(guān)閉機(jī)制,它在不被主動(dòng)驅(qū)動(dòng)時(shí)將輸入保持在特定電平。上拉(或下拉)電阻可視為一個(gè)彈簧,當(dāng)它未被主動(dòng)驅(qū)動(dòng)時(shí),將輸入拉至特定電平,您可能會注意到電阻符號實(shí)際上看起來像一個(gè)小彈簧:

wKgZomVlV4GASUKAAACFDjQLlfg559.png

開漏輸出只能被驅(qū)動(dòng)為低電平,而不能被驅(qū)動(dòng)為高電平;輸出為低電平或浮動(dòng)。實(shí)質(zhì)上,輸出只是簡單地連接到晶體管的漏極引腳(因此稱為開漏)。

wKgaomVlV4yAYz2eAAAnXE3XPG0290.png

通過在微控制器引腳作為輸入(浮動(dòng)、無上拉或下拉電阻)和被驅(qū)動(dòng)為低電平的輸出之間切換,可以實(shí)現(xiàn)類似的效果。

讀取矩陣鍵盤

為了讀取矩陣中的任何特定按鈕,我們將相應(yīng)的列引腳驅(qū)動(dòng)為低,然后讀取相應(yīng)的行引腳;如果row引腳讀數(shù)為低,則按鈕被按下,如果讀數(shù)為高,則按鈕不被按下。

wKgZomVlV5iAXi1kAAAvlQ8jz_E899.pngwKgaomVlV6eABpRGAAAwMXvLjwA612.png

這通常是在快速順序掃描操作中完成的,以檢查矩陣中的每個(gè)按鈕,依次驅(qū)動(dòng)每個(gè)列引腳為低,同時(shí)讀取其間的每個(gè)行引腳。同時(shí)按鍵不會給這種方法帶來任何問題,并且仍然可以單獨(dú)讀取每個(gè)按鍵。

去抖動(dòng)

機(jī)械開關(guān)還會出現(xiàn)反彈現(xiàn)象,即開關(guān)的觸點(diǎn)在接觸時(shí)會發(fā)生物理反彈,從而導(dǎo)致開關(guān)在新狀態(tài)下穩(wěn)定之前出現(xiàn)幾次快速電壓轉(zhuǎn)換:

wKgaomVlV8qADUVUAAAbmj_Ii9M537.png

如果微控制器非常頻繁地讀取輸入,那么它可以將彈跳記錄為按鈕按壓的次數(shù)(而不是用戶期望的僅僅一次按壓);對此最簡單的解決方案是在按鈕的每個(gè)后續(xù)讀取之間簡單地留下一些延遲,這將給予按鈕足夠的時(shí)間在讀取之間轉(zhuǎn)換(通常10-50毫秒就足夠了)。這類技術(shù)被稱為開關(guān)去抖。

wKgZomVlV7WAZY47AAJsy5zbRWM263.png

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150107
  • 矩陣鍵盤
    +關(guān)注

    關(guān)注

    7

    文章

    205

    瀏覽量

    31345
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1175

    瀏覽量

    51515
  • 高電平
    +關(guān)注

    關(guān)注

    6

    文章

    140

    瀏覽量

    21166
  • PCB
    PCB
    +關(guān)注

    關(guān)注

    1

    文章

    1723

    瀏覽量

    13204
收藏 人收藏

    評論

    相關(guān)推薦

    什么是矩陣鍵盤

    矩形鍵盤介紹什么是矩陣鍵盤矩陣鍵盤的原理驅(qū)動(dòng)電路圖軟件程序?qū)崿F(xiàn)介紹什么是矩陣
    發(fā)表于 01-07 07:43

    矩陣鍵盤是什么?矩陣鍵盤怎么用?

    矩陣鍵盤是什么?矩陣鍵盤怎么用?
    發(fā)表于 01-18 06:20

    什么是矩陣鍵盤?矩陣鍵盤掃描原理介紹

    矩陣鍵盤矩陣鍵盤簡介矩陣鍵盤掃描原理端口的配置相關(guān)函數(shù)的編寫主函數(shù)與其他串口的接線與
    發(fā)表于 02-28 06:32

    矩陣鍵盤專題

    將按鍵排列成矩陣形式被稱為矩陣鍵盤矩陣鍵盤程序則實(shí)現(xiàn)了矩陣
    發(fā)表于 10-25 15:19
    <b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>專題

    VNS網(wǎng)絡(luò)控制矩陣鍵盤

    VNS網(wǎng)絡(luò)控制矩陣鍵盤是與VNS系列網(wǎng)絡(luò)數(shù)字矩陣配套使用的全功能控制鍵盤,可通過以太網(wǎng)網(wǎng)絡(luò)控制直接操作帶網(wǎng)絡(luò)控制功能的矩陣主機(jī),
    發(fā)表于 10-26 09:16 ?1818次閱讀

    矩陣鍵盤

    矩陣鍵盤,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-18 17:59 ?4次下載

    矩陣鍵盤與顯示實(shí)驗(yàn)要求

    矩陣鍵盤與顯示實(shí)驗(yàn)要求
    發(fā)表于 12-17 10:06 ?18次下載

    矩陣鍵盤

    矩陣鍵盤
    發(fā)表于 12-25 22:47 ?0次下載

    矩陣鍵盤設(shè)計(jì)

    矩陣鍵盤設(shè)計(jì)
    發(fā)表于 10-16 11:40 ?15次下載
    <b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>設(shè)計(jì)

    矩陣鍵盤有什么用_矩陣鍵盤有何用途

    本文開始介紹了什么是矩陣鍵盤矩陣鍵盤的組成結(jié)構(gòu),其次詳細(xì)闡述了矩陣鍵盤用途,最后介紹了
    發(fā)表于 02-24 14:01 ?1.6w次閱讀

    矩陣鍵盤使用方法

    本文開始了矩陣鍵盤的結(jié)構(gòu),其次介紹了矩陣鍵盤的工作原理,最后詳細(xì)闡述了三維矩陣鍵盤的使用方法。
    發(fā)表于 02-24 14:42 ?2.5w次閱讀
    <b class='flag-5'>矩陣</b>式<b class='flag-5'>鍵盤</b>使用方法

    矩陣鍵盤的按鍵識別方法_矩陣鍵盤掃描程序

    矩陣鍵盤的按鍵識別方法來自簡單日記網(wǎng)精選推薦。在學(xué)習(xí)有關(guān)矩陣鍵盤的時(shí)候,往往要學(xué)會矩陣鍵盤的按鍵
    的頭像 發(fā)表于 04-20 09:39 ?3.4w次閱讀

    stm32矩陣鍵盤學(xué)習(xí)筆記

    矩陣鍵盤矩陣鍵盤簡介矩陣鍵盤掃描原理端口的配置相關(guān)函數(shù)的編寫主函數(shù)與其他串口的接線與
    發(fā)表于 01-13 16:27 ?36次下載
    stm32<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>學(xué)習(xí)筆記

    矩陣鍵盤掃描的原理及設(shè)計(jì)

    設(shè)計(jì)中在遇到按鍵較多,但是單片機(jī)I/O資源有限時(shí),采用矩陣鍵盤是一種很好的選擇方案。在按鍵較少時(shí),矩陣鍵盤沒有明顯的優(yōu)勢,比如3×3矩陣
    的頭像 發(fā)表于 07-05 14:59 ?9691次閱讀

    鍵盤矩陣規(guī)格設(shè)計(jì)圖

    鍵盤矩陣規(guī)格設(shè)計(jì)圖
    發(fā)表于 06-19 14:29 ?0次下載