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

麻烦写一下C程序外加说明
发到我的邮箱[email protected]
谢谢…………

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

谢谢你的帮助,可是你能用C语言麽?要汇编写完整个程序的话,我想我会崩溃…………

追答

到我的百度空间看看吧,有很多这种简单问题的实例。
http://zhidao.baidu.com/question/278719521.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-12
假如十六进制数是W,则:
千位=W/1000;
百位=W%1000/100;
十位=W%1000%100/10;
个位=W%1000%100%10;
第2个回答  2011-07-14
不断除以10,将各位的数字分离出来。
相似回答