51单片机 十六进制数与ASCII码间的转换求详解

将1位十六进制数转换成相应的ASCII码。设十六进制数存放在R0中,转换后的ASCII码存放于R2中。HASC:MOVA,R0;取4位二进制数ANLA,#0FH;屏蔽掉高... 将1位十六进制数转换成相应的ASCII码。设十六进制数存放在R0中,转换后的ASCII码存放于R2中。
HASC:MOV A,R0 ;取4位二进制数
ANL A,#0FH ;屏蔽掉高4位(为什么)
PUSH ACC ;4位二进制数入栈(为什么要入栈)
CLR C ;清进(借)位位
SUBB A,#0AH
POP ACC
JC LOOP
ADD A,#07H
LOOP:ADD A,#30H
MOV R2,A
RET

好多都不懂,原理是什么?每一步的作用是什么?明天考试啊~~~在线等答案~~
万分感谢 O(∩_∩)O谢谢 五体投地
展开
 我来答
一剑出血
高粉答主

2011-11-12 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
这程序的功能就是把一字节十六进制数的低4位转换为一个ASCII码。例如0x0E转换为'E'、0x08转换为'8'。

我估计你就是对内码不太熟悉吧。
你翻一下ASCII码的内码表,再对照这程序看看,应该就能明白了。
很好懂的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式