如何把c51单片机中的二进制数在数码管(共阴极)中用十进制显示出来?谢谢!

2025-05-19 10:01:22
推荐回答(3个)
回答1:

;-----------------------------------
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

回答2:

假如十六进制数是W,则:
千位=W/1000;
百位=W%1000/100;
十位=W%1000%100/10;
个位=W%1000%100%10;

回答3:

不断除以10,将各位的数字分离出来。