新聞中心

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

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

作者: 時間:2016-11-25 來源:網(wǎng)絡 收藏
作業(yè):將4位二進制數(shù)轉換為ASCII碼
入口:R2=4位二進制數(shù),只取低四位。
出口:R2=轉換后的ASCII碼
1、先fileà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
為了調試時看數(shù)據(jù),預先在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,導入文件20.asm。
注意,對初學者,一個工程里只能有本程序20.asm,無關的程序要刪除,新試驗一個程序最好重新建工程,以保證一個工程里只有你要試驗的那一個程序。
3、可見程序




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


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





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

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



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


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





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



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


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


關鍵詞: 單片機ASCII

評論


技術專區(qū)

關閉