


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗三 LED數(shù)碼管動態(tài)顯示及4 X4鍵盤控制實驗一、實驗?zāi)康? 穩(wěn)固多位數(shù)碼管動態(tài)顯示方法。2掌握行掃描法矩陣式按鍵的處理方法。3 熟練應(yīng)用 AT89S52學(xué)習(xí)板實驗裝置,進(jìn)一步掌握keil C51的使用方法。二、實驗內(nèi)容使用AT89S52學(xué)習(xí)板上的4位LED數(shù)碼管和4 X 4矩陣鍵盤陣列做多位數(shù)碼管動態(tài)顯示及行掃描法鍵盤處理功能實驗。用P0 口做數(shù)據(jù)輸出,利用 P1做鎖存器74HC573的鎖存允許控制,編寫程序使 4位LED數(shù)碼管按照動態(tài)顯示方式顯示一定 的數(shù)字;按照行掃描法編寫程序?qū)?4 X 4矩陣鍵盤陣列進(jìn)行定期掃描,計算鍵值并在 數(shù)碼管上顯示。三、實驗系統(tǒng)組成及工作原理1 4位LED
2、數(shù)碼管和4 X 4矩陣鍵盤陣列電路原理圖Ml-b I 1 II Ir=TDrrrLI“Ly川/ *2多位數(shù)碼管動態(tài)顯示方式02)說明4位共陰極LED動態(tài)顯示3456數(shù)字的工作過程首先由I/O 口 1 送出數(shù)字3的段選碼4FH即數(shù)據(jù)01001111到4個LED共同 的段選線上,接著由I/O 口 2送出位選XXXX 0111到位選線上,其中數(shù)據(jù)的高4位為 無效的X,唯有送入左邊第一個 LED的COM端D3為低電平“0,因此只有該LED 的發(fā)光管因陽極接受到高電平 “ 1 的g、d、c、b、a段有電流流過而被點亮,也就是顯示出數(shù)字 3,而其余3個LED因其COM端均為高電平“ 1而無法點亮;顯示一定
3、時間后,再由I/O 口 1 送出數(shù)字4的段選碼66H即01100110到段選線上,接著由I/O 口 2送出點亮左邊第二個LED的位選碼XXXX 1011到位選線上,此時只有該 LED的發(fā)光管因陽極接受到高電平 “ 1 的g、f、c、b段有電流流過因而被點亮,也 就是顯示出數(shù)字4,而其余3位LED不亮;如此再依次送出第三個LED、第四個LED的段選與位選的掃描代碼,就能一一 分別點亮各個LED,使4個LED從左至右依次顯示3、4、5、6。3.4 X 4矩陣式按鍵掃描處理程序行掃描法又稱逐行零掃描查詢法,即逐行輸出行掃描信號 “ 0 ,使各行依次為低電平,然后分別讀入列數(shù)據(jù),檢查此低電平行中是否有
4、鍵按下。如果讀得某列線為低電平,那么表示此低電平行線與此列線的交叉處有鍵按下,再對該鍵進(jìn)行譯 碼計算岀鍵值,然后轉(zhuǎn)入該鍵的功能子程序入口地址;如果沒有任何一根列線為低電平,那么說明此低電平行沒有鍵按下。接著進(jìn)行下一行的“0行掃描與列讀入,直到8行全部查完為止,假設(shè)無鍵按下那么返回。有時為了快速判斷鍵盤中是否有鍵按下,也可先將全部行線同時置為低電平,然后檢測列線的電平狀態(tài),假設(shè)所有列線均為高電平,那么說明鍵盤中無鍵按下,立即 返回;假設(shè)要有一列的電平為低,那么表示鍵盤中有鍵被控下,然后再如上那樣進(jìn)行逐 行掃描。四、實驗設(shè)備和儀器PC機(jī)一臺AT89S52單片機(jī)學(xué)習(xí)板、下載線一套五、實驗步驟1 按時
5、實驗要求編寫源程序?qū)嶒炃皩戇M(jìn)行軟件模擬調(diào)試。2 軟件調(diào)試好,連接硬件電路。3 下載程序,進(jìn)行硬件調(diào)試,觀察數(shù)碼管顯示的情況,與設(shè)計的是否相同六、實驗參考程序1.4位LED數(shù)碼管動態(tài)顯示掃描程序ORG 0000HMAIN:MOV 30H,#0;定義4個字節(jié)空間,放置待顯示數(shù)字“1、2、3、4MOV 31H,#1MOV 32H,#2MOV 33H,#3MOV P0,#00HDISP:MOV R0,#30HMOV R1,#4MOV R2,#0FEH;把待顯示數(shù)字首地址送給R0存放器;把R1作為顯示數(shù)碼管位數(shù)計數(shù)器;把首位數(shù)碼管的位選碼暫存在R2存放器中MOV DPTR,#TAB ;把段選碼存儲空間的
6、首地址給 DPTR LOOP1:MOV A,R0;把待顯示數(shù)字的段選碼提取出來MOVC A,A+DPTR;MOV P0,A;把段選碼放在數(shù)據(jù)總線上SETB P1.1;段選碼鎖存器的鎖存允許置位NOPCLR P1.1MOV P0, R2;把位選碼放在數(shù)據(jù)總線上SETB P1.2;位選碼鎖存器的鎖存允許置位NOPCLR P1.2RL A;下一位待顯示數(shù)碼管位選碼預(yù)處理MOV R2,AINC R0ACALL DEL;調(diào)用延時子程序DJNZ R1,LOOP1;4 位沒有顯示完,轉(zhuǎn)去顯示下一位SJMP DISP ;4位顯示完,再次進(jìn)行新一輪的掃描/*定義段選碼*/TAB:DB0C0H;0DB0F9H;1
7、DB0A4H;2DB0B0H;3DB099H;4DB092H;5DB082H;6DB0F8H;7DB080H;8DB090H;9/*延時5ms子程序*/DEL:MOV R7,#10LOOP2:MOV R6,#250DJNZ R6,$DJNZ R7,LOOP2RETEND2.鍵盤掃描及數(shù)碼管動態(tài)顯示程序ORG 0000HMAIN:MOV 30H,#10;定義4個字節(jié)空間,放置待顯示數(shù)字MOV 31H,#10MOV 32H,#10MOV 33H,#10MOV P0,#00HMOV 40H,#0FFH;定義1個字節(jié)空間,放置鍵值KEY: ACALL KEYSCAN ; 調(diào)用鍵盤全掃描子程序JNC L
8、K1ACALL DISPLAYAJMP KBZ;有按鍵按下,轉(zhuǎn)去延時去抖;無按鍵按下,調(diào)用顯示子程序;送無鍵按下標(biāo)志LK1:ACALL DISPLAY;兩次調(diào)用顯示,實現(xiàn)延時功能ACALL DISPLAYACALL KEYSCAN1;延時去抖后,再次調(diào)用鍵盤全掃描子程序JNZ LK2;確實有按鍵按下,轉(zhuǎn)入逐行掃描AJMP KBZ;抖動,無按鍵/*逐行掃描程序模塊*/LK2:MOV R7,#0EFH ;第一行行線置為0MOV R6,#00H;行數(shù)存放器COL0: MOV P3,R7;第一行行線置為0MOV A,P3;讀入列線狀態(tài)JB ACC.O,COL1 ;假設(shè)不是第一列按鍵按下,轉(zhuǎn)查第二列MO
9、V A,#01H ;假設(shè)是第一列按鍵按下,那么記以下值為1AJMP LKP;轉(zhuǎn)去計算鍵值COL1: JB ACC.1,COL2;假設(shè)不是第二列按鍵按下,轉(zhuǎn)查第二列MOV A,#02H;假設(shè)是第二列按鍵按下,那么記以下值為2AJMP LKP;轉(zhuǎn)去計算鍵值COL2: JB ACC.2,COL3;假設(shè)不是第三列按鍵按下,轉(zhuǎn)查第四列MOV A,#03H ;假設(shè)是第三列按鍵按下,那么記以下值為 3AJMP LKP;轉(zhuǎn)去計算鍵值C0L3: JB ACC.3,NEXTR ;假設(shè)不是第四列按鍵按下,轉(zhuǎn)去掃描下一行MOV A,#04HAJMP LKP;假設(shè)是第四列按鍵按下,那么記以下值為4;轉(zhuǎn)去計算鍵值/*鍵值
10、計算程序鍵值=行值X 4 +列值*/LKP:MOV R5,A;MOV A,R6MOV B,#04HMUL ABADD A,R5MOV 40H,AMOV A,40HMOV B,#10 ;DIV ABMOV 32H,AMOV 33H,BACALL DISPLAY ;AJMP KEY/*下一行掃描值預(yù)處理*/NEXTR: INC R6;MOV A,R7 ;JNB ACC.7,KBZ ;RLA ;MOV R7,AFF表示鍵值A(chǔ)JMP COL0KBZ:MOV 40H,#0FFH;假設(shè)無按鍵按下,那么用AJMP KEY/*鍵盤全掃描子程序*/KEYSCAN:MOV P3,#0FH ;NOPMOV P3,#0FH;MOV A,P3CPL AANL A,#0FHRET/*LED數(shù)碼管顯示鍵值子程序 */DISPLAY:MOV R0,#30H;MOV R1,#4;MOV R2,#0FEH;MOV DPTR,#TAB;LOOP1:MOV A,R0;把待顯示數(shù)字的段選碼提取出來MOVC A,A+DPTR;MOV P0,A;把段選碼放在數(shù)據(jù)總線上SETB P1.1;鎖存器的鎖存允許置位NOPCLR P1.1MOV A,R2;把段選碼放在數(shù)據(jù)總線上MOV P0,ASETB P1.2;NOPCLR P1.2RL AMOV R2,AINC R0ACALL DELDJNZ R1,LOOP1RET/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年紡織品檢驗員考后總結(jié)試題及答案
- 塔吊施工考試題及答案
- 廣告設(shè)計師證書考試傳播媒介選擇考題及答案
- 團(tuán)課能力測試題及答案
- 康復(fù)考試題及答案
- 廣告設(shè)計中的用戶心理因素分析試題及答案
- 在線學(xué)考試試題及答案
- 快消品行業(yè)中的設(shè)計策略與應(yīng)用案例試題及答案
- 政協(xié)遴選考試題及答案
- 社會責(zé)任感對廣告設(shè)計的影響試題及答案
- 2025新外研社版英語七年級下單詞默寫表
- 大部分分校:地域文化形考任務(wù)二-國開(CQ)-國開期末復(fù)習(xí)資料
- 2022年全國大學(xué)生英語競賽C類試題
- 裝飾、裝修施工方案
- 遠(yuǎn)盛水工重力壩輔助設(shè)計系統(tǒng)用戶使用手冊
- 礦井瓦斯抽采
- 立法學(xué)完整版教學(xué)課件全套ppt教程
- 五年級下冊科學(xué)說課課件 -1.2 沉浮與什么因素有關(guān) |教科版 (共28張PPT)
- 通用城實景三維數(shù)據(jù)生產(chǎn)項目技術(shù)設(shè)計書
- 畢業(yè)設(shè)計(論文)-N402—1300型農(nóng)用拖拉機(jī)履帶底盤的設(shè)計
- 多重耐藥菌感染的預(yù)防與控制 課件
評論
0/150
提交評論