版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、微機實驗(shyn)報告 LED數(shù)碼管顯示(xinsh)實驗 指導(dǎo)(zhdo)教師: 專業(yè)班級: 姓名 : 學(xué)號 : 聯(lián)系方式 : 任務(wù)(rn wu)要求 實驗?zāi)康模豪斫釲ED七段數(shù)碼管的顯示控制原理,掌握數(shù)碼管與MCU的接口技術(shù),能夠編寫數(shù)碼管顯示驅(qū)動程序;熟悉(shx)接口程序調(diào)試方法。實驗內(nèi)容:利用C8051F310單片機控制(kngzh)數(shù)碼管顯示器基本要求:利用末位數(shù)碼管循環(huán)顯示數(shù)字0-9,顯示切換頻率為1Hz。提高要求:在4位數(shù)碼管顯示器上依次顯示當(dāng)天時期和時間,顯示格式如下:yyyy (年份)mm.dd(月份.日)hh.mm(小時.分鐘)思考題:數(shù)碼管采用動態(tài)驅(qū)動方式時刷新頻率應(yīng)
2、如何選擇?為什么?設(shè)計思路C8051F310單片機片上晶振為24.5MHz,采用8分頻后為3.0625MHz ,輸入時鐘信號采用48個機器周期。0到9對應(yīng)的斷碼為:FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H基礎(chǔ)部分: 由于只需要用末位數(shù)碼管顯示,不需要改變位碼,所以只需要采用LED的靜態(tài)顯示。采用查表的方法,通過循環(huán)結(jié)構(gòu),每次循環(huán)查找數(shù)據(jù)表下一地址,循環(huán)十次后重新開始循環(huán)。每次循環(huán)延時1s,采用定時器0定時方式1。提高(t go)部分: 四個數(shù)碼管都要顯示,所以采用(ciyng)LED的動態(tài)顯示。由于數(shù)碼管的位選由P0.7、P0.6控制,P0端口的其他引腳都
3、沒用到,所以對P0端口初始化賦00H,每次循環(huán)加40H、選中下一位,四次后十六進制(sh li jn zh)溢出,P0端口變又為00H回到第一個數(shù)碼管。 每位數(shù)碼管顯示一個段碼后都延時1ms(否則數(shù)碼管太亮,刺眼)采用定時器0定時方式1,依然采用查表法改變段碼值。通過循環(huán):DJNZ R5,BACK MOV R5,#250 DJNZ R4,BACK MOV R4,#8 來控制每種模式的切換時間,我采用2s切換一次(8*250*1ms=2s)。切換模式,可以采用改變查表法的偏移量來實現(xiàn),沒切換一次模式,偏移量加04H,三次后回到初始偏移量,來實現(xiàn)三種模式的循環(huán)顯示。資源分配基礎(chǔ)部分:P0.7、P0
4、.6:控制數(shù)碼管的位選P1:控制數(shù)碼管段碼的顯示R0:控制段選提高部分:P0.7、P0.6:控制數(shù)碼管的位選P1:控制(kngzh)數(shù)碼管段碼的顯示R0:控制(kngzh)位選R1:控制(kngzh)段選R3:用于改變偏移量來切換模式R4、R5:控制循環(huán)次數(shù),控制模式切換時間流程圖基礎(chǔ)部分:提高(t go)部分五、源代碼 (含文件頭說明(shumng)、資源使用說明、語句行注釋)基礎(chǔ)(jch)部分: ;*;Filename:shumaguan.asm;Description: 利用末位數(shù)碼管循環(huán)顯示(xinsh)數(shù)字0-9,顯示切換頻率為1Hz。;Designed by:gxy;Date:20
5、12/11/7;*$include (C8051F310.inc)ORG 0000H ;復(fù)位入口AJMP MAINORG 000BH ;定時器0中斷入口AJMP TIME0MAIN: ACALL Init_Device ;初始化配置 MOV P0,#00H ;位選中第一個數(shù)碼管 MOV R0,#00H ;偏移指針初值 CLR PSW.1 ;標(biāo)志位清零 SETB EA ;允許總中斷 SETB ET0 ;允許定時器0中斷 MOV TMOD,#01H ;定時器0選工作方式1 MOV TH0,#06H MOV TL0,#0C6H ;賦初值,定時1sLOOP: MOV A,R0 ADD A,#0BH ;
6、加偏移量 MOVC A,A+PC ;查表取,段碼 MOV P1,A ;段碼給P1顯示 SETB TR0 ;開定時LOOP1: JNB PSW.1,LOOP1 ;等待(dngdi)中斷 CLR PSW.1 INC R0 ;偏移(pin y)指針加一 CJNE R0,#0AH,LOOP3 MOV R0,#00H ;偏移(pin y)指針滿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;*; 定時器0中斷;*TIME0: SETB PSW.1 ;標(biāo)
7、志位置一 MOV TH0,#06H ;定時器重新賦值 MOV TL0,#0C6HLOOP3: CLR TR0 ;關(guān)定時 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,
8、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.
9、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 - Unassigne
10、d, 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提高(t go)部分:;*;Filename: shumaguan2.asm;Description
11、:在4位數(shù)碼管顯示器上依次顯示當(dāng)天時期和時間,顯示格式(g shi)如下:; 2012 (年份(ninfn); 12.07(月份.日); 12.34(小時.分鐘);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)志(bioz
12、h)位清零SETB EA ;允許(ynx)總中斷 SETB ET0 ;允許(ynx)定時器0中斷 MOV TMOD,#01H ;定時器0選工作方式1 MOV TH0,#0FFH MOV TL0,#0C0H ;定時器賦初值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 ;開定時HERE: JNB PSW.1,HERE ;等待中斷 CLR PSW.1 DJNZ R5,BACK MOV
13、 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 ;加三次(sn c)后偏移量回到初值LOOP2: AJMP BACK ;返回進入(jnr)下一模式;段碼數(shù)據(jù)表: DB 0DAH,60H,0FCH,0DAH ; 2102 DB 0E0H,0FCH,61H,60H; 701. 1 DB 66H,0F2H,0DBH,60H; 432. 1;*; 定時器0中斷(zhngdun);*TIME0: MOV
14、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, Di
15、gital ; 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
16、- 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,
17、 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六、程序測試方法與結(jié)果
18、(ji gu)、軟件性能分析 軟件(run jin)調(diào)試總體截圖:基礎(chǔ)(jch)部分:軟件(run jin)運行時,我們發(fā)現(xiàn)P0端口為00H,P1端口以依次為FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H。說明第一個數(shù)碼管依次顯示0、1、2、3、4、5、6、7、8、9 如圖,這是程序運行時的一個(y )截圖,P0端口為00H,位選第一個數(shù)碼管,P1端口為BEH,表示第一個數(shù)碼管顯示(xinsh)數(shù)字“6” 0到9顯示如下: 所以(suy),軟件(run jin)調(diào)試時,運行正常。Program Size: data=8.0 xdata=0 code=112硬件(
19、yn jin)調(diào)試時C8051F310單片機開發(fā)板上第一個數(shù)碼管循環(huán)顯示數(shù)字0-9,顯示切換頻率為1Hz。運行正常,數(shù)碼管亮度適中,如圖:綜上:基礎(chǔ)部分代碼,無論是在軟件上還是(hi shi)硬件上都運行正常,達到了實驗的要求。提高(t go)部分:軟件(run jin)調(diào)試時,P0端口不斷在00H、40H、80H、C0H中循環(huán)跳動,說明每1ms換一個位碼,即每1ms亮下一個數(shù)碼管,軟件截圖如下:P1端口也不斷(bdun)在0DAH,60H,0FCH,0DAH(2102 )間跳動(tiodng) ;過2s后切換(qi hun)到在0E0H,0FCH,61H,60H(701. 1)間跳動;在過2s在66H,0F2H,0DBH,60H(432. 1)間跳動;再過2s后又切換到第一種模式所以,軟件調(diào)試時,運行正常。Program Size: data=8.0 xdata=0 code=141硬件調(diào)試時C8051F310單片機開發(fā)板上4位數(shù)碼管顯示器上依次顯示年份、月日和時分,亮度適中每2s切換一次,切換正常,截圖如下:分別顯示2012年、11月07日、12點34分。綜上:提高部分代碼,無論是在軟件上還是(hi shi)硬件上都運行正常,達到了實驗的要求。七、思考題
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園教師信息化培訓(xùn)
- 醫(yī)用密封放射性物料市場發(fā)展預(yù)測和趨勢分析
- 產(chǎn)科護理與助產(chǎn)技術(shù)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 民法學(xué)(總論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 中學(xué)物理實驗分析與研究學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 學(xué)校實驗室電氣安裝施工方案
- 農(nóng)業(yè)產(chǎn)業(yè)化培訓(xùn)
- 攝像機用接口電路市場需求與消費特點分析
- 無人駕駛技術(shù)機房驗收方案
- 工業(yè)邊緣計算行業(yè)營銷策略方案
- 西游記 品味經(jīng)典名著導(dǎo)讀PPT
- 金壇區(qū)蘇科版四年級心理健康教育第1課《我的興趣愛好》課件(定稿)
- 心肌缺血和心肌梗死的心電圖表現(xiàn)講義課件
- 小學(xué)生性教育調(diào)查問卷
- 學(xué)歷案的編寫課件
- 旅游行政管理第二章旅游行政管理體制課件
- 衛(wèi)生院關(guān)于召開基本公共衛(wèi)生服務(wù)項目培訓(xùn)會的通知
- 有機化學(xué)ppt課件(完整版)
- 管理咨詢公司關(guān)鍵績效考核指標(biāo)
- 最新人教版三年級上冊數(shù)學(xué)期中考試試題以及答案
- 《走進愛國主義教育基地》ppt
評論
0/150
提交評論