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課-矩陣式鍵盤接口技術及編程
- 鍵盤(38966)
- 接口技術(41224)
相關推薦
矩陣式變換器的拓撲結構和工作原理 矩陣式變換器的控制策略和仿真分析
在目前各領域對于電能轉換特別是高效變頻裝置存在迫切需求的背景下,在詳細分析模塊化的矩陣式變流器的拓撲結構、開關狀態和工作原理的基礎上,設計了一套矩陣式變流器的控制策略。采用編程實現了數字化控制
2023-12-26 14:07:21825
矩陣鍵盤原理與結構
矩陣式結構的鍵盤識別要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當按鍵沒有按下時,所有的輸入端都是高
2011-10-25 13:42:3714091
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
單片機實驗說明四>矩陣鍵盤與LCD基本使用 精選資料分享
實驗四 矩陣鍵盤識別設計設計要求:對4×4矩陣式鍵盤電路的鍵值進行編碼,編程實現在LCD液晶顯示器上顯示每個按鍵的“0-F”序號電路設計:軟件代碼:#include "hml
2021-07-20 06:17:45
單片機教程(26)矩陣式鍵盤接口技術及程序設計
作一次處理,必須卻除鍵釋放時的抖動。《單片機矩陣式鍵盤接口技術及編程》鍵盤掃描程序:從以上分析得到單片機鍵盤掃描程序的流程圖如圖2所示。程序如下SCAN: MOV P1,#0FHMOV A,P1ANL
2018-06-25 09:25:57
矩陣式變換器雙向開關四步換流技術研究
本帖最后由 eehome 于 2013-1-5 09:43 編輯
矩陣式變換器雙向開關四步換流技術研究 對矩陣式變換器(MC)中雙向開關的安全換流課題進行了研究。分析了各種換流方案,進而
2013-01-04 18:45:53
矩陣式柔性充電堆技術引行業關注
奧特迅在“中國電動汽車百人會論壇”上宣布,成功研制出矩陣式柔性充電堆技術,該技術在國內尚屬首創,已獲得國家專利。據悉,矩陣式柔性充電堆技術對目前充電樁的兼容性、利用率、可擴展性上都做了改進,并且能
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
2017-08-12 21:23:38
為什么用矩陣鍵盤
,使用獨立按鍵便會占用較多的I/O口資源。單片機系統中I/O口資源往往比較寶貴,當用到多個按鍵時,為了節省I/O口,我們選擇矩陣鍵盤。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個
2022-01-07 06:44:50
利用N+1個I/O口實現N×N矩陣式鍵盤
的作用。因此,探討一些鍵盤的特殊結構,用盡可能少的輸入輸出端口實現較多數量的按鍵數仍具有重要的應用價值。 有些特殊情況下,在組成一個最小的單片機系統的過程中,由于通用的I/O口有限,而又需要大量的按鍵
2012-02-15 22:02:49
發一個原創視頻系列,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
李全利-[單片機原理及接口技術]
本書為“教育科學‘十五’國家規劃課題研究成果”。書中系統地介紹了 80C51 系列單片機的原理及接口技術,精選單片機原理及接口技術的基本知識,并注意反映當代單片機技術發展的趨勢,較好地體現了培養
2014-11-26 10:18:47
淺析單片機原理及接口技術
PPT內容這是單片機原理與接口技術課件ppt,包括了微型計算機基礎,MCS-51單片機結構與時序,習題課,MCS-51與存儲器連接示例,匯編語言程序設計,半導體存儲器,中斷系統,并行I/O接口
2021-09-10 07:27:42
獨立按鍵編程
使用單片機外部中斷來處理按鍵1.9.8.矩陣鍵盤的原理1.9.9.矩陣鍵盤編程實戰第二部分、章節介紹1.9.1.按鍵相關知識 本節講解按鍵的工作原理,CPU如何處理按鍵以及獨立按鍵和矩陣式按鍵的區別。1.9.2.獨立按鍵編程 本節首先講解獨立按...
2021-11-22 08:09:34
獨立按鍵和矩陣式按鍵的處理方法
本課程是《朱有鵬老師單片機完全學習系列課程》第1季第9個課程,綜合解決了獨立按鍵和矩陣式按鍵的處理方法,涉及到:IO的輸入輸出、按鍵抖動和消抖、中斷的引入和相關概念、矩陣式鍵盤的原理和編程等。目的是對單片機常見輸入設備按鍵進行全方位學習。...
2022-02-28 14:11:12
單片機實用接口技術
單片機實用接口技術介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及
2008-12-23 14:27:4729
MCS-51單片機的編程應用范例
[學習要求] 掌握MCS-51單片機的基本應用。[重點與難點]重點:動態掃描LED顯示電路編程范例;定時/計數器軟件編程范例;A/D接口電路;矩陣式鍵盤接口技術及編程。難點
2009-03-08 10:44:5272
矩陣式單相調壓器的研究
矩陣式變換器是一種新型電力變換器。本文研究了一種由矩陣式單相變換器演化的單相調壓電路,與傳統調壓器相比,這種調壓器具有輸入電流正弦度高、輸出電壓調節線性度好
2010-01-25 13:53:2319
《單片機與接口技術》試卷集
目錄《單片機與接口技術》試卷一《單片機與接口技術》試卷二《單片機與接口技術》試卷三《單片機與接口技術》試卷四《單片機與接口技術》試卷五《單片機
2010-08-11 10:20:4756
4×4矩陣式鍵盤識別技術
4×4矩陣式鍵盤識別技術 1. 實驗任務 如圖4.14.2所示,用AT89S51的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作
2009-04-16 10:26:084723
單片機教程二十五:單片機矩陣式鍵盤接口技術及程序設計
單片機教程二十五:單片機矩陣式鍵盤接口技術及程序設計
鍵盤是由若干按鈕組成的開關矩陣,它是單片機系統中最常用的輸入設備,用戶能通過鍵盤向
2009-05-15 23:23:242368
矩陣式變換器雙向開關四步換流技術研究
矩陣式變換器雙向開關四步換流技術研究
摘要:對矩陣式變換器(MC)中雙向開關的安全換流課題進行了研究。分析了各種換流方案,進
2009-07-11 09:43:191320
單片機入門教程第25課-鍵盤接口與編程
單片機入門教程第25課-鍵盤接口與編程
鍵盤是由若干按鍵組成的開關矩陣,它是微型計算機最常用的輸入設備,用戶可以通過鍵盤向計算機輸入指
2010-01-07 15:19:21746
單片機入門教程第23課-常用接口電路及其編程
單片機入門教程第23課-常用接口電路及其編程
LED數碼顯示器的連接與編程 在單片機系統中,通常用LED數碼顯示器來顯示各種數字或符
2010-01-07 15:37:251105
4×4矩陣式非編碼鍵盤電路
4×4矩陣式非編碼鍵盤電路
輸入鍵盤控制電路采用4×4矩陣式非編碼鍵盤電路,與單片機進行連接。單片機的IOA8~IOA11做鍵盤的行掃描輸出口,IOA12~IOA15
2010-02-21 15:04:594820
矩陣式轉換器AC直接方式的控制方法
而假想間接方式的做法則是,將矩陣式轉換器假想分割成2條電路,在求出各條電路中開關元件的占空比之后,再轉換成構成矩陣式轉換器的9個開關元件的占空比,據此生成脈
2010-11-04 19:12:541012
DSP矩陣式聲音處理器
C102全數字矩陣式聲音處理器,包括輸入/輸出自由矩陣分配,輸入/輸出增益控制、輸入/輸出PEQ、輸入/輸出信號延時、輸入/輸出壓縮限幅、噪音門、電子分頻器、相位選擇等,全部由電腦控制,中央集控最高可控制256臺C102。是演出、會議首選矩陣式聲音處理器,如
2011-02-25 16:33:0893
26課:矩陣式鍵盤接口技術及程序設計
在單片機系統中鍵盤中按鈕數量較多時,為了減少I/O口的占用,常常將按鈕排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口
2017-11-22 12:01:44736
一種實用的單片機矩陣鍵盤設計
矩陣鍵盤是單片機外部設備中所使用的排布類于矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出
2017-11-24 07:42:01543
51單片機匯編語言教程之矩陣式鍵盤接口技術及程序設計的詳細資料說明
在單片機系統中鍵盤中按鈕數量較多時,為了減少I/O 口的占用,常常將按鈕排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口
2019-06-05 16:49:464
矩陣鍵盤的基本原理講解
矩陣鍵盤是單片機外部設備中所使用的排布類似于矩陣的鍵盤組。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。
2019-11-21 07:09:007996
51單片機矩陣式鍵盤的編程方法資料下載
電子發燒友網為你提供51單片機矩陣式鍵盤的編程方法資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
2021-04-10 08:44:1323
單片機c語言編程入門教程
單片機c語言編程入門教程說難不難,說易不易,學習單片機c語言首先就要明白這兩樣東西是啥?單片機入門編程主要是學C語言,其次就是電路跟編程語言。
2021-07-29 10:39:1617545
AVR單片機 實驗五 矩陣鍵盤掃描實驗
AVR單片機 實驗五 矩陣鍵盤掃描實驗1 實驗目的掌握矩陣式鍵盤掃描方法與定時器中斷原理,以實現多鍵輸入判別及4位數碼管顯示的應用。2 實驗內容(1) 實現矩陣式鍵盤掃描。(2) 設定
2021-11-14 20:36:0521
單片機實驗:矩陣式鍵盤輸入識別
單片機實驗:矩陣式鍵盤輸入識別1.實驗內容編寫 c 語言程序,設計一個 4X4 的矩陣鍵盤,鍵盤的號碼 0~15,要求編寫出一個鍵盤輸入掃描程序,要求單片機能根據鍵盤排列順序,能將按下去鍵盤號正確
2021-11-19 15:06:1017
單片機矩陣式鍵盤掃描程序
單片機矩陣鍵盤判斷某個按鍵按下這是我第一次發表文章,關于51單片機矩陣式鍵盤逐行逐列掃描是否有按鍵按下,以及把鍵號顯示用七段數碼管顯示出來的程序,分享如下。矩陣鍵盤51單片機數碼管顯示程序代碼如下
2021-11-25 18:36:0327
自動化流水線矩陣式鍵盤的功能說明
方式的不同,可以分為非矩陣式鍵盤和矩陣式鍵盤兩類。其中,非矩陣式鍵盤的結構簡單,使用方便,適用于按鍵個數較少的場合;矩陣式鍵盤的編程較為復雜,在按鍵數較多時,一般采用矩陣式的鍵盤接口。 鍵盤工作方式的選取應根據
2022-04-19 14:33:25838
評論
查看更多