1、矩陣式鍵盤的結構與工作原理
在鍵盤中按鍵數量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數比較多時,采用矩陣法來做鍵盤是合理的。
矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態就可得知是否有鍵按下了。具體的識別及編程方法如下所述。
2、矩陣式鍵盤的按鍵識別方法
確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。
行掃描法 行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如下。
1、判斷鍵盤中有無鍵按下 將全部行線Y0-Y3置低電平,然后檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。
2、判斷閉合鍵所在的位置 在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。
下面給出一個具體的例子:
圖仍如上所示。8031單片機的P1口用作鍵盤I/O口,鍵盤的列線接到P1口的低4位,鍵盤的行線接到P1口的高4位。列線P1.0-P1.3分別接有4個上拉電阻到正電源+5V,并把列線P1.0-P1.3設置為輸入線,行線P1.4-P.17設置為輸出線。4根行線和4根列線形成16個相交點。
1、檢測當前是否有鍵被按下。檢測的方法是P1.4-P1.7輸出全“0”,讀取P1.0-P1.3的狀態,若P1.0-P1.3為全“1”,則無鍵閉合,否則有鍵閉合。
2、去除鍵抖動。當檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷。
3、若有鍵被按下,應識別出是哪一個鍵閉合。方法是對鍵盤的行線進行掃描。P1.4-P1.7按下述4種組合依次輸出:
P1.7 1 1 1 0
P1.6 1 1 0 1
P1.5 1 0 1 1
P1.4 0 1 1 1
在每組行輸出時讀取P1.0-P1.3,若全為“1”,則表示為“0”這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表法將閉合鍵的行值和列值轉換成所定義的鍵值
4、為了保證鍵每閉合一次CPU僅作一次處理,必須卻除鍵釋放時的抖動。?
?
鍵盤掃描程序:
從以上分析得到鍵盤掃描程序的流程圖如圖2所示。程序如下
SCAN: MOV P1,#0FH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,NEXT1
SJMP NEXT3
NEXT1: ACALL D20MS
MOV A,#0EFH
NEXT2: MOV R1,A
MOV P1,A
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,KCODE;
MOV A,R1
SETB C
RLC A
JC NEXT2
NEXT3: MOV R0,#00H
RET
KCODE: MOV B,#0FBH
NEXT4: RRC A
INC B
JC NEXT4
MOV A,R1
SWAP A
NEXT5: RRC A
INC B
INC B
INC B
INC B
JC NEXT5
NEXT6: MOV A,P1
ANL A,#0FH
CJNE A,#0FH,NEXT6
MOV R0,#0FFH
RET
鍵盤處理程序就作這么一個簡單的介紹,實際上,鍵盤、顯示處理是很復雜的,它往往占到一個應用程序的大部份代碼,可見其重要性,但說到,這種復雜并不來自于單片機的本身,而是來自于操作者的習慣等等問題,因此,在編寫鍵盤處理程序之前,最好先把它從邏輯上理清,然后用適當的算法表示出來,最后再去寫代碼,這樣,才能快速有效地寫好代碼。
到本課為止,本站教程暫告一個段落!感謝大家的關心和支持!
單片機入門教程第26課-矩陣式鍵盤接口技術及編程
- 鍵盤(41623)
- 接口技術(42142)
相關推薦
熱點推薦
矩陣式變換器的拓撲結構和工作原理 矩陣式變換器的控制策略和仿真分析
在目前各領域對于電能轉換特別是高效變頻裝置存在迫切需求的背景下,在詳細分析模塊化的矩陣式變流器的拓撲結構、開關狀態和工作原理的基礎上,設計了一套矩陣式變流器的控制策略。采用編程實現了數字化控制,并
2023-12-26 14:07:21
2755
2755
51單片機入門教程之從原理到匯編
數碼管靜態顯示接口與編 24 課:動態掃描顯示接口電路及程序 25 課:單片機鍵盤接口程序設計 26 課:單片機矩陣式鍵盤接口技術及 27 課:關于單片機的一些基本概念 28 課:單片機音樂程序設計
2018-11-21 17:46:47
51單片機教程(從原理開始基于匯編)
程序設計 23課:LED數碼管靜態顯示接口與編 24課:動態掃描顯示接口電路及程序 25課:單片機鍵盤接口程序設計 26課:單片機矩陣式鍵盤接口技術及 27課:關于單片機的一些基本概念 28課:單片機音樂程序設計 附錄:51單片機指令表
2012-07-15 17:25:33
單片機矩陣鍵盤判斷
單片機矩陣鍵盤判斷某個按鍵按下這是我第一次發表文章,關于51單片機矩陣式鍵盤逐行逐列掃描是否有按鍵按下,以及把鍵號顯示用七段數碼管顯示出來的程序,分享如下。矩陣鍵盤51單片機數碼管顯示程序代碼如下
2021-12-08 07:12:25
單片機原理及應用和單片機原理及接口技術
單片機原理及應用和單片機原理及接口技術,歷時一年多(2008.10~2010.2),《單片機原理與接口技術》一書終于完稿。期待早日出版。
2021-07-16 08:01:16
單片機學習一鍵盤接口方式詳解
特點,就是會產生抖動,這種抖動人是感覺不到的,但單片機完全可以感應到,因為單片機處理的速度是在微秒級的,而機械抖動的時間至少是毫秒級,對單片機而言這是一個很漫長的過程。矩陣式鍵盤結構所謂矩陣式鍵盤,即當
2020-08-25 10:00:06
單片機教程(26)矩陣式鍵盤接口技術及程序設計
作一次處理,必須卻除鍵釋放時的抖動。《單片機矩陣式鍵盤接口技術及編程》鍵盤掃描程序:從以上分析得到單片機鍵盤掃描程序的流程圖如圖2所示。程序如下SCAN: MOV P1,#0FHMOV A,P1ANL
2018-06-25 09:25:57
矩陣式柔性充電堆技術引行業關注
奧特迅在“中國電動汽車百人會論壇”上宣布,成功研制出矩陣式柔性充電堆技術,該技術在國內尚屬首創,已獲得國家專利。據悉,矩陣式柔性充電堆技術對目前充電樁的兼容性、利用率、可擴展性上都做了改進,并且能
2016-10-28 11:10:12
MCS-51系列單片機實用接口技術-電子書(免費下載哦)
MCS-51系列單片機實用接口技術全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口
2008-12-23 14:30:45
【單片機技術資料匯總】
頁13 單片機的電源管理 41頁14 51單片機教程 98頁15 單片機入門制作專輯 40頁16 單片機原理及應用技術 75頁17 51單片機C語言編程入門 83頁18 《單片機與控制技術》之接口技術
2012-08-18 15:54:06
【單片機學堂】單片機40個實驗之4×4矩陣式鍵盤識別技術
4×4矩陣式鍵盤識別技術 1. 實驗任務 如圖4.14.2所示,用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作輸入線,以P1.4-P1.7作輸出線;在數碼管上顯示每個按鍵
2011-11-28 09:52:37
為什么用矩陣鍵盤
,使用獨立按鍵便會占用較多的I/O口資源。單片機系統中I/O口資源往往比較寶貴,當用到多個按鍵時,為了節省I/O口,我們選擇矩陣鍵盤。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個
2022-01-07 06:44:50
發一個原創視頻系列,51單片機入門
控制數碼管計時 [原創] 第六課單片機的矩陣式鍵盤檢測 [教育] 第7課51單片機驅動LCD1602液晶顯示 所有視頻地址:http://i.youku.com/u/id_UMTkwMDAzNzky
2012-09-11 17:18:48
在Arduino中搭建一個3*3的矩陣鍵盤
矩陣鍵盤在51單片機的案例中應用較多,但是在Arduino中很少使用,今天小編就特立獨行一次,在Arduino中搭建一個3*3的矩陣鍵盤。一、什么是矩陣鍵盤?矩陣鍵盤是單片機外部設備中所使用的排布
2022-01-12 06:09:36
如何識別矩陣式鍵盤輸入
單片機實驗:矩陣式鍵盤輸入識別1.實驗內容編寫 c 語言程序,設計一個 4X4 的矩陣鍵盤,鍵盤的號碼 0~15,要求編寫出一個鍵盤輸入掃描程序,要求單片機能根據鍵盤排列順序,能將按下去鍵盤號正確
2021-11-29 07:50:14
對4×4矩陣式鍵盤電路的鍵值進行編碼
鍵盤與LCD實驗對4×4矩陣式鍵盤電路的鍵值進行編碼,編程實現在LCD液晶顯示器上顯示每個按鍵的ASCII碼。(⊙﹏⊙)呃這個和去年一樣單片機實驗說明<四>矩陣鍵盤與LCD基本使用專欄
2022-01-24 08:17:17
對單片機常見輸入設備按鍵進行全方位學習
本課程是《朱有鵬老師單片機完全學習系列課程》第1季第9個課程,綜合解決了獨立按鍵和矩陣式按鍵的處理方法,涉及到:IO的輸入輸出、按鍵抖動和消抖、中斷的引入和相關概念、矩陣式鍵盤的原理和編程等。目的是對單片機常見輸入設備按鍵進行全方位學習。...
2022-02-28 13:38:42
掌握矩陣式鍵盤掃描方法與定時器中斷原理
AVR單片機 實驗五 矩陣鍵盤掃描實驗1 實驗目的掌握矩陣式鍵盤掃描方法與定時器中斷原理,以實現多鍵輸入判別及4位數碼管顯示的應用。2 實驗內容(1)實現矩陣式鍵盤掃描。(2)設定定時中斷,實現按鍵
2021-11-23 08:30:13
淺析單片機原理及接口技術
PPT內容這是單片機原理與接口技術課件ppt,包括了微型計算機基礎,MCS-51單片機結構與時序,習題課,MCS-51與存儲器連接示例,匯編語言程序設計,半導體存儲器,中斷系統,并行I/O接口
2021-09-10 07:27:42
獨立按鍵和矩陣式按鍵的處理方法
本課程是《朱有鵬老師單片機完全學習系列課程》第1季第9個課程,綜合解決了獨立按鍵和矩陣式按鍵的處理方法,涉及到:IO的輸入輸出、按鍵抖動和消抖、中斷的引入和相關概念、矩陣式鍵盤的原理和編程等。目的是對單片機常見輸入設備按鍵進行全方位學習。...
2022-02-28 14:11:12
單片機實用接口技術
單片機實用接口技術介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及
2008-12-23 14:27:47
29
29MCS-51單片機的編程應用范例
[學習要求] 掌握MCS-51單片機的基本應用。[重點與難點]重點:動態掃描LED顯示電路編程范例;定時/計數器軟件編程范例;A/D接口電路;矩陣式鍵盤接口技術及編程。難點
2009-03-08 10:44:52
72
72《單片機與接口技術》試卷集
目錄《單片機與接口技術》試卷一《單片機與接口技術》試卷二《單片機與接口技術》試卷三《單片機與接口技術》試卷四《單片機與接口技術》試卷五《單片機
2010-08-11 10:20:47
56
564×4矩陣式鍵盤識別技術
4×4矩陣式鍵盤識別技術 1. 實驗任務 如圖4.14.2所示,用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作
2009-04-16 10:26:08
6022
6022
單片機教程二十五:單片機矩陣式鍵盤接口技術及程序設計
單片機教程二十五:單片機矩陣式鍵盤接口技術及程序設計
鍵盤是由若干按鈕組成的開關矩陣,它是單片機系統中最常用的輸入設備,用戶能通過鍵盤向
2009-05-15 23:23:24
3276
3276
單片機入門教程第25課-鍵盤接口與編程
單片機入門教程第25課-鍵盤接口與編程
鍵盤是由若干按鍵組成的開關矩陣,它是微型計算機最常用的輸入設備,用戶可以通過鍵盤向計算機輸入指
2010-01-07 15:19:21
1169
1169
單片機入門教程第23課-常用接口電路及其編程
單片機入門教程第23課-常用接口電路及其編程
LED數碼顯示器的連接與編程 在單片機系統中,通常用LED數碼顯示器來顯示各種數字或符
2010-01-07 15:37:25
1434
1434
單片機入門教程第22課-串行口應用編程實例
單片機入門教程第22課-串行口應用編程實例
1. 串口方式0應用編程 8051單片機串行口方式0為移位寄存器方式,外接一個串入并出的移位寄存器,
2010-01-07 15:40:13
1541
1541
單片機入門教程第20課-定時、中斷實驗二
單片機入門教程第20課-定時、中斷實驗二
前面我們做了定時器的實驗,現在來看一看計數實驗,在工作中計數通常會有兩種要求:第一、將計
2010-01-07 15:49:17
1053
1053單片機入門教程第16課-計數器與定時器(二)
單片機入門教程第16課-計數器與定時器(二)
說明:本課部份圖請打本單片機書,都有,抱歉,不及畫。 定時/計數器的方式控制字
2010-01-07 15:54:54
1353
1353
單片機入門教程第16課-計數器與定時器(一)
單片機入門教程第16課-計數器與定時器(一)
一、計數概念的引入 從選票的統計談起:畫“正”。這就是計數,生活中計數的例子處
2010-01-07 15:58:20
1266
1266
單片機入門教程第15課-單片機指令(八)
單片機入門教程第15課-單片機指令(八)
位及位操作指令通過前面那些流水燈的例子,我們已經習慣了“位”一位就是一盞燈的亮和滅,而我
2010-01-07 16:01:02
1154
1154單片機入門教程第14課-單片機指令(七)
單片機入門教程第14課-單片機指令(七)
條件轉移指令 條件轉移指令是指在滿足一定條件時進行相對轉移。 1、判A內容是否為
2010-01-07 16:14:05
1725
1725
單片機入門教程第12課-單片機指令(五)
單片機入門教程第12課-單片機指令(五)
三、邏輯運算類指令 1、對累加器A的邏輯操作: CLR A ;將A中的值清0,單周期單字節
2010-01-07 16:20:10
2050
2050單片機入門教程第11課-單片機指令(四)
單片機入門教程第11課-單片機指令(四)
1、不帶進位位的加法指令 ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD
2010-01-07 16:21:25
1746
1746單片機入門教程第九課-單片機指令(二)
單片機入門教程第九課-單片機指令(二)
數據傳遞類指令 (3)以直接地址為目的操作數的指令MOV direct,A 例: MOV 20H,A MOV direct,Rn MOV 20H,R1MOV
2010-01-07 16:25:55
1593
1593
單片機入門教程第五課-單片機的內外部結構分析(三)
單片機入門教程第五課-單片機的內外部結構分析(三)
一、延時程序分析 上一次課中,我們已經知道,程序中的符號R7、R6是代表了一個
2010-01-07 16:31:08
916
916
單片機入門教程第二課-單片機的內部、外部結構(一)
單片機入門教程第二課-單片機的內部、外部結構(一)
一、單片機的外部結構 拿到一塊芯片,想要使用它,首先必須要知道怎樣連
2010-01-07 16:52:30
959
959
單片機入門教程第一課 單片機概述
單片機入門教程第一課 單片機概述
1、何謂單片機 一臺能夠工作的計算機要有這樣幾個部份構成:CPU(進行運算、控制)、RAM(數據存
2010-01-07 16:54:13
1681
1681單片機入門教程前言-新8051教程
單片機入門教程前言-新8051教程
傳統的單片機教學,均是以單片機的結構為主線,先講單片機的硬件結構,然后是指令,然后是軟件編程,然后是
2010-01-07 16:58:30
1736
17364×4矩陣式非編碼鍵盤電路
4×4矩陣式非編碼鍵盤電路
輸入鍵盤控制電路采用4×4矩陣式非編碼鍵盤電路,與單片機進行連接。單片機的IOA8~IOA11做鍵盤的行掃描輸出口,IOA12~IOA15
2010-02-21 15:04:59
5177
5177
單片機入門教程第19課-定時、中斷實驗一
單片機入門教程第19課-定時、中斷實驗一
1、利用定時器實現燈的閃爍在學單片機時我們第一個例子就是燈的閃爍,那是用延時程序做的
2010-01-07 15:50:49
1227
1227單片機入門教程第10課-單片機指令(三)
單片機入門教程第10課-單片機指令(三)
2、累加器A與片外RAM之間的數據傳遞類指令MOVX A,@RiMOVX @Ri,AMOVX A,@DPTRMOVX @DPTR,A
2010-01-07 16:24:04
1151
1151MCS-51系列單片機實用接口技術
本書全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。 內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打
2012-10-28 11:10:59
196
19626課:矩陣式鍵盤接口技術及程序設計
在單片機系統中鍵盤中按鈕數量較多時,為了減少I/O口的占用,常常將按鈕排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口(如
2017-11-22 12:01:44
1233
1233
單片機8x8矩陣鍵盤原理說明
本文主要介紹了介紹基于51單片機接矩陣鍵盤原理以及單片機8x8矩陣鍵盤原理說明,另外還詳細的附上了單片機8x8矩陣鍵盤的程序。
2018-02-24 16:14:57
27755
27755
單片機入門教程之單片機入門的二十二個實驗的詳細資料概述
本文檔的主要內容詳細介紹的是單片機入門教程之單片機入門的四十個實驗的詳細資料概述主要內容包括了:1. 閃爍燈2. 模擬開關燈3. 多路開關狀態指示4. 廣告燈的左移右移5. 廣告燈(利用取表方式
2018-11-14 16:30:19
12
12使用矩陣式鍵盤實現的電子密碼鎖C語言程序和資料合集免費下載
新人,發個小作品 是一個基于矩陣式鍵盤實現的電子密碼鎖,功能十分簡單,希望不要見笑。代碼有非常詳細的注解。下面附上源代碼以及仿真文件
2019-05-06 08:00:00
24
2451單片機匯編語言教程之矩陣式鍵盤接口技術及程序設計的詳細資料說明
在單片機系統中鍵盤中按鈕數量較多時,為了減少I/O 口的占用,常常將按鈕排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口(如
2019-06-05 16:49:46
4
4矩陣鍵盤的基本原理講解
矩陣鍵盤是單片機外部設備中所使用的排布類似于矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。
2019-11-21 07:09:00
9283
928351單片機矩陣式鍵盤的編程方法資料下載
電子發燒友網為你提供51單片機矩陣式鍵盤的編程方法資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
2021-04-10 08:44:13
23
23單片機c語言編程入門教程
單片機c語言編程入門教程說難不難,說易不易,學習單片機c語言首先就要明白這兩樣東西是啥?單片機入門編程主要是學C語言,其次就是電路跟編程語言。
2021-07-29 10:39:16
20649
20649單片機--矩陣鍵盤實驗
實驗目的和任務目的:利用“模塊化單片機教學實驗平臺”,加深對單片機與矩陣鍵盤的接口電路設計以及程序設計的理解。任務:1、學習獨立式按鍵的查詢識別方法。2、非編碼矩陣鍵盤的行反轉法識別方法。3、掌握
2021-11-11 12:06:02
17
17AVR單片機 實驗五 矩陣鍵盤掃描實驗
AVR單片機 實驗五 矩陣鍵盤掃描實驗1 實驗目的掌握矩陣式鍵盤掃描方法與定時器中斷原理,以實現多鍵輸入判別及4位數碼管顯示的應用。2 實驗內容(1) 實現矩陣式鍵盤掃描。(2) 設定
2021-11-14 20:36:05
21
21單片機實驗:矩陣式鍵盤輸入識別
單片機實驗:矩陣式鍵盤輸入識別1.實驗內容編寫 c 語言程序,設計一個 4X4 的矩陣鍵盤,鍵盤的號碼 0~15,要求編寫出一個鍵盤輸入掃描程序,要求單片機能根據鍵盤排列順序,能將按下去鍵盤號正確
2021-11-19 15:06:10
18
18單片機矩陣式鍵盤掃描程序
單片機矩陣鍵盤判斷某個按鍵按下這是我第一次發表文章,關于51單片機矩陣式鍵盤逐行逐列掃描是否有按鍵按下,以及把鍵號顯示用七段數碼管顯示出來的程序,分享如下。矩陣鍵盤51單片機數碼管顯示程序代碼如下
2021-11-25 18:36:03
27
27自動化流水線矩陣式鍵盤的功能說明
方式的不同,可以分為非矩陣式鍵盤和矩陣式鍵盤兩類。其中,非矩陣式鍵盤的結構簡單,使用方便,適用于按鍵個數較少的場合;矩陣式鍵盤的編程較為復雜,在按鍵數較多時,一般采用矩陣式的鍵盤接口。 鍵盤工作方式的選取應根據
2022-04-19 14:33:25
1639
1639單片機如何讀取鍵盤數據
單片機作為一種嵌入式系統,往往需要與外部設備進行交互。其中之一的重要環節就是通過鍵盤讀取輸入的數據。在本文中,我們將詳細介紹如何使用單片機讀取鍵盤數據,包括鍵盤的原理、掃描方式、連接方式以及編程實現
2024-01-04 17:09:39
3180
3180
電子發燒友App














評論