数字电路:设计《BIN 到 BCD 码的转换电路》

2019-04-13 15:51发布

要求:输入4位二进制码(0~15),输出为 BCD码,BCD码用数码管显示。题目链接:http://zhidao.baidu.com/question/554416754
常识:
十进制数是人们常用的数字。
而在数字电子技术、计算机技术中,却常用二进制代码来表示数字。
最常见的二进制码是 8421 码,它可以方便的进行加减乘除运算,而不需要进行什么转换。
计算的结果,通常还是 8421 码。
把计算的结果,显示出来,就要照顾大多数人的水平。
因为大多数人,只是学过十进制,让他们看二进制的数字,有点勉为其难。
用二进制的代码,代表十进制数字,称为 BCD 码。
在 BCD 码中,只用 0000~1001,代表 0~9。
它们的对应关系如下表所示。
---------------------------------------- 十进制数 |  二进制码  |     BCD 码----------+------------+----------------     0    |    0000    |   0000  0000     1    |    0001    |   0000  0001     2    |    0010    |   0000  0010     3    |    0011    |   0000  0011     4    |    0100    |   0000  0100     5    |    0101    |   0000  0101     6    |    0110    |   0000  0110     7    |    0111    |   0000  0111     8    |    1000    |   0000  1000     9    |    1001    |   0000  1001    10    |    1010    |   0001  0000    11    |    1011    |   0001  0001    12    |    1100    |   0001  0010    13    |    1101    |   0001  0011    14    |    1110    |   0001  0100    15    |    1111    |   0001  0101----------------------------------------
可以看出:
4位二进制码0~15,对应的 BCD码是 8 位二进制数。
4位二进制码0~9,和 BCD码的关系,非常简单,几乎没有什么变化。
4位二进制码10~15,就应该加上6,才能变成 BCD码。

这就是说,要进行转换,关键是要判断4位二进制码是否大于9,大于就加6,否则就不加。
这个过程称为《十进制调整》。
-------------------------------电路设计:
设计这样的转换电路,需要使用一个加法器芯片,可以选用 74LS283。
283 的功能如下。两个加数:A3A2A1A0、B3B2B1B0,各自都是四位二进制数。低位进位:C0,一位二进制数。
相加过程的竖式:     A3A2A1A0 +   B3B2B1B0 +         C0-------------- C4  S3S2S1S0
百度的排版太差了!字符的位置,对不齐。把上面的竖式,复制到记事本再看,就能看清楚它们的关系了。
把4位二进制码当做一个加数A3A2A1A00或6,当做另一个加数B3B2B1B0

是否大于 9,可用两个与门、一个或门,来判断。或门输出的0、1,送到B2B1,即可形成 0000 或 0110。
变换出来的 BCD码,可以用七段码译码器芯片(74LS48)和共阴数码管来显示。
做而论道设计的电路如下:
数字电路:设计《BIN 到 BCD 码的转换电路》 - 非著名博主 - 电子信息角落
图片链接:http://xiangce.baidu.com/picture/detail/1f4f863d58b5d971a4aa21560e05777d085189b0

图中的左边,4位二进制码是 1101,右边的显示是 13。

-------------------------------

用硬件来实现这个转换,有些浪费资金了,用单片机的软件编程,就省钱了。
写上:DA   A,这一条指令,即可完成二进制代码到BCD码的转换。