永发信息网

关于MCS-51单片机是如何将单字节二进制数转化为BCD码的问题

答案:2  悬赏:70  手机版
解决时间 2021-04-26 18:28
关于MCS-51单片机是如何将单字节二进制数转化为BCD码的问题
最佳答案
乘除法的时候可以不考虑进制的,比如说 #0FFH这个十六进制数 存放于A中,#100这个十进制数放于B中 然后DIV AB 这时 A等于#02H B等于#37H等于55
在然后
假设A中的数为 FFH
BINBCD:
MOV B, #100 (B=100,十进制100,)
DIV AB (A等于#02H,B等于#37H等于55)
MOV R3, A (A=02H)
MOV A, #10 (A=10=0AH,B=55=37H)
XCH A,B (A=55=37H, B=10=0AH)
DIV AB (A=05H=5 , B=5=05H)
SWAP A (A=50H,B=05H)
ADD A,B (A=55H,这时十位各位的BCD吗已经求出来了,将
37H=55转换为55H
END
1 请问这个程序求解的思路是什么?
思路就是对一个数求模和求于来分离百位十位和个位
例如168
168/100=1余68
68/10=6余8
8/1=8余0
这样就分离了百位十位和个位
2 该程序的第二句"DIV AB"的解释是十六进制数除以100,可是A中应该存放的是一个八位的二进制数,这是怎么回事?
这个是你没理解cpu存数据的方式,A中存放的其实归根结底说是二进制数,机器只认识二进制数,对这段程序编译之后我们输入的十进制100也变成二进制数了,我们通常说十六进制数是因为十六进制数和二进制数有位上的对应关系,比如1100 0110B=C6H 也就是说二进制数每4位一段各自写成十六进制数就把二进制转换成十六进制了,
3 最后为什么要十位数与个位数相加,不是要分离十位数与个位数吗?
我想如果你清楚BCD码的含义你就明白了
BCD码就是用十六进制数来表示十进制的数
例如:45H是等于十进制的69的,但如果你说他是BCD码他就代表十进制数45
这样你就会发现不是每个十六进制数都是BCD码的,例如AAH就不是BCD码,因为没有AA这样的十进制数

我最后总结一下,就是我们所说的十进制数也好十六进制数也好,归根到底机器都是要把他变为二进制数的,机器也只认识二进制数,这样你就好理解了,我们不会处理不同进制数之间的运算,运算时必须要把他转换同进制的数,机器也是这样,只不过我们擅长的是十进制的运算,而机器擅长的是二进制运算,二进制数位数多不方便我们就找了一个帮手十六进制数

希望你能看得懂
全部回答
单字节二进制数,写成十进制,就是0~255。
该程序的第二句DIV AB除以100之后,A中是商(0~2),B中是余数(0~99)。
A中的商,就是百位数,存放到R3。
余数除以10之后,A中商是10位(0~9),B中是个位(0~9)。
十位数交换到A的高4位,再加上个位数,那只是题目中要求的存放方法而已。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
最简单易学的黄梅戏片段
f.t island的资料(要附带照片介绍的)??
剖产只隔了一年,能再次怀孕吗
QQ音乐歌词如何设置穿透
孕期偶尔玩过小动物那样对宝宝发育有没影响
小锅怎么加台(只有47个节目台和4个广播台)
代表烦恼的句子,关于烦恼的诗句有哪些
QQ空间消息打不开怎么回事?
有人在新浪微博上声称:公安部代表国家再三请
合肥步行街沙尘暴的俱体地址?
实况2010绿茵传奇修改
到底坚持什么才是正确的?
怎么让别人的电脑在一分种内关机
QBZ-95有谁知道怎么用么?
为什么笔记本电脑放cD盘有一半放不进去
推荐资讯
我DNF上周五就报名了,为什么现在还是没转过
作文:由某一件事物得到的启示
夏新N6功能怎么样
为什么登录QQ时360保险箱出现这个a
我还想问一下 问问12级一天究竟可以免费提多
温岚发烫的歌词
天长地久婚纱·摄影·婚庆地址有知道的么?有
世界上第十高的山叫什么
手指痒起粒肿怎么办?我用止痒药擦过可三天了
QQ隐身了,为还是有人知道我在线?而且我在他
深圳到郑州的汽车车次和火车车次票价以及到达
用手机话费怎么充值5173
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?