您的位置 首页 电源

单片机第五次作业

作业:将4位二进制数转换为ASCII码入口:R2=4位二进制数,只取低四位。出口:R2=转换后的ASCII码1、先fileagrave;new建asm文件20asmBIN2AS

作业:将4位二进制数转化为ASCII码
进口:R2=4位二进制数,只取低四位。
出口: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
为了调试时看数据,预先在R2中赋值为7CH,所以程序前加:

MOV R2,#7CH
程序变为:
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是遇到子程序或中止当一句一次履行完。本程序物子程序,二者是相同的。咱们履行一句得到:


可见:R2值变为7ch.持续履行:
点view àmemory windows,再输入D:10h回车,得到:


10H处值为7CH.下一步:

可见,10H值变为0ch,下一步:

A中值变为0CH,下一步:

把A与0AH相减,并使10H出栈,此刻CY并未改动,仍为0。所以不跳转。持续履行:

可见A中值变为13H,持续往下履行:

A中值变为43h,下一步:

可见R2中值变为43h,即为0ch转化后的ACSII码值.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/259448.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部