数字逻辑技术基础(三十八)——进制译码器

1 进制译码器

进制译码器是一种将输入的编码信号转换为特定进制的输出信号的数字电路。常见的编码器包括二-十进制译码器、BCD到十进制译码器等。

 1.1  二-十进制译码器

二-十进制译码器是将输入的BCD码转换为10个高、低电平输出信号。

真值表如下所示:

图1 二-十进制译码器的真值表

可以看到,输入是二进制的0000~1001,输出Y_0'\sim Y_9'只有一位低电平有效。

总结真值表,可以得到如下逻辑式:

                     Y_0=(A_3'A_2'A_1'A_0')'          Y_5=(A_3'A_2A_1'A_0)'

                     Y_1=(A_3'A_2'A_1'A_0)'           Y_6=(A_3'A_2A_1A_0')'

                     Y_2=(A_3'A_2'A_1A_0')'           Y_7=(A_3'A_2A_1A_0)'

                     Y_3=(A_3'A_2'A_1A_0)'           Y_8=(A_3A_2'A_1'A_0')'

                     Y_4=(A_3'A_2A_1'A_0')'            Y_9=(A_3A_2'A_1'A_0)'

二-十进制译码器的电路图如下所示:

图2 二-十进制的电路图

二-十进制译码器的应用包括控制7段数码管的数字显示,同时在工业控制中在PLC或者自动化设备中作为状态译码器。

1.2 8421码转换为4位循环码

如下所示电路图:

图2 8421码转换为循环码的电路图

通过上图的输入可以得到如下所示的真值表:

表1 8421码转换为4位循环码的真值表
B_3B_2B_1B_0G_3G_2G_1G_0
00000000
00010001
00100011
00110010
01000110
01010111
01100101
01110100
10001100
10011101
10101111
10111110
11001010
11011011
11101001
11111000

在上图中,各个输出与输入之间的关系式如下所示:

                                                                     G_0=A_0+A_1

                                                                     G_1=A_1+A_2

                                                                     G_2=A_2+A_3

                                                                     G_3=A_3

因此输出和输入之间的关系为:

                                                                      G_i=A_{i+1}\bigoplus A_i

通过对比真值表可以看出,G_0\sim G_3输出是4位循环码,本电路实现了从四个二进制数转化为4位循环码的电路。

1.3 余三码转化为8421码

四位余三码转换为8421码的真值表如下所示:

表2 4位余三码转换为8421码的真值表
E_3E_2E_1E_0DCBA
00110000
01000001
01010010
01100011
01110100
10000101
10010110
10100111
10111000
11001001

通过真值表可以推算相应的逻辑式。

(1)对与逻辑符号A:

图3 逻辑符号A的卡诺图

输出变量A的逻辑式为A=E_0'

(2)对于输出变量B:

图4 逻辑符号B的卡诺图

输出变量B的逻辑式为B=E_1'E_0+E_1E_0'=E_0\bigoplus E_i

(3)对于输出变量C:

图5 逻辑符号C的卡诺图

输出变量C的逻辑式为C=E_2'E_0'+E_2'E_1'+E_2E_1E_0=E_2'(E_1'+E_0')+E_2E_1E_0=E_2'(E_1E_0)'+E_2E_1E_0

(4)对于输出变量D:

图6 逻辑符号D的卡诺图

 输出变量D的逻辑式为:D=E_3E_2+E_3E_1E_0

总结上面逻辑式为:

                                                                  A=E_0'

                                                                  B=E_0\bigoplus E_i

                                                                  C=E_2'(E_1E_0)'+E_2E_1E_0

                                                                  D=E_3E_2+E_3E_1E_0

电路结构如下所示:

图7 余三码转换为8421码的电路

运行本电路,例如当输入0101时:

图7 输入0101时的余三码转换为8421码电路图

 可以看到,当输入0101时,输出为0010,属于余三码到8421码的转换。

当输入1000时:

图8 输入1000时的余三码转换为8421码电路图

可以看到输出为1010,属于余三码到8421码的转换。

1.4 8421码转换为余三码

余三码可以转换为8421码,8421码同样也可以转换为余三码。真值表如下所示:

表3 8421码转换为余三码的真值表
A_3A_2A_1A_0DCBA
00000011
00010100
00100101
00110110
01000111
01011000
01101001
01111010
10001011
10011100

通过真值表可以推算相应的逻辑式。

(1)对于输出变量A:

图9 输出变量A的ka'nuo

输出变量A的逻辑式为A=E_0'

(2)对于输出变量B:

图10 输出变量B的卡诺图

输出变量B的逻辑式为B=E_1'E_0'+E_1E_0=(E_1\bigoplus E_0)'

(3)对于输出变量C:

图11 输出变量C的卡诺图

输出变量C的逻辑式为C=E_2E_1'E_0'+E_2'E_0+E_2'E_1=E_2E_1'E_0'+E_2'(E_0+E_1)=E_2(E_1+E_0)'+E_2'(E_0+E_1)=E_2\bigoplus (E_1+E_0)

(4)对于输出变量D:

图12 输出变量D的卡诺图

输出变量D的逻辑式为:D=E_3+E_2E_1+E_2E_0=E_3+E_2(E_1+E_0)

可以总结为:

                                                                     A=E_0'

                                                                     B=(E_1\bigoplus E_0)'

                                                                      C=E_2\bigoplus (E_0+E_1)

                                                                      D=E_3+E_2(E_1+E_0)

电路结构如下所示:

图13 8421码转换为余三码的电路图

运行本电路,当输入为0010时:

图14 当输入0010时8421码转化为余三码电路图

可以看到输出为0101,即十进制的5,符合8421码到余三码的转换。

当输入为0110时:

图15 当输入0110时8421码转换为余三码电路图

可以看到输出为1001,即十进制的9,符合8421码到余三码的转换。

当输入为1000时:

图16 当输入1000时8421码转换为余三码的电路图

可以看到输出为1011,即十进制的11,符合8421码到余三码的转换。

 2 利用74LS283实现8421码到余三码的转换

2.1 74LS283芯片介绍

74LS283芯片是一款4位全加器的集成电路芯片,属于TTL系列,能够实现高速的加法运算。

芯片的逻辑框图如下所示:

图17 74LS283的逻辑框图

74LS283芯片一共有14个引脚,其中包括四位被加数A_0\sim A_3,四位加数B_0\sim B_3,四位输出S_0\sim S_3,进位输入C_0和进位输出C_4

芯片的运行规则如下所示:

图18 74LS283的逻辑框图

74LS283芯片是CPU和计算的基本运算器件,应用较为广泛。

2.2 电路设计

现在要使用加法器实现8421码到余三码的转换,实际上就是将四位输入信号加上二进制的0011。可以把四位输入信号当作被加数,把二进制的0011当作加数,进位输入接低电平。然后直接观察输出结果即可。

如下图所示:

图19 当加数为0011的74LS283芯片

使用Multisim软件对于实现该电路得:

图20 使用Mutlisim软件模拟8421码到余三码的转换

字发生器的范围为0000~1001,频率设置为20HZ。

运行该电路,当输入为0010时:

图21 当输入0010时电路的运行结果

可以看到输出结果为0101,符合8421码转换为余三码的结果。

当输入为0110时:

图22 当输入0110时电路的输出结果

可以看出输出结果为1001,符号8421码转化为余三码的结果。

同时经过电路图可以看到,0000~1001转换为余三码之后都没有发生进位。

(本文参考了哈尔滨工业大学的《数字电子技术基础》课程内容)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每月一号准时摆烂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值