51单片机控制大1302的数据转换
怎么把BCD码转换成10进制,不会求指导! 这个……把这个数用数码管显示出来,然后电脑摄像头装一套类似扫车牌的软件,把扫到的数据输入电脑上的计算器,转换下就知道了,嘿嘿,不谢 amazing030 发表于 2014-10-30 20:02这个……把这个数用数码管显示出来,然后电脑摄像头装一套类似扫车牌的软件,把扫到的数据输入电脑上的计算 ...
貌似你说的太高深了吧 tangjiaqq 发表于 2014-10-30 20:08
貌似你说的太高深了吧
弱弱的问句,是不是就是十六进制转十进制。 本帖最后由 dz20062008 于 2014-10-30 20:40 编辑
很简单的,用16进制的数除以100的商就是十进制的百位,在用余数除以10就是十位,剩余的余就各位了。
汇编代码如下:
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
PUSH ACC
PUSH B
MOV A,R4
MOV B,#100D
DIV AB
MOV 10H,A
MOV A,#10D
XCH A,B
DIV AB
MOV 11H,A
MOV 12H,B
POP B
POP ACC
RET
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
10H存储的就是百位,11H就是十位,12H就是个位。
BCD码是四位的,那秒寄存器来说,假如存入a=45,则需要的运算如下:
i1=45/10=4
i2=45%10=5
则存入i3=4*16+5=69,对应的BCD码是0100 0101;当读出时需要的运算如下:
i1=69/16=4
i2=69%16=5
a=4*10+5=45
度娘上多得是,自己拿起笔算算就明白了 R88 发表于 2014-10-30 20:37
BCD码是四位的,那秒寄存器来说,假如存入a=45,则需要的运算如下:
i1=45/10=4
i2=45%10=5
谢谢 知道怎么回事了 dz20062008 发表于 2014-10-30 20:33
很简单的,用16进制的数除以100的商就是十进制的百位,在用余数除以10就是十位,剩余的余就各位了。
汇编 ...
十分感谢汇编没怎么学勉强看的懂
页:
[1]