如何转换成BCD啊?

[复制链接]
1467|19
 楼主| zhuww 发表于 2022-12-10 15:57 | 显示全部楼层 |阅读模式
一个两位数减法,送数码管显示P0高位P2低位,
现要求从99减至00
如何转换成BCD啊?
LLGTR 发表于 2022-12-25 09:33 | 显示全部楼层
如果是8位引脚的数码管,不需要转换BCD吧。
V853 发表于 2022-12-25 09:34 | 显示全部楼层
这个挺简单的,数码管显示和BCD编码有什么关系吗?
朝生 发表于 2022-12-25 09:35 | 显示全部楼层
BCD编码,就是1248,这个好像有转换函数的。
软核硬核 发表于 2022-12-25 09:36 | 显示全部楼层

//递归
void decToBin(int n)
{
    int a;
    a = n%2;
    n /= 2;
    if(n==0)
        ;
    else
        decToBin(n);
    cout<<a;
}
公式,可以参考一下。
Henryko 发表于 2022-12-26 10:26 | 显示全部楼层
8421数一下就行了
llljh 发表于 2023-1-4 18:23 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| zhuww 发表于 2023-1-4 18:26 | 显示全部楼层
判溢出后如何往下写啊
zhanghqi 发表于 2023-1-4 18:28 | 显示全部楼层
MOV      A,#99H
DEC      A
JNC       .....
wyjie 发表于 2023-1-4 18:31 | 显示全部楼层
建议还是用十六进制计算,只在显示的时候再转成BCD码
 楼主| zhuww 发表于 2023-1-4 18:34 | 显示全部楼层
请问如何实现
pengf 发表于 2023-1-4 18:36 | 显示全部楼层
MOV      A,#99H
DEC      A
DA        A // 很重要
JNC       .....
 楼主| zhuww 发表于 2023-1-4 18:37 | 显示全部楼层
那位指点下后面的程序啊
bqyj 发表于 2023-1-4 18:40 | 显示全部楼层

; -1 = +99H
     MOV R7, #99H

SUB_DEC1:
      MOV A, R7
     ADD A, #99H
     DA A
     MOV R7, A
     RET
wuhany 发表于 2023-1-4 18:42 | 显示全部楼层

BCD    -1 = (099H-01H) + 01H = 099H      ---- 10 的补码
    BIN     -1 = (0FFH-01H) + 01H =  0FFH    ----- 2 的补码
spark周 发表于 2023-1-4 18:44 | 显示全部楼层
就是用两个数码管啊
stly 发表于 2023-1-4 19:04 | 显示全部楼层

不错,学到了些知识
我一般是16进制操作
更多操作
primojones 发表于 2023-1-5 15:19 | 显示全部楼层
这个都是按照对应的码转换就行。              
iyoum 发表于 2023-1-5 18:17 | 显示全部楼层
为什么需要bcd码呢?              
MessageRing 发表于 2023-1-19 20:48 | 显示全部楼层
8421数一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

893

主题

8252

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部