;-----------------------------------
DISPLAY: ; 显示 子程序.
MOV A, R0 ; 取来二进制数字.
MOV B, #10 ; 换成10进制.
DIV AB ; A÷B商存A, 余数存B
MOVC A, @A+DPTR;取.
MOV P0, A
CLR P2.1 ; 开十位显示.
ACALL DLY10mS ; 调延时10ms程序 十位.
SETB P2.1 ; 关闭十位显示.
MOV A, B
MOVC A, @A+DPTR ;取表子程序.
MOV P0, A
CLR P2.0 ; 开个位显示.
ACALL DLY10mS ; 调延时10ms程序.
SETB P2.0 ; 关闭个位显示.
RET
;-----------------------------------
摘自:http://zhidao.baidu.com/question/290559430.html
假如十六进制数是W,则:
千位=W/1000;
百位=W%1000/100;
十位=W%1000%100/10;
个位=W%1000%100%10;
不断除以10,将各位的数字分离出来。