ASCII 碼和十六進制數(shù)的轉換 -51單片機
題目:用查表法將一位十六進制數(shù)轉換為ASCII碼,入口參數(shù)放在內(nèi)部RAM 50H中,出口參數(shù)在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', ...,形式也可以
;完
;---------------------------------
原題網(wǎng)址:
單片機編程!!將 ASCII 碼轉化為十六進制數(shù),設 ASCII 碼存放在累加器中,轉化結果存放到B中。
提示:由 ASCII 碼表可知,30H-39H為0-9的 ASCII 碼,41H-46H為A-F的 ASCII 碼。
將 ASCII 碼減 30H(0-9)或 37H(A-F)就可獲得對應的十六進制數(shù)。
我個人覺得很有難度的作業(yè)!望有學之士能 幫我做出!!萬分感謝!!
懸賞分: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
;---------------------------------