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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

矩陣按鍵掃描的實現(xiàn)原理

CHANBAEK ? 來源:頭條號蟻哥小課堂 ? 作者:頭條號蟻哥小課堂 ? 2023-03-27 14:05 ? 次閱讀

之前做過很多仿真儀表盒,經常遇到盒子上既有大量LED指示燈,又有很多按鍵的情況,主芯片使用的SiliconLabs的一款單片機,管腳資源有限,如何應對如此多的指示燈和按鍵呢?當時選用了max7219來實現(xiàn)多個LED燈的控制,而按鍵則是通過矩陣掃描實現(xiàn)的。

所謂“矩陣掃描”,可以想象成是把幾路IO橫豎交叉形成網格狀,然后把按鍵放置在網格的交叉點上。這種電路應用很廣泛,可以由較少的IO口實現(xiàn)較多的按鍵控制。比如,6根IO按照3行3列排列,就可以實現(xiàn)接入9個按鍵;8根IO按照4行4列排列,就可以實現(xiàn)接入16個按鍵。來看下面這個3*3的矩陣按鍵原理圖:

poYBAGQhMieAc3LrAAAiSvYzMz4701.jpg

3*3矩陣按鍵1

注意,中間那四個行、列交叉地方的線是分離的,并沒有短接:

pYYBAGQhMimANUy3AAAu1Ee4YnA438.jpg

3*3矩陣按鍵2

還要注意的是,我們要給行或列IO加上上拉電阻,以保證它們的默認狀態(tài)是高電平。

矩陣按鍵掃描的實現(xiàn)原理是這樣的:把屬于列的IO口設置為輸入狀態(tài),這時由于上拉電阻的作用,當按鍵沒有動作時,程序就會讀到高電平;這時開始按行進行掃描,先把行1的IO設置為輸出狀態(tài),然后設置輸出為低電平,接著依次讀取列IO口的狀態(tài),如果有按鍵被按下,那么列IO口的讀入電平就變成低電平,這時就可以根據行和列判斷出動作按鍵的位置了。行1的掃描完成后,把行1的IO置高,然后按照上面步驟依次進行行2和行3的掃描,確認有動作按鍵的位置就可以了。下面是程序的簡單流程圖(沒有包含去抖等處理):

poYBAGQhMiqAPsFSAABx-i4wocY677.jpg

簡單掃描按鍵流程圖

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

    關注

    242

    文章

    23277

    瀏覽量

    660846
  • 原理圖
    +關注

    關注

    1298

    文章

    6343

    瀏覽量

    234026
  • 單片機
    +關注

    關注

    6037

    文章

    44558

    瀏覽量

    635217
  • 仿真
    +關注

    關注

    50

    文章

    4082

    瀏覽量

    133599
  • 矩陣按鍵
    +關注

    關注

    0

    文章

    28

    瀏覽量

    8370
收藏 人收藏

    評論

    相關推薦

    請問如何使用AVR掃描4*4矩陣按鍵?

    使用AVR掃描4*4矩陣按鍵,一旦掃描按鍵被按,做出被按的按鍵號指示。
    發(fā)表于 11-16 07:21

    按鍵矩陣掃描的原理

    51單片機_按鍵矩陣掃描demo代碼工作以來一直在搞單片機方面的軟件,決定把工作以來寫的一些模塊寫成文章,總結一下。按鍵矩陣
    發(fā)表于 07-15 07:46

    矩陣按鍵掃描原理是什么?

    矩陣按鍵掃描原理是什么?實現(xiàn)十六矩陣的代碼分享
    發(fā)表于 09-29 06:36

    單片機矩陣按鍵掃描方法

    矩陣按鍵介紹矩陣按鍵就是獨立按鍵的組合,就是將獨立按鍵的每一行的端口連接在一起引出一個管腳,再將
    發(fā)表于 11-23 07:40

    主要介紹矩陣按鍵原理以及掃描方式

    前言·主要介紹矩陣按鍵原理以及掃描方式和編寫代碼的思路矩陣按鍵掃描原理
    發(fā)表于 12-01 06:14

    如何通過使用行列掃描法對矩陣按鍵進行掃描監(jiān)測

    使用行列掃描法對矩陣按鍵進行掃描監(jiān)測,具體實現(xiàn)過程會在程序中詳細講解。具體實現(xiàn)方式請看下面的程序
    發(fā)表于 01-07 07:30

    矩陣按鍵的原理是什么?有哪幾種掃描方式呢

    矩陣按鍵的原理是什么?矩陣按鍵有哪幾種掃描方式呢?如何去實現(xiàn)STM32
    發(fā)表于 01-18 06:08

    矩陣按鍵掃描原理簡析

    矩陣按鍵實驗矩陣原理矩陣按鍵由來矩陣按鍵
    發(fā)表于 01-24 06:29

    矩陣按鍵掃描方法有何優(yōu)缺點呢

    矩陣按鍵需要用多少個單片機引腳進行連接呢?矩陣按鍵掃描方法有何優(yōu)缺點呢?具體怎樣去實現(xiàn)
    發(fā)表于 02-23 06:11

    矩陣按鍵掃描原理是什么

    矩陣按鍵矩陣按鍵掃描原理逐行掃描我們可以通過高四位輪流輸出低電平來對
    發(fā)表于 03-01 06:11

    矩陣鍵盤掃描程序

    矩陣鍵盤掃描程序 按鍵掃描(線反轉)//-------------------------------- --------------------------------------
    發(fā)表于 01-11 19:11 ?7777次閱讀

    矩陣鍵盤實現(xiàn)按鍵顯示

    矩陣鍵盤實現(xiàn)按鍵顯示源程序。
    發(fā)表于 12-23 14:20 ?30次下載

    使用51單片機實現(xiàn)矩陣按鍵掃描消抖和動作分離的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現(xiàn)矩陣按鍵掃描消抖和動作分離的程序免費下載。
    發(fā)表于 07-04 17:41 ?5次下載
    使用51單片機<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>的<b class='flag-5'>掃描</b>消抖和動作分離的程序免費下載

    C語言按鍵矩陣實現(xiàn)

    51單片機_按鍵矩陣掃描demo代碼工作以來一直在搞單片機方面的軟件,決定把工作以來寫的一些模塊寫成文章,總結一下。按鍵矩陣
    發(fā)表于 11-21 09:51 ?14次下載
    C語言<b class='flag-5'>按鍵</b><b class='flag-5'>矩陣</b><b class='flag-5'>實現(xiàn)</b>

    單片機學習——6--矩陣按鍵

    矩陣按鍵實驗矩陣原理矩陣按鍵由來矩陣按鍵
    發(fā)表于 11-29 14:36 ?1次下載
    單片機學習——6--<b class='flag-5'>矩陣</b><b class='flag-5'>按鍵</b>