




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、ME300B單片機學習開發系統應用之三-4×4矩陣鍵盤的工作原理與編程作者:山西太原 貴國慶本文介紹如何在ME300B型51/AVR單片機學習開發系統上使用數碼管顯示4×4矩陣鍵盤的鍵值。一、硬件工作原理的簡單介紹該實驗使用ME300B上的8位數碼管顯示電路和4×4矩陣鍵盤電路。現將這二部分的電路工作原理進行簡單的介紹:1、4×4矩陣鍵盤的工作原理矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣鍵盤中按鍵的個數是4×4個。這種行列式鍵盤結構能夠有效地提高單片機
2、系統中I/O口的利用率。圖1為ME300B矩陣鍵盤電路圖,行線接P1.4P1.7,列線接P1.0P1.3。圖1 矩陣鍵盤電路圖2 按鍵排列2、數碼管動態掃描顯示電路在ME300B開發系統中,采用了8位數碼管動態掃描顯示。它將所有數碼管的8個段線相應地并接在一起,并接到 AT89S51的P0口,由P0口控制字段輸出。而各位數碼管的共陽極由AT89S51的P2口控制Q20Q27來實現8位數碼管的位輸出控制。這樣,對于一組數碼管動態掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數碼管工作,稱為位碼。由于各位數
3、碼管的段線并聯,段碼的輸出對各位數碼管來說都是相同的。因此,同一時刻如果各位數碼管的位選線都處于選通狀態的話,8位數碼管將顯示相同的字符。若要各位數碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式。即在某一時刻,只讓某一位的位選線處于導通狀態,而其它各位的位選線處于關閉狀態。同時,段線上輸出相應位要顯示字符的字型碼。這樣同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環下去,就可以使各位數碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于數碼管具有余輝特性和人眼有視覺暫留現象,只要每位數碼管顯示間隔足夠短,給人眼的
4、視覺印象就會是連續穩定地顯示。圖3 數碼管電路數碼管不同位顯示的時間間隔可以通過調整延時程序的延時長短來完成。數碼管顯示的時間間隔也能夠確定數碼管顯示時的亮度,若顯示的時間間隔長,顯示時數碼管的亮度將亮些,若顯示的時間間隔短,顯示時數碼管的亮度將暗些。若顯示的時間間隔過長的話,數碼管顯示時將產生閃爍現象。所以,在調整顯示的時間間隔時,即要考慮到顯示時數碼管的亮度,又要數碼管顯示時不產生閃爍現象。在ME300B單片機開發系統中使用數碼管來顯示信息時,要將JP2的2、3端短接。見圖3二、演示程序的編程方法1、4×4矩陣鍵盤的編程方法:1.1、先讀取鍵盤的狀態,得到按鍵的特征編碼。先從P1
5、口的高四位輸出低電平,低四位輸出高電平,從P1口的低四位讀取鍵盤狀態。再從P1口的低四位輸出低電平,高四位輸出高電平,從P1口的高四位讀取鍵盤狀態。將兩次讀取結果組合起來就可以得到當前按鍵的特征編碼。使用上述方法我們得到16個鍵的特征編碼。舉例說明如何得到按鍵的特征編碼:假設“1”鍵被按下,找其按鍵的特征編碼。從P1口的高四位輸出低電平,即P1.4P1.7為輸出口。低四位輸出高電平,即P1.0P1.3為輸入口。讀P1口的低四位狀態為“ 1101”,其值為“0DH”。再從P1口的高四位輸出高電平,即P1.4P1.7為輸入口。低四位輸出低電平,即P10P13為輸出口,讀P1口的高四位狀態為“111
6、0”,其值為“E0H”。將兩次讀出的P0口狀態值進行邏輯或運算就得到其按鍵的特征編碼為“EDH”。用同樣的方法可以得到其它15個按鍵的特征編碼。 1.2、根據按鍵的特征編碼,查表得到按鍵的順序編碼。將用上述方法得到的16個按鍵的特征編碼按圖2按鍵排列的順序排成一張特征編碼與順序編碼的對應關系表,然后用當前讀得的特征編碼來查表,當表中有該特征編碼時,它所在的位置就是對應的順序編碼。1.3、矩陣鍵盤鍵值查找程序的具體編程 這個演示程序的主要功能有:1、識別鍵盤有無按鍵按下,若無鍵按下返回。2、如果有鍵按下,找出具體的按鍵值(順序碼)。=矩陣鍵盤鍵值查找程序鍵值存入30H單元=KEY_SCAN: ;
7、識別鍵盤有無鍵按下子程序 MOV P1,#0F0H ;置列線為0,行線為1 MOV A,P1 ;讀P1口 ANL A,#0F0H ;取出高四位 MOV B,A ;暫存到B MOV P1,#0FH ;置列線為1,行線為0 MOV A,P1 ;讀P1口 ANL A,#0FH ;取出低四位 ORL A,B ;高四位與低四位邏輯或運算重新組合 CJNE A,#0FFH,KEY_IN1 ;0FFH為無按鍵按下 RETKEY_IN1: ;識別具體按鍵值子程序 MOV B,A ;將按鍵的特征編碼暫存于B MOV DPTR,#KEYTABLE MOV R3,#0FFH KEY_IN2: INC R3 ;順序碼
8、加1 MOV A,R3 MOVC A,A+DPTR ;查表 CJNE A,B,KEY_IN3 ;比較,若相同則找到按鍵的特征編碼。 MOV A,R3 ;找到特征編碼后,取順序碼 MOV 30H,A ;存入30H單元 RETKEY_IN3: CJNE A,#00H,KEY_IN2 ;末完,繼續查 RET ;00H為結束碼; 特征編碼與順序編碼的對應關系表KEY_TABLE: DB 0EEH,0EDH,0EBH,0E7H,0DEH ;0,1,2,3,4, 順序碼 DB 0DDH,0DBH,0D7H,0BEH,0BDH ;5,6,7,8,9, 順序碼 DB 0BBH,0B7H,07EH,07DH,0
9、7BH, 077H ;A,B,C,D,E,F 順序碼 DB 00H ; 結束碼2、8位數碼管顯示程序的編程方法根據要使用的數碼管的具體位置來確定掃描初值和掃描方向。根據使用數碼管的個數來確定掃描的位數。準備好要顯示的數據,放入相應的顯示單元中。= 8位數碼管顯示子程序;從右至左依次點亮8個數碼管=DISPLAY: MOV R1,#07FH ;掃描初值送入R1 MOV R2,#08H ;掃描位數送入R2 MOV R0,#30H ;開始填充顯示單元DISP1: MOV A,R0 ;顯示內容送入A MOV DPTR,#TABLE ;獲得表頭 MOVC A,A+DPTR ;查表獲得顯示數據 MOV P
10、0,A ;顯示單元數據 MOV P2,R1 ;開始顯示當前位 MOV A,R1 ;準備顯示下一位 RR A MOV R1,A INC R0 ;取下一個單元地址 LCALL DELAY2MS ;延時 2 MS DJNZ R2,DISP1 ;重復顯示下一個 RET ;顯示完成,返回因鍵值顯示只需用一位數碼管,可將上面的顯示程序進行優化,得到下面的顯示程序。=鍵值顯示子程序=KEY_PLAER: MOV A,30H ;鍵值數據送入A MOV DPTR,#TABLE ;取段碼表地址 MOVC A,A+DPTR ;查顯示數據對應段碼 MOV P0,A ;段碼送入P0口 CLR P2.7 ;第一個數碼管顯示 CALL DELAY2MS SETB P2.7 RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設計薪酬績效管理制度
- 評審項目分配管理制度
- 試行課堂手機管理制度
- 貝殼考試答案管理制度
- 財政分局對賬管理制度
- 貨品損失賠付管理制度
- 貨物監管倉庫管理制度
- 貨車司機黨員管理制度
- 2025年中國氡氣檢測試劑盒行業市場全景分析及前景機遇研判報告
- 塔吊安全服務協議書范本
- 部編版七年級歷史(下)材料論述題專項訓練
- 年產1000噸乳酸的生產工藝設計
- 博克服裝CAD制版說明操作手冊(共95頁)
- 南開中學小卷數學模擬試卷(共3頁)
- 光電效應測普朗克常數-實驗報告
- (完整word版)數據模型與決策課程案例分析
- 自制桁架移動式操作平臺施工方案
- 物業服務參與校園文化建設及舉辦大型活動配合措施
- 太陽能LED路燈項目實施方案
- 調崗調薪實操指引PPT課件
- 福清核電廠輻射防護生產準備實踐
評論
0/150
提交評論