新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)第五次作業(yè)

單片機(jī)第五次作業(yè)

作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
作業(yè):將4位二進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼
入口:R2=4位二進(jìn)制數(shù),只取低四位。
出口:R2=轉(zhuǎn)換后的ASCII碼
1、先f(wàn)ileànew建asm文件20.asm
BIN2ASC:MOV 10H,R2
ANL 10H,#0FH
PUSH 10H
MOV A,10H
CLR C
SUBB A,#0AH
POP 10H
MOV A,10H
JC LOOP
ADD A,#07H
LOOP:ADD A,#30H
MOV R2,A
RET
END
為了調(diào)試時(shí)看數(shù)據(jù),預(yù)先在R2中賦值為7CH,所以程序前加:

MOV R2,#7CH
程序變?yōu)椋?br />MOV R2,#7CH
BIN2ASC:MOV 10H,R2
ANL 10H,#0FH
PUSH 10H
MOV A,10H
CLR C
SUBB A,#0AH
POP 10H
MOV A,10H
JC LOOP
ADD A,#07H
LOOP:ADD A,#30H
MOV R2,A
RET
END
2、建新工程,Projectànewproject,選AtemlàAT89C51,導(dǎo)入文件20.asm。
注意,對(duì)初學(xué)者,一個(gè)工程里只能有本程序20.asm,無(wú)關(guān)的程序要?jiǎng)h除,新試驗(yàn)一個(gè)程序最好重新建工程,以保證一個(gè)工程里只有你要試驗(yàn)的那一個(gè)程序。
3、可見(jiàn)程序




4、編譯通過(guò)后,點(diǎn)debug下的start/stop開(kāi)始調(diào)試,step和stepover都是單步調(diào)試,step是遇到子程序或中斷也要進(jìn)入進(jìn)行單步調(diào)試,stepover是遇到子程序或中斷當(dāng)一句一次執(zhí)行完。本程序物子程序,二者是一樣的。我們執(zhí)行一句得到:


可見(jiàn):R2值變?yōu)?ch.繼續(xù)執(zhí)行:
點(diǎn)view àmemory windows,再輸入D:10h回車,得到:





10H處值為7CH.下一步:

可見(jiàn),10H值變?yōu)?ch,下一步:



A中值變?yōu)?CH,下一步:


把A與0AH相減,并使10H出棧,此時(shí)CY并未改變,仍為0。所以不跳轉(zhuǎn)。繼續(xù)執(zhí)行:





可見(jiàn)A中值變?yōu)?3H,繼續(xù)往下執(zhí)行:



A中值變?yōu)?3h,下一步:


可見(jiàn)R2中值變?yōu)?3h,即為0ch轉(zhuǎn)換后的ACSII碼值.


關(guān)鍵詞: 單片機(jī)ASCII

評(píng)論


技術(shù)專區(qū)

關(guān)閉