




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ME300彈片機(jī)學(xué)習(xí)開發(fā)系統(tǒng)應(yīng)用之三-4 X 4矩陣鍵盤的工作原理與編程作者:山西太原貴國(guó)慶本文介紹如何在 ME300ES1 51/AVR單片機(jī)學(xué)習(xí)開發(fā)系統(tǒng)上使用數(shù)碼管顯示4X 4矩陣鍵盤的鍵值。一、硬件工作原理的簡(jiǎn)單介紹該實(shí)驗(yàn)使用 ME300吐白8位數(shù)碼管顯示電路和 4X4矩陣鍵盤電路?,F(xiàn)將這二部分的電路工作原 理進(jìn)行簡(jiǎn)單的介紹:1、4X4矩陣鍵盤的工作原理矩陣鍵盤又稱為行列式鍵盤,它是用 4條I/O線作為彳亍線,4條I/O線作為列線組成的鍵盤。在 行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵的個(gè)數(shù)是4X4個(gè)。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中 I/O 口的利用率。圖1
2、為ME300E巨陣鍵盤電路圖,行線接 P1.4-P1.7 ,列線接P1.0-P1.3o014589CDK1K2獨(dú)立鍵盤K1P14P14P15P16P17圖1/ c矩陣鍵盤電路K2K3P15 ,P164 ( 5 ) 6 ) (a)(C; ( D ) E)IF)K4P17VCCK5RESET圖2按鍵排列2、數(shù)碼管動(dòng)態(tài)掃描顯示電路在ME300B%發(fā)系統(tǒng)中,dSO7動(dòng)態(tài)掃描顯示S2它將P00P01P02P03P04P05P06P07并整鄉(xiāng)'1確 Q2 y Q;飛 04, xe 先生遛更畫形,稱為AT89S51如P0七P0監(jiān)制字舞輔S2327來實(shí)組數(shù)碼管藥心、f稱為云dpDIG1 DIG2 DI
3、G3 DIG4P20P21P22P23P24P25P26P27VCCAT2148個(gè)段線相應(yīng)地并出。典客4拶制煙糧由3, 可來DIG1 DIG2b f免信E制3-1c -eJIg bDIG3 DIG4f g b f g b形代:碼,JP21-2LCDp2-3 DSY由于各位數(shù)碼管的段線務(wù)或,段宿白J輸出4各位數(shù)灌管來說tfe相同白9。因此,8國(guó)一時(shí)城如果各位數(shù)碼管的位選線都處于選通初態(tài)的話,與圭位RI*的字符,就送翁|“,而茸它蓋短的位選線處|于關(guān)13-4 LEDQ21 7 Q22地方W選通的那 位I顯示出字符,麻SSMRII。8位數(shù)碼管稱顯示相同的字符J若要各位數(shù)碼管能夠顯示匕出段線上輸Q23
4、 即在時(shí)亥|Q25Q24里疲安心當(dāng)同Q26讓某孑的的其它各位則是熄滅的,如此循環(huán)下方,就可核、使各便要Q27 處于狀態(tài),if刻,百業(yè)小出3鷺耳里,等符是在不同時(shí)刻出現(xiàn)的.而且同一時(shí)刻.只相一位顯7其它各位熄滅,管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人但由于數(shù)碼一眼的視覺印象就會(huì)是連續(xù)穩(wěn)圖3數(shù)碼管電路數(shù)碼管不同位顯示的時(shí)間間隔可以通過調(diào)整延時(shí)程序的延時(shí)長(zhǎng)短來完成。數(shù)碼管顯示的時(shí)間間隔也能夠確定數(shù)碼管顯示時(shí)的亮度,若顯示的時(shí)間間隔長(zhǎng),顯示時(shí)數(shù)碼管的亮度將亮些,若顯示的時(shí)間 間隔短,顯示時(shí)數(shù)碼管的亮度將暗些。若顯示的時(shí)間間隔過長(zhǎng)的話,數(shù)碼管顯示時(shí)將產(chǎn)生閃爍現(xiàn)象。 所以,
5、在調(diào)整顯示的時(shí)間間隔時(shí),即要考慮到顯示時(shí)數(shù)碼管的亮度,又要數(shù)碼管顯示時(shí)不產(chǎn)生閃爍現(xiàn) 象。在ME300即片機(jī)開發(fā)系統(tǒng)中使用數(shù)碼管來顯示信息時(shí),要將JP2的2、3端短接。見圖3二、演示程序的編程方法1、4X4矩陣鍵盤的編程方法:1.1、先讀取鍵盤的狀態(tài),得到按鍵的特征編碼。先從P1 口的高四位輸出低電平,低四位輸出高電平,從 P1 口的低四位讀取鍵盤狀態(tài)。再?gòu)?P1 口的低四位輸出低電平,高四位輸出高電平,從P1 口的高四位讀取鍵盤狀態(tài)。將兩次讀取結(jié)果組合起來就可以得到當(dāng)前按鍵的特征編碼。使用上述方法我們得到16個(gè)鍵的特征編碼。舉例說明如何得到按鍵的特征編碼:假設(shè)“ 1”鍵被按下,找其按鍵的特征編
6、碼。從P1 口的高四位輸出低電平,即 P1.4-P1.7為輸出口。低四位輸出高電平,即 P1.0P1.3為 輸入口。讀P1 口的低四位狀態(tài)為“1101 ”,其值為" 0DH'。再?gòu)腜1 口的高四位輸出高電平,即 P1.4 -P1.7為輸入口。低四位輸出低電平,即 P10P13為 輸出口,讀P1 口的高四位狀態(tài)為“ 1110”,其值為“ E0H'。將兩次讀出的P0 口狀態(tài)值進(jìn)行邏輯或運(yùn)算就得到其按鍵的特征編碼為“EDHL用同樣的方法可以得到其它15個(gè)按鍵的特征編碼。1.2、 根據(jù)按鍵的特征編碼,查表得到按鍵的順序編碼。將用上述方法得到的16個(gè)按鍵的特征編碼按圖 2按鍵排
7、列的順序排成一張?zhí)卣骶幋a與順序編碼的對(duì)應(yīng)關(guān)系表,然后用當(dāng)前讀得的特征編碼來查表,當(dāng)表中有該特征編碼時(shí),它所在的位置就是對(duì)應(yīng) 的順序編碼。1.3、 矩陣鍵盤鍵值查找程序的具體編程這個(gè)演示程序的主要功能有:1、識(shí)別鍵盤有無按鍵按下,若無鍵按下返回。2、如果有鍵按下,找出具體的按鍵值(順序碼)。矩陣鍵盤鍵值查找程序 鍵值存入30H單元KEY_SCAN;MOV P1,#0F0H;MOV A,P1;ANL A,#0F0H;MOV B,A;MOV P1,#0FH;MOV A,P1;ANL A,#0FH ;ORL A,B;CJNE A,#0FFH,KEY_IN1 ;0FFH RET識(shí)別鍵盤有無鍵按下子程序置
8、列線為0,行線為1讀P1 口取出高四位暫存到B置列線為1,行線為0讀P1 口取出低四位高四位與低四位邏輯或運(yùn)算重新組合為無按鍵按下KEY_IN1:;MOV B,A;MOV DPTR,#KEYTABLEMOV R3,#0FFHKEY_IN2:INC R3;MOV A,R3MOVC A,A+DPTR ;CJNE A,B,KEY_IN3 ;MOV A,R3;MOV 30H,A;RETKEY_IN3:CJNE A,#00H,KEY_IN2RET;00H;特征編碼與順序編碼的對(duì)應(yīng)關(guān)系表KEY_TABLE:識(shí)別具體按鍵值子程序?qū)存I的特征編碼暫存于B順序碼加1查表比較,若相同則找到按鍵的特征編碼。找到特征
9、編碼后,取順序碼存入30H單元末完,繼續(xù)查為結(jié)束碼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,07BH, 077H ;A,B,C,D,E,F順序碼DB 00H;結(jié)束碼2、8位數(shù)碼管顯示程序的編程方法根據(jù)要使用的數(shù)碼管的具體位置來確定掃描初值和掃描方向。根據(jù)使用數(shù)碼管的個(gè)數(shù)來確定掃描的位數(shù)。準(zhǔn)備好要顯示的數(shù)據(jù),放入相應(yīng)的顯示單元中。8位數(shù)碼管顯示子程序;從右至左依次點(diǎn)亮8個(gè)數(shù)碼管DISPLAY:MOV R1,#07FH掃描初值送入R
10、1MOV R2,#08H掃描位數(shù)送入R2MOV R0,#30H;開始填充顯示單元DISP1: MOV A,R0;MOV DPTR,#TABLE ;MOVC A,A+DPTRMOV P0,A;MOV P2,R1;MOV A,R1;RR AMOV R1,AINC R0;LCALL DELAY2MS ;DJNZ R2,DISP1 ;RET;顯示內(nèi)容送入A 獲得表頭查表獲得顯示數(shù)據(jù) 顯示單元數(shù)據(jù) 開始顯示當(dāng)前位 準(zhǔn)備顯示下一位取下一個(gè)單元地址延時(shí)2 MS重復(fù)顯示下一個(gè) 顯不'完成,返回因鍵值顯示只需用一位數(shù)碼管,可將上面的顯示程序進(jìn)行優(yōu)化,得到下面的顯示程序。鍵值顯示子程序KEY_PLAERMOV A,30H;MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A ;CLR P2.7;CALL DELAY2MSSETB P2.7鍵值數(shù)據(jù)送入A 取段碼表地址 查顯示數(shù)據(jù)對(duì)應(yīng)段碼 段碼送入P0 口 第一個(gè)數(shù)碼管顯示RETTABLEDB 0c0H,0F9H,0A4H,0B0H,99H,92H,82
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省常德市澧縣2024-2025學(xué)年七年級(jí)上學(xué)期期末生物學(xué)試題(含答案)
- 新時(shí)代農(nóng)業(yè)現(xiàn)代化智能種植技術(shù)的創(chuàng)新與發(fā)展戰(zhàn)略
- 新材料研發(fā)及產(chǎn)業(yè)化應(yīng)用合作協(xié)議
- 云計(jì)算服務(wù)與安全策略解析
- 《先秦諸子哲學(xué)思想比較:大三哲學(xué)文化課教案》
- 養(yǎng)殖業(yè)合作飼養(yǎng)及利潤(rùn)分配協(xié)議
- 電力工程設(shè)計(jì)與安裝施工合同
- 智能基金投資管理及銷售協(xié)議
- 烏江自刎的英雄故事征文
- 中小學(xué)生科普讀物讀后感
- 西門子S7-1200 PLC應(yīng)用技術(shù)項(xiàng)目教程(第3版) 課件 1.認(rèn)識(shí)S7-1200PLC寬屏-(LAD+SCL)
- 《稅法》(第六版)全書教案電子講義
- 翻斗車司機(jī)安全培訓(xùn)
- 計(jì)算機(jī)軟件配置管理計(jì)劃規(guī)范
- 《勞動(dòng)保障監(jiān)察條例》課件
- 中華人民共和國(guó)學(xué)前教育法
- 辯論英文課件教學(xué)課件
- 2021年廣東省公務(wù)員錄用考試《行測(cè)》題(鄉(xiāng)鎮(zhèn)卷)【原卷版】
- 2020年全國(guó)中學(xué)生生物學(xué)競(jìng)賽聯(lián)賽試題真題(含答案解析)
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書范文
- 鐵路專業(yè)基礎(chǔ)知識(shí)考試題及答案
評(píng)論
0/150
提交評(píng)論