




已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)實(shí)驗(yàn)報(bào)告 LED數(shù)碼管顯示實(shí)驗(yàn) 指導(dǎo)教師: 專業(yè)班級(jí): 姓名 : 學(xué)號(hào) : 聯(lián)系方式 : 一、 任務(wù)要求 實(shí)驗(yàn)?zāi)康模豪斫釲ED七段數(shù)碼管的顯示控制原理,掌握數(shù)碼管與MCU的接口技術(shù),能夠編寫數(shù)碼管顯示驅(qū)動(dòng)程序;熟悉接口程序調(diào)試方法。實(shí)驗(yàn)內(nèi)容:利用C8051F310單片機(jī)控制數(shù)碼管顯示器基本要求:利用末位數(shù)碼管循環(huán)顯示數(shù)字0-9,顯示切換頻率為1Hz。提高要求:在4位數(shù)碼管顯示器上依次顯示當(dāng)天時(shí)期和時(shí)間,顯示格式如下:yyyy (年份)mm.dd(月份.日)hh.mm(小時(shí).分鐘)思考題:數(shù)碼管采用動(dòng)態(tài)驅(qū)動(dòng)方式時(shí)刷新頻率應(yīng)如何選擇?為什么?二、 設(shè)計(jì)思路C8051F310單片機(jī)片上晶振為24.5MHz,采用8分頻后為3.0625MHz ,輸入時(shí)鐘信號(hào)采用48個(gè)機(jī)器周期。0到9對(duì)應(yīng)的斷碼為:FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H基礎(chǔ)部分: 由于只需要用末位數(shù)碼管顯示,不需要改變位碼,所以只需要采用LED的靜態(tài)顯示。采用查表的方法,通過(guò)循環(huán)結(jié)構(gòu),每次循環(huán)查找數(shù)據(jù)表下一地址,循環(huán)十次后重新開始循環(huán)。每次循環(huán)延時(shí)1s,采用定時(shí)器0定時(shí)方式1。提高部分: 四個(gè)數(shù)碼管都要顯示,所以采用LED的動(dòng)態(tài)顯示。由于數(shù)碼管的位選由P0.7、P0.6控制,P0端口的其他引腳都沒(méi)用到,所以對(duì)P0端口初始化賦00H,每次循環(huán)加40H、選中下一位,四次后十六進(jìn)制溢出,P0端口變又為00H回到第一個(gè)數(shù)碼管。 每位數(shù)碼管顯示一個(gè)段碼后都延時(shí)1ms(否則數(shù)碼管太亮,刺眼)采用定時(shí)器0定時(shí)方式1,依然采用查表法改變段碼值。通過(guò)循環(huán):DJNZ R5,BACK MOV R5,#250 DJNZ R4,BACK MOV R4,#8 來(lái)控制每種模式的切換時(shí)間,我采用2s切換一次(8*250*1ms=2s)。切換模式,可以采用改變查表法的偏移量來(lái)實(shí)現(xiàn),沒(méi)切換一次模式,偏移量加04H,三次后回到初始偏移量,來(lái)實(shí)現(xiàn)三種模式的循環(huán)顯示。三、 資源分配基礎(chǔ)部分:P0.7、P0.6:控制數(shù)碼管的位選P1:控制數(shù)碼管段碼的顯示R0:控制段選提高部分:P0.7、P0.6:控制數(shù)碼管的位選P1:控制數(shù)碼管段碼的顯示R0:控制位選R1:控制段選R3:用于改變偏移量來(lái)切換模式R4、R5:控制循環(huán)次數(shù),控制模式切換時(shí)間四、 流程圖基礎(chǔ)部分:提高部分五、源代碼 (含文件頭說(shuō)明、資源使用說(shuō)明、語(yǔ)句行注釋)基礎(chǔ)部分: ;*;Filename:shumaguan.asm;Description: 利用末位數(shù)碼管循環(huán)顯示數(shù)字0-9,顯示切換頻率為1Hz。;Designed by:gxy;Date:2012/11/7;*$include (C8051F310.inc)ORG 0000H ;復(fù)位入口AJMP MAINORG 000BH ;定時(shí)器0中斷入口AJMP TIME0MAIN: ACALL Init_Device ;初始化配置 MOV P0,#00H ;位選中第一個(gè)數(shù)碼管 MOV R0,#00H ;偏移指針初值 CLR PSW.1 ;標(biāo)志位清零 SETB EA ;允許總中斷 SETB ET0 ;允許定時(shí)器0中斷 MOV TMOD,#01H ;定時(shí)器0選工作方式1 MOV TH0,#06H MOV TL0,#0C6H ;賦初值,定時(shí)1sLOOP: MOV A,R0 ADD A,#0BH ;加偏移量 MOVC A,A+PC ;查表取,段碼 MOV P1,A ;段碼給P1顯示 SETB TR0 ;開定時(shí)LOOP1: JNB PSW.1,LOOP1 ;等待中斷 CLR PSW.1 INC R0 ;偏移指針加一 CJNE R0,#0AH,LOOP3 MOV R0,#00H ;偏移指針滿10清零 AJMP LOOP ;返回 DB 0FCH,60H,0DAH,0F2H,66H ;段碼數(shù)據(jù)表:0、1、2、3、4 DB 0B6H,0BEH,0E0H,0FEH,0F6H; 5、6、7、8、9;*; 定時(shí)器0中斷;*TIME0: SETB PSW.1 ;標(biāo)志位置一 MOV TH0,#06H ;定時(shí)器重新賦值 MOV TL0,#0C6HLOOP3: CLR TR0 ;關(guān)定時(shí) RETI;*;初始化配置;*PCA_Init: anl PCA0MD, #0BFh mov PCA0MD, #000h retTimer_Init: mov TMOD, #001h mov CKCON, #002h retPort_IO_Init: ; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 - Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital ; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital ; P2.1 - Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital mov XBR1, #040h retInterrupts_Init: mov IE, #002h retInit_Device: lcall PCA_Init lcall Timer_Init lcall Port_IO_Init lcall Interrupts_Init retend提高部分:;*;Filename: shumaguan2.asm;Description:在4位數(shù)碼管顯示器上依次顯示當(dāng)天時(shí)期和時(shí)間,顯示格式如下:; 2012 (年份); 12.07(月份.日); 12.34(小時(shí).分鐘);Designed by:gxy;Date:2012/11/7;*$include (C8051F310.inc)ORG 0000HAJMP MAINORG 000BHAJMP TIME0MAIN: ACALL Init_Device MOV R0,#00H ;用于位選 MOV R1,#00H ;用于段選 MOV R2,#22H ;置偏移量,用于控制模式 MOV R4,#8 MOV R5,#250 CLR PSW.1 ;標(biāo)志位清零SETB EA ;允許總中斷 SETB ET0 ;允許定時(shí)器0中斷 MOV TMOD,#01H ;定時(shí)器0選工作方式1 MOV TH0,#0FFH MOV TL0,#0C0H ;定時(shí)器賦初值1msBACK: MOV P0,R0 ;位選 MOV A,R0 ADD A,#40H ;選下一位 MOV R0,A MOV A,R1 ADD A,R2 ;加偏移量 MOVC A,A+PC ;查表取段碼 MOV P1,A ;段碼給P1顯示LOOP: SETB TR0 ;開定時(shí)HERE: JNB PSW.1,HERE ;等待中斷 CLR PSW.1 DJNZ R5,BACK MOV R5,#250 DJNZ R4,BACK MOV R4,#8 ;循環(huán)2000次(2s) MOV A,R2 ADD A,#04H;偏移量加04H,到下一模式段碼初值地址 MOV R2,A CJNE R2,#2EH,LOOP2 MOV R2,#22H ;加三次后偏移量回到初值LOOP2: AJMP BACK ;返回進(jìn)入下一模式;段碼數(shù)據(jù)表: DB 0DAH,60H,0FCH,0DAH ; 2102 DB 0E0H,0FCH,61H,60H; 701. 1 DB 66H,0F2H,0DBH,60H; 432. 1;*; 定時(shí)器0中斷;*TIME0: MOV TH0,#0FFH MOV TL0,#0C0H CLR TR0SETB PSW.1 INC R1 ;偏移指針加一 CJNE R1,#04H,LOOP MOV R1,#00H ;偏移指針滿04H清零RETI;*; 初始化配置;*PCA_Init: anl PCA0MD, #0BFh mov PCA0MD, #000h retTimer_Init: mov TMOD, #001h mov CKCON, #002h retPort_IO_Init: ; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 - Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital ; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital ; P2.1 - Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital mov XBR1, #040h retInterrupts_Init: mov IE, #002h retInit_Device: lcall PCA_Init lcall Timer_Init lcall Port_IO_Init lcall Interrupts_Init retend六、程序測(cè)試方法與結(jié)果、軟件性能分析 軟件調(diào)試總體截圖:基礎(chǔ)部分:軟件運(yùn)行時(shí),我們發(fā)現(xiàn)P0端口為00H,P1端口以依次為FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H。說(shuō)明第一個(gè)數(shù)碼管依次顯示0、1、2、3、4、5、6、7、8、9 如圖,這是程序運(yùn)行時(shí)的一個(gè)截圖,P0端口為00H,位選第一個(gè)數(shù)碼管,P1端口為BEH,表示第一個(gè)數(shù)碼管顯示數(shù)字“6” 0到9顯示如下: 所以,軟件調(diào)試時(shí),運(yùn)行正常。Program Size: data=8.0 xdata=0 code=112硬件調(diào)試時(shí)C8051F310單片機(jī)開發(fā)板上第一個(gè)數(shù)碼管循環(huán)顯示數(shù)字0-9,顯示切換頻率為1Hz。運(yùn)行正常,數(shù)碼管亮度適中,如圖:綜上:基礎(chǔ)部分代碼,無(wú)論是在軟件上還是硬件上都運(yùn)行正常,達(dá)到了實(shí)驗(yàn)的要求。提高部分:軟件調(diào)試時(shí),P0端口不斷在00H、40H、80H、C0H中循環(huán)跳動(dòng),說(shuō)明每1ms換一個(gè)位碼,即每1ms亮下一個(gè)數(shù)碼管,軟件截圖如下:P1端口也不斷在0DAH,60H,0FCH,0DAH(2102 )間跳動(dòng) ;過(guò)2s后切換到在0E0H,0FCH,61H,60H(701. 1)間跳動(dòng);在過(guò)2s在66H,0F2H,0DBH,60H(432. 1)間跳動(dòng);再過(guò)2s后又切換到第一種模式所以,軟件調(diào)試時(shí),運(yùn)行正常。Program Size: data=8.0 xdata=0 code=141硬件調(diào)試時(shí)C8051F310單片機(jī)開發(fā)板上4位數(shù)碼管顯示器上依次顯示年份、月日和時(shí)分,亮度適中每2s切換一次,切換正常,截圖如下:分別顯示2012年、11月07日、12點(diǎn)34分。綜上:提高部分代碼,無(wú)論是在軟件上還是硬件上都運(yùn)行正常,達(dá)到了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目經(jīng)理職業(yè)導(dǎo)則課件
- 項(xiàng)目工程管理培訓(xùn)課件
- 音樂(lè)說(shuō)課課件代做方法
- 市政污水管網(wǎng)改造項(xiàng)目質(zhì)量管理方案
- 汽車配套產(chǎn)業(yè)基地項(xiàng)目招商引資報(bào)告
- 五年級(jí)音樂(lè)下冊(cè)全冊(cè)教案(湘教版)
- 無(wú)錫某中學(xué)中考二模語(yǔ)文試卷(圖片版無(wú)答案)
- 2025年高壓化成箔項(xiàng)目發(fā)展計(jì)劃
- 現(xiàn)代生物技術(shù)概論教案-明東風(fēng)
- 五年級(jí)上冊(cè)心理教案 (一)
- 軟件項(xiàng)目投標(biāo)技術(shù)標(biāo)書
- 干部人事檔案目錄(樣表)
- 幼兒園中班語(yǔ)言教案《頑皮的小雨滴》含反思
- NY/T 455-2001胡椒
- GB/T 5585.1-2005電工用銅、鋁及其合金母線第1部分:銅和銅合金母線
- GB/T 20470-2006臨床實(shí)驗(yàn)室室間質(zhì)量評(píng)價(jià)要求
- 《沙盤游戲與大學(xué)生心理治療》課程教學(xué)大綱
- 丁類(D類)功率放大器
- (0059)船舶貨運(yùn)保險(xiǎn)理賠答疑手冊(cè)
- 醫(yī)療器械輻照滅菌確認(rèn)報(bào)告
- 南瑞繼保103-主體部分
評(píng)論
0/150
提交評(píng)論