数字电路:设计《BIN 到 BCD 码的转换电路》
扫描二维码
随时随地手机看文章
要求:输入4位二进制码(0~15),输出为 BCD码,BCD码用数码管显示。
常识:
十进制数是人们常用的数字。
而在数字电子技术、计算机技术中,却常用二进制代码来表示数字。
最常见的二进制码是 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位二进制码当做一个加数A3A2A1A0;0或6,当做另一个加数B3B2B1B0。
是否大于 9,可用两个与门、一个或门,来判断。
或门输出的0、1,送到B2B1,即可形成 0000 或 0110。
变换出来的 BCD码,可以用七段码译码器芯片(74LS48)和共阴数码管来显示。
做而论道设计的电路如下:
图中的左边,4位二进制码是 1101,右边的显示是 13。
-------------------------------
用硬件来实现这个转换,有些浪费资金了,用单片机的软件编程,就省钱了。
写上:DA A,这一条指令,即可完成二进制代码到BCD码的转换。