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

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

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

3x3矩陣鍵盤掃描原理及掃描程序

姚小熊27 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-24 15:47 ? 次閱讀

3x3矩陣鍵盤簡介

矩陣鍵盤,3×3矩陣鍵盤,數(shù)碼管顯示對應(yīng)按鍵,動態(tài)掃描,中斷實現(xiàn)。

3x3矩陣鍵盤掃描原理及掃描程序

其中上拉電阻屬性需設(shè)置為“digital”。

3x3矩陣鍵盤掃描原理及掃描程序

將9個按鍵排成3行3列,第一行將每個按鍵的一端連接在一起構(gòu)成行線,第一列將每個按鍵的另一端連接在一起構(gòu)成列線,這樣一共有3行3列一共6根線,我們將這六根線連接到STM32的6個IO口上,通過程序掃描鍵盤就可檢測9個鍵。

無論獨立鍵盤還是矩陣鍵盤,單片機檢測其是否被按下的原理都是一樣的,也就是檢測與該鍵對應(yīng)的I/O口是否為低電平。獨立按鍵有一端固定為低電平,單片機寫程序檢測時比較方便。而矩陣鍵盤兩端都與單片機I/O口相連,因此在檢測時需要人為通過單片機I/O口送出低電平。檢測時,先送一列為低電平,其余幾列為高電平(此時我們確定了列數(shù)),然后立即輪流檢測一次各行是否有低電平,若檢測到某一行為低電平(此時我們又確定了行數(shù)),則我們便可確認當前按下的鍵是哪一行哪一列的,用同樣的方法輪流送各列一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣既可檢測完所有的按鍵。當然我們也可將行線置低電平,掃描列是否有低電平。這就是矩陣鍵盤的檢測原理和方法。

3x3矩陣鍵盤掃描原理及掃描程序

SETB P1.0 ;首先各位先置一

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

KEY: CLR P1.0 ;行線均清零

CLR P1.1 CLR P1.2

JNB P1.3 , KEY0 ;判斷是否有按鍵按下

JNB P1.4, KEY0

JNB P1.5 , KEY0

SJMP KEY ;無按鍵按下回到KEY繼續(xù)查詢是否有按鍵按下

KEY0: LCALL DELAY ;調(diào)用延時函數(shù)

CLR P1.0 ;P1.0清零,P1.1、P1.2置一

SETB P1.1

SETB P1.2

JNB P1.3 , KEY1 ;P1.3為零則按鍵一被按下,跳轉(zhuǎn)到按鍵一KEY1處

JNB P1.4 , KEY2

JNB P1.5 , KEY3

SETB P1.0 ;P1.1清零,P1.0、P1.2置一 CLR P1.1

SETB P1.2

JNB P1.3 , KEY4

JNB P1.4 , KEY5

JNB P1.5 , KEY6

SETB P1.0 ;P1.2清零,P1.0、P1.1置一

SETB P1.1

CLR P1.2

JNB P1.3 , KEY7

JNB P1.4 , KEY8

JNB P1.5 , KEY9

SJMP KEY ;如果無按鍵按下重新跳回到按鍵查詢程序

KEY1: LCALL PRO1 ;調(diào)用按鍵一的處理子程序

LJMP KEY ;返回繼續(xù)查詢按鍵是否被按下

KEY2: LCALL PRO2

LJMP KEY

KEY3: LCALL PRO3

LJMP KEY

KEY4: LCALL PRO4

LJMP KEY

KEY5: LCALL PRO5

LJMP KEY

KEY6: LCALL PRO6

LJMP KEY

KEY7: LCALL PRO7

LJMP KEY

KEY8: LCALL PRO8

LJMP KEY

KEY9: LCALL PRO9

LJMP KEY

PRO1: 。 ;按鍵一的處理子程序

RET ;子程序返回

PRO2:

。 RET

PRO3:

RET

PRO4:

RET

PRO5:

RET

PRO6:

RET

PRO7:

RET

PRO8:

RET

PRO9:

RET

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

    關(guān)注

    7

    文章

    206

    瀏覽量

    31410
