51单片机控制大1302的数据转换

2020-01-21 21:46发布

怎么把BCD码转换成10进制,不会求指导!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
amazing030
1楼-- · 2020-01-22 02:59
 精彩回答 2  元偷偷看……
tangjiaqq
2楼-- · 2020-01-22 07:41
amazing030 发表于 2014-10-30 20:02
这个……把这个数用数码管显示出来,然后电脑摄像头装一套类似扫车牌的软件,把扫到的数据输入电脑上的计算 ...

貌似你说的太高深了吧
gujiamao_love
3楼-- · 2020-01-22 10:01
tangjiaqq 发表于 2014-10-30 20:08
貌似你说的太高深了吧

弱弱的问句,是不是就是十六进制转十进制。
dz20062008
4楼-- · 2020-01-22 11:10
本帖最后由 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就是个位。

R88
5楼-- · 2020-01-22 12:18
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
黑夜之狼
6楼-- · 2020-01-22 15:50
 精彩回答 2  元偷偷看……

一周热门 更多>