×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-08-26 发布时间:
|

题目:用查表法将一位十六进制数转换为ASCII码,入口参数放在内部RAM 50H中,出口参数在R0中。
要求:用汇编语言完成编程(用DB  "0","1"......)。
;---------------------------------
最佳答案:

转换程序如下:

D2A:
      MOV  A, 50H
      ADD  A, #2            ;加上查表时的指令地址和表格首址的差
      MOVC A, @A + PC
      MOV  R0, A
      RET
TABLE:
      DB "0123456789ABCDEF" ;用:DB '0', '1', ...,形式也可以
;完
;---------------------------------

原题网址:

单片机编程!!将 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
;---------------------------------




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项