收藏 人收藏

    評論

    相關(guān)推薦

    矩陣鍵盤掃描程序:線反轉(zhuǎn)法

    /*矩陣鍵盤掃描程序:線反轉(zhuǎn)法(經(jīng)典矩陣鍵盤檢測程序
    發(fā)表于 12-25 22:23

    求一個3x3矩陣鍵盤按鍵發(fā)音程序和仿真

    求一個3x3矩陣鍵盤按鍵發(fā)音程序和仿真,蜂鳴器可以嗶嗶響就可以
    發(fā)表于 04-21 09:23

    基于CPLD 的矩陣鍵盤掃描模塊設(shè)計

    用時4 μs;當允許矩陣鍵盤輸出且沒有鍵按下時,每次中斷服務(wù)程序需要額外執(zhí)行3 條語句,大約用時1.5 μs;與CPU 完成矩陣
    發(fā)表于 06-25 07:00

    矩陣鍵盤的基本掃描步驟

    一、模塊題目二、原理簡述1、矩陣鍵盤掃描思想(轉(zhuǎn)載+刪減)與獨立按鍵不同的是,按鍵的兩個引腳都分別連接的單片機的I/O端口,一個作為行信號,另外一個作為列信號。下以4X4的
    發(fā)表于 01-11 07:00

    矩陣鍵盤掃描原理程序講解

    矩陣鍵盤掃描原理程序講解
    發(fā)表于 01-12 07:07

    矩陣鍵盤掃描程序

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

    矩陣鍵盤掃描

    慧凈HL-1 配套C實驗例程100例【實驗15】矩陣鍵盤掃描)),很好的C51學習資料程序。
    發(fā)表于 03-21 16:54 ?13次下載

    51鍵盤掃描程序

    51鍵盤掃描程序,包含3X4矩陣鍵盤,4X4
    發(fā)表于 08-18 18:00 ?8次下載

    51單片機3X44X4矩陣鍵盤鍵盤掃描

    51單片機3X44X4矩陣鍵盤,鍵盤掃描。
    發(fā)表于 08-18 18:03 ?39次下載

    4乘4矩陣鍵盤掃描程序_VHDL程序

    4乘4矩陣鍵盤掃描程序 VHDL程序,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-11 11:20 ?46次下載

    4x4矩陣鍵盤工作原理及掃描程序

    矩陣鍵盤的動態(tài)掃描確實略顯復(fù)雜,不可能就是讀一個端口數(shù)據(jù),然后馬上就出來結(jié)果。這需要對依次每一行的按鍵進行掃描、判斷,然后得出結(jié)果。本文主要介紹了
    的頭像 發(fā)表于 02-24 15:30 ?24.1w次閱讀
    4<b class='flag-5'>x</b>4<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>工作原理及<b class='flag-5'>掃描</b><b class='flag-5'>程序</b>

    基于proteus+矩陣鍵盤掃描掃描工程文件

    基于proteus+矩陣鍵盤掃描掃描工程文件
    發(fā)表于 11-08 11:48 ?8次下載

    Proteus中以中斷方式實現(xiàn)矩陣鍵盤掃描

    )定時掃描:利用定時器每間隔一段時間掃描一次鍵盤(2)程序掃描:在程序運行的過程中,當有必要了解
    發(fā)表于 11-26 12:21 ?9次下載
    Proteus中以中斷方式實現(xiàn)<b class='flag-5'>矩陣</b><b class='flag-5'>鍵盤</b>的<b class='flag-5'>掃描</b>

    51單片機矩陣鍵盤掃描程序

    51單片機矩陣鍵盤掃描程序
    發(fā)表于 05-17 17:20 ?10次下載

    屏蔽鍵盤3X3開源設(shè)計

    電子發(fā)燒友網(wǎng)站提供《屏蔽鍵盤3X3開源設(shè)計.zip》資料免費下載
    發(fā)表于 06-09 15:15 ?0次下載
    屏蔽<b class='flag-5'>鍵盤</b><b class='flag-5'>3X3</b>開源設(shè)計