删了怪可惜的,不要浪费。
单字节十六进制数转换成双字节 ASCII 码
功 能:单字节十六进制数转换成双字节 ASCII 码
入口条件:待转换的单字节十六进制数在累加器 A 中。
出口信息:高四位的 ASCII 码在 A 中,低四位的 ASCII 码在 B 中
实现1:(计算法)
PUSH A ;将A压栈,保存
MOV DPTR,#AST ;把AST数据段起始地址送DPTR,作为基址
ANL A,#0FH ;取低四位,即为低位ASCII码表示的数据大小
ADD A, 30H ;A值加30H即为对应ASCII码字符
XCH A,B ;交换,将结果送B保存
POP A ;弹栈,将入口值返回到寄存器A
SWAP A ;高低半字节交换
ANL A,#0FH ;取ASCII码对应高位表示数据
ADD A, 30H ;A值加30H即为对应ASCII码字符。至此,功能完成
SJMP $ ;原地踏步指令,相当于停机
实现2:(查表法)
PUSH A ;将A压栈,保存
MOV DPTR,#AST ;把AST数据段起始地址送DPTR,作为基址
ANL A,#0FH ;取低四位,即为低位ASCII码表示的数据大小
MOVC A,@A+DPTR ;寄存器间接寻址/查表指令,获得ASCII码低位字符数据,送A
XCH A,B ;交换,将结果送B保存
POP A ;弹栈,将入口值返回到寄存器A
SWAP A ;高低半字节交换
ANL A,#0FH ;取ASCII码对应高位表示数据
MOVC A,@A+DPTR ;寄存器间接寻址/查表指令,获得ASCII码高位字符数据,送A。至此,功能完成
SJMP $ ;原地踏步指令,相当于停机
AST:DB 30H,31H,32H,33H,34H,35H,36H,37H ;对应0~7字符的ASCII码
DB 38H,39H,41H,42H,43H,44H,45H,46H ;对应8~F字符的ASCII码
程序整体思路:
A、B寄存器为8位寄存器,所以高四位和低四位分别等于双字节ASCII码的高低两位字符代表的数字值。
比如10110011B=B3H,1011B=12D=BH 0011B=3D=3H (B:二进制,D:十进制,H:十六进制)
所以只要分别取入口参数的高低四位的数值,加上30H(或用查表法查得ASCII字符)就可以了。
分享到:
相关推荐
南京邮电大学电子科学与工程学院51单片机实验报告
AT89S51单片机实验及实践教程AT89S51单片机实验及实践教程AT89S51单片机实验及实践教程AT89S51单片机实验及实践教程
51单片机实验指导书,用于大学单片机实验的指导书
MCS-51单片机实验.doc
80C51单片机实验实训100例--基于Keil c和Proteus.rar80C51单片机实验实训100例--基于Keil c和Proteus.rar80C51单片机实验实训100例--基于Keil c和Proteus.rar
keil-c51单片机实验指导.5.4演示教学.docxkeil-c51单片机实验指导.5.4演示教学.docxkeil-c51单片机实验指导.5.4演示教学.docxkeil-c51单片机实验指导.5.4演示教学.docxkeil-c51单片机实验指导.5.4演示教学.docxkeil-...
AT89S51单片机实验及实践教程AT89S51单片机实验及实践教程AT89S51单片机实验及实践教程
80c51单片机实验教程单片机实验教程单片机实验教程单片机实验教程
51单片机实验一实验报告.docx
51单片机实验程序,包括99倒计时;电子时钟设计;AD转换器的使用。包括原程序和改进后的程序
某中德应用技术大学51单片机实验.zip某中德应用技术大学51单片机实验.zip 某中德应用技术大学51单片机实验.zip某中德应用技术大学51单片机实验.zip 某中德应用技术大学51单片机实验.zip某中德应用技术大学51单片机...
AT89C51单片机实验指导教程,得好的单片机实验指导
单片机实训电子课件,适合51单片机实验教学。
51单片机的实验指导书,密码1234567890
51汇编源程序_51单片机实验汇编程序51汇编源程序_51单片机实验汇编程序51汇编源程序_51单片机实验汇编程序51汇编源程序_51单片机实验汇编程序51汇编源程序_51单片机实验汇编程序51汇编源程序_51单片机实验汇编程序
大学用Keil编写的51单片机实验代码,全部使用汇编语言编写.zip 大学用Keil编写的51单片机实验代码,全部使用汇编语言编写.zip 大学用Keil编写的51单片机实验代码,全部使用汇编语言编写.zip 大学用Keil编写的51...
内容涵盖51单片机的所有知识点,实验齐全,初级、高级实验一应俱全