c51语言转换ASCII码,ASCII 码和十六进制数的转换 -51单片机

题目:用查表法将一位十六进制数转换为ASCII码,入口参数放在内部RAM 50H中,出口参数在R0中。

要求:用汇编语言完成编程(用DB  "0","1"......)。

悬赏分:0 -  解决时间:2010-1-15 15:52

;---------------------------------

最佳答案:

转换程序如下:

D2A:

MOV  A, 50H

ADD  A, #2            ;加上查表时的指令地址和表格首址的差

MOVC A, @A + PC

MOV  R0, A

RET

TABLE:

DB "0123456789ABCDEF" ;用:DB '0', '1', ...,形式也可以

;完

;---------------------------------

回答者:做而论道 - 十二级   2010-1-10 08:35

提问者对于答案的评价:谢谢~~

原题网址:http://zhidao.baidu.com/question/132543701.html

;======================================================

又是一个题目:

单片机编程!!将 ASCII 码转化为十六进制数,设 ASCII 码存放在累加器中,转化结果存放到B中。

提示:由 ASCII 码表可知,30H-39H为0-9的 ASCII 码,41H-46H为A-F的 ASCII 码。

将 ASCII 码减 30H(0-9)或 37H(A-F)就可获得对应的十六进制数。

我个人觉得很有难度的作业!望有学之士能 帮我做出!!万分感谢!!

悬赏分:20 - 解决时间:2010-1-6 12:28

;--------------------------------

正确答案:

;程序如下:

MOV  B,  A

CLR  C

SUBB A,  #3AH

JC   DDD

SUB  A,  #07H

DDD:  ADD  A,  #0AH

XCH  A, B

RET

;---------------------------------

回答者: 做而论道 - 十二级   2010-1-5 11:23

答案的评价:这是最佳答案。

原题网址:http://zhidao.baidu.com/question/132090518.html;======================================================