打印

如何转换成BCD啊?

[复制链接]
1028|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,这个好像有转换函数的。

使用特权

评论回复
5
软核硬核| | 2022-12-25 09:36 | 只看该作者

//递归
void decToBin(int n)
{
    int a;
    a = n%2;
    n /= 2;
    if(n==0)
        ;
    else
        decToBin(n);
    cout<<a;
}
公式,可以参考一下。

使用特权

评论回复
6
Henryko| | 2022-12-26 10:26 | 只看该作者
8421数一下就行了

使用特权

评论回复
7
llljh| | 2023-1-4 18:23 | 只看该作者
然后呢?你是怎么应对这个的呢

使用特权

评论回复
8
zhuww|  楼主 | 2023-1-4 18:26 | 只看该作者
判溢出后如何往下写啊

使用特权

评论回复
9
zhanghqi| | 2023-1-4 18:28 | 只看该作者
MOV      A,#99H
DEC      A
JNC       .....

使用特权

评论回复
10
wyjie| | 2023-1-4 18:31 | 只看该作者
建议还是用十六进制计算,只在显示的时候再转成BCD码

使用特权

评论回复
11
zhuww|  楼主 | 2023-1-4 18:34 | 只看该作者
请问如何实现

使用特权

评论回复
12
pengf| | 2023-1-4 18:36 | 只看该作者
MOV      A,#99H
DEC      A
DA        A // 很重要
JNC       .....

使用特权

评论回复
13
zhuww|  楼主 | 2023-1-4 18:37 | 只看该作者
那位指点下后面的程序啊

使用特权

评论回复
14
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

使用特权

评论回复
15
wuhany| | 2023-1-4 18:42 | 只看该作者

BCD    -1 = (099H-01H) + 01H = 099H      ---- 10 的补码
    BIN     -1 = (0FFH-01H) + 01H =  0FFH    ----- 2 的补码

使用特权

评论回复
16
spark周| | 2023-1-4 18:44 | 只看该作者
就是用两个数码管啊

使用特权

评论回复
17
stly| | 2023-1-4 19:04 | 只看该作者

不错,学到了些知识
我一般是16进制操作
更多操作

使用特权

评论回复
18
primojones| | 2023-1-5 15:19 | 只看该作者
这个都是按照对应的码转换就行。              

使用特权

评论回复
19
iyoum| | 2023-1-5 18:17 | 只看该作者
为什么需要bcd码呢?              

使用特权

评论回复
20
MessageRing| | 2023-1-19 20:48 | 只看该作者
8421数一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

893

主题

8252

帖子

1

粉丝