数字电路:设计《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位二进制码当做一个加数A3A2A1A0;0或6,当做另一个加数B3B2B1B0。
是否大于 9,可用两个与门、一个或门,来判断。或门输出的0、1,送到B2B1,即可形成 0000 或 0110。
变换出来的 BCD码,可以用七段码译码器芯片(74LS48)和共阴数码管来显示。
做而论道设计的电路如下:
图片链接:http://xiangce.baidu.com/picture/detail/1f4f863d58b5d971a4aa21560e05777d085189b0
图中的左边,4位二进制码是 1101,右边的显示是 13。
-------------------------------
用硬件来实现这个转换,有些浪费资金了,用单片机的软件编程,就省钱了。
写上:DA A,这一条指令,即可完成二进制代码到BCD码的转换。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