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

要求:输入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)和共阴数码管来显示。


做而论道设计的电路如下:



图片链接:http://xiangce.baidu.com/picture/detail/1f4f863d58b5d971a4aa21560e05777d085189b0


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


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


用硬件来实现这个转换,有些浪费资金了,用单片机的软件编程,就省钱了。


写上:DA   A,这一条指令,即可完成二进制代码到BCD码的转换。


你可能感兴趣的:(数字电子技术)