版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1 引言22 4×4矩陣鍵盤控制LED工作原理及軟硬件設計、仿真調試22.1 4×4矩陣式鍵盤識別顯示系統(tǒng)概述22.2 4×4矩陣式鍵盤原理32.3 4×4矩陣式鍵盤控制LED顯示方法32.4 電路設計及電路圖32.5 4×4矩陣式鍵盤軟件編程52.6 4×4矩陣式鍵盤軟件仿真調試分析83 結論94參考文獻91 引言隨著現(xiàn)代科技日新月異的發(fā)展,作為新興產業(yè),單片機的應用越來越廣。單片機以其體積小、重量輕、功能強大、功耗低等特點而備受青睞。鍵盤作為一種最為普遍的輸入工具在單片機項目應用上顯得尤為重要。用MCS51系列的單片機并行口P
2、1接4×4矩陣鍵盤,以P1.0-P1.3 作輸入線,以P1.4-P1.7作輸出線;在數(shù)碼管上顯示每個按鍵的0-F序號。 2 4×4矩陣鍵盤控制LED工作原理及軟硬件設計、仿真調試2.1 4×4矩陣式鍵盤識別顯示系統(tǒng)概述 矩陣式鍵盤模式以4個端口連接控制4*4個按鍵,實時在LED數(shù)碼管上顯示按鍵信息。顯示按鍵信息,省下了很多的I/O端口為他用,相反,獨立式按鍵雖編程簡單,但占用I/O口資源較多,不適合在按鍵較多的場合應用。矩陣式鍵盤簡介:矩陣式鍵盤又稱行列鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每個交叉點上設置一個按鍵。這樣鍵
3、盤上按鍵的個數(shù)就為4*4個。這種行列式鍵盤結構能有效地提高單片機系統(tǒng)中I/O口的利用率。最常見的鍵盤布局如圖1所示。一般由16個按鍵組成,在單片機中正好可以用一個P口實現(xiàn)16個按鍵功能,這也是在單片機系統(tǒng)中最常用的形式,本設計就采用這個鍵盤模式。 2.2 4×4矩陣式鍵盤原理在占用相同的IO端口的情況下,行列式鍵盤的接法會比獨立式接法允許的按鍵數(shù)量多。行列式鍵盤的工作方式是先用列線發(fā)送掃描字,然后讀取行線的狀態(tài),查看是否有按鍵按下。鍵盤部分提供一種掃描的工作方式,可以和具有64個按鍵的矩陣鍵盤相連接,能對鍵盤不斷掃描、自動消抖、自動識別按下的鍵,并給出編碼,能對雙鍵或n個鍵同時按下的
4、情況實行保護。在顯示部分,它可以為發(fā)光二極管、熒光管及其他顯示器提供按掃描方式工作的顯示接口,而且為顯示器提供多路復用信號,可以顯示多達16位的字符或數(shù)字。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的,其方法是將列線的所有IO線均置成低電平,然后將行線電平狀態(tài)讀入累加器A中,如果有鍵按下,總會有一根行線被拉至低電平,從而使行輸入不全為1。鍵盤中哪一個鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷,其方法是依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列,如果不全為1,則所按下的鍵必在此列,而且是在與0電平線相交的交點上的那個鍵。2.3 4
5、15;4矩陣式鍵盤控制LED顯示方法 (1)在“單片機系統(tǒng)”區(qū)域中,把單片機的P1.0P1.7端口通過8聯(lián)撥動撥碼開關JP3連接到“4*4行列式鍵盤”區(qū)域中的M1M4,N1N4端口上。即將P1口作為整個系統(tǒng)的輸入接口電路 。 (2)在“單片機系統(tǒng)”區(qū)域中,把單片機的P0.0P0.6端口通過上拉電阻連接到“靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任何一個ag端口上。 (3)此實驗采用的是共陰極LED顯示塊,只有當ag端口輸入高電平時才有效,即顯示塊中的對應的發(fā)光二極管才發(fā)光,低電平時不顯示,通過ag端口的不同輸入使顯示器顯示不同的字符。2.4 電路設計及電路圖把89C51單片機的P1.0P1.7端口通過8聯(lián)撥
6、動撥碼開關連接到“4*4行列式鍵盤”,其中P1.0-P1.3作為列線,P1.4-P1.7作為行線,把單片機的P0.0P0.6端口連接到共陰極“靜態(tài)數(shù)碼顯示模塊”區(qū)域中對應的ag端口上;系統(tǒng)首先通過CPU對全部鍵盤進行掃描,即把第一根行線置為“0”狀態(tài),其余行線置于“1”狀態(tài),讀入輸入緩沖器的狀態(tài),若其狀態(tài)全為“1”表明該行無鍵按下,再將第二根行線置為“0”狀態(tài),同樣讀入輸入緩沖器的狀態(tài),如其狀態(tài)也全為“1”,則置第一根行線置為“0”狀態(tài),以此類推。如讀入輸入緩沖器的狀態(tài)不全為“1”,確定哪一根列線為“0”狀態(tài),當某個鍵的行線和列線都為“0”狀態(tài)時,表明該鍵按下。最后通過顯示程序將該鍵的序號顯示
7、出來。(如下圖2)圖2 4×4矩陣式鍵盤電路圖2.5 4×4矩陣式鍵盤軟件編程 KEY EQU 30H ORG 0000H ;入口地址SJMP START START:MOV P0,#00H JIXU:MOV P1,#0FFH ;判第0行是否有鍵按下CLR P1.4 ;將P1.4清零MOV A,P1 ANL A,#0FH ;屏蔽高4位XRL A,#0FH JZ NOKEY0 ;A為0,轉向NOKEY0LCALL DELAY10MS ;延時,去抖動 MOV A,P1 ;再確認一次ANL A,#0FH XRL A,#0FH JZ NOKEY0 ;A為0,轉向NOKEY0MOV
8、A,P1 ;判哪一個鍵按下ANL A,#0FH CJNE A,#0EH,NEXT1 MOV KEY,#0 LJMP OK ;轉向顯示程序NEXT1:CJNE A,#0DH,NEXT2 MOV KEY,#1 LJMP OK NEXT2:CJNE A,#0BH,NEXT3 MOV KEY,#2 LJMP OK NEXT3:CJNE A,#07H,NOKEY0 MOV KEY,#3 LJMP OK NOKEY0:MOV P1,#0FFH ;判第1行是否有鍵按下CLR P1.5 ;將P1.5清零MOV A,P1 ANL A,#0FH ;屏蔽高4位XRL A,#0FH JZ NOKEY1 ;A為0,轉向
9、NOKEY1LCALL DELAY10MS ;延時,去抖動MOV A,P1 ;再確認一次ANL A,#0FH XRL A,#0FH JZ NOKEY1 ;A為0,轉向NOKEY1MOV A,P1 ;判哪一個鍵按下ANL A,#0FH CJNE A,#0EH,NEXT5 MOV KEY,#4 LJMP OK NEXT5:CJNE A,#0DH,NEXT6 MOV KEY,#5 LJMP OK NEXT6:CJNE A,#0BH,NEXT7 MOV KEY,#6 LJMP OK NEXT7:CJNE A,#07,NOKEY1 MOV KEY,#7 LJMP OK NOKEY1:MOV P1,#0F
10、FH ;判第2行是否有鍵按下CLR P1.6 ;將P1.6清零MOV A,P1 ANL A,#0FH ;屏蔽高4位XRL A,#0FH JZ NOKEY2 ;A為0,轉向NOKEY2LCALL DELAY10MS ;延時,去抖動MOV A,P1 ;再確認一次ANL A,#0FH XRL A,#0FH JZ NOKEY2 ;A為0,轉向NOKEY2MOV A,P1 ;判哪一個鍵按下ANL A,#0FH CJNE A,#0EH,NEXT9 MOV KEY,#8 SJMP OK NEXT9:CJNE A,#0DH,NEXT10 MOV KEY,#9 SJMP OK NEXT10:CJNE A,#0B
11、H,NEXT11 MOV KEY,#10 SJMP OK NEXT11:CJNE A,#07,NOKEY2 MOV KEY,#11 SJMP OK NOKEY2:MOV P1,#0FFH ;判第2行是否有鍵按下CLR P1.7 ;將P1.6清零MOV A,#P1 ANL A,#0FH ;屏蔽高4位XRL A,#0FH JZ NEXT16 ;A為0,轉向NEXT16LCALL DELAY10MS ;延時,去抖動MOV A,P1 ;再確認一次ANL A,#0FH XRL A,#0FH JZ NEXT16 ;A為0,轉向NEXT16MOV A,P1 ;判哪一個鍵按下ANL A,#0FH CJNE A
12、,#0EH,NEXT13 MOV KEY,#12 SJMP OK NEXT13:CJNE A,#0DH,NEXT14 MOV KEY,#13 SJMP OK NEXT14:CJNE A,#0BH,NEXT15 MOV KEY,#14 SJMP OK NEXT15:CJNE A,#07H,NEXT16 MOV KEY,#15 SJMP OK NEXT16:LJMP JIXU OK:MOV A,KEY ;查表顯示MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A LJMP JIXU DELAY10MS:MOV R6,#10 ;延時D1:MOV R7,#248 DJNZ R
13、7,$ DJNZ R6,D1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END 開始掃描是否有鍵按下通過P0口查詢顯示該序號N系統(tǒng)程序圖Y識別是哪一個鍵按下2.6 4×4矩陣式鍵盤軟件仿真調試分析在proteus中設計好實驗電路后,然后在proteus編程環(huán)境中進行程序設計和編譯,生成HEX文件并加載HEX文件,點啟動,運行仿真。由于開始時P0口的值被賦為00H,P1口的值為FFH,當無鍵按下時,將P1.4口置0,再將P1口的值送A,屏蔽高4位,與0F相異或后,A的值變?yōu)?,即第0行沒有鍵按下,轉入NOKEY0子程序中,重新賦值P1口的值為FFH,將P1.5口置0后送A,屏蔽高4位,與0F相異或后,A的值又變?yōu)?,即第1行沒有鍵按下,轉入NOKEY1子程序中,同理,可以得知第2行和第3行也沒有鍵按下。因而,P0口沒有被重新賦值,保持為00H不變,又顯示器是共陰極的,此時P0.0-P1.6口均為“0”,即“a-g”段均不顯示,從而顯示器不顯示,并轉向程序的開始繼續(xù)循環(huán)掃描鍵盤,直到有鍵按下為止。3 結論回顧起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年福建武夷交通運輸股份有限公司招聘備考題庫及答案詳解1套
- 中國農業(yè)科學院2026年度第一批統(tǒng)一公開招聘備考題庫及1套參考答案詳解
- 2025年信息技術中心招聘備考題庫及參考答案詳解
- 2025年定西市通渭縣公開招聘鄉(xiāng)村醫(yī)生7人備考題庫完整參考答案詳解
- 贛東職業(yè)技術學院2026年上學期人才招聘13人備考題庫及答案詳解參考
- 四川托普信息技術職業(yè)學院2025-2026學年第二學期師資招聘備考題庫及答案詳解1套
- 建筑設計與景觀規(guī)劃題庫及答案
- 2025年吉林大學馬克思主義學院公開招聘教師10人備考題庫及完整答案詳解1套
- 2025年河南省地質局所屬事業(yè)單位招聘40人備考題庫完整參考答案詳解
- 2025年濟寧市區(qū)某單位招聘財務出納備考題庫及完整答案詳解1套
- 人貨電梯施工方案
- 南大版一年級心理健康第7課《情緒小世界》課件
- 光大金甌資產管理有限公司筆試
- 算力產業(yè)園項目計劃書
- 塔式起重機安全管理培訓課件
- 老年髖部骨折快速康復治療
- 【初中地理】跨學科主題學習探 索外來食料作物的傳播史課件-2024-2025學年七年級上學期(人教版2024)
- 四川省南充市2024-2025學年高一地理上學期期末考試試題含解析
- 安徒生童話《樅樹》
- 化學品管理控制程序
- 探索·鄱陽湖智慧樹知到期末考試答案2024年
評論
0/150
提交評論