数电基础(组合逻辑电路+Proteus)

时间:2024-10-02 07:52:47

1.组合逻辑电路

1.1组合逻辑电路的分析

1.1.1组合逻辑电路的定义

  • 组合逻辑电路的定义

(1)对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路的原来状态无关,这种电路被定义为组合逻辑电路。

(2)特点:电路中不包含存储单元。输出、输入之间没有反馈延迟通路

(3)逻辑功能函数

  •  集成电路的分析

(1)小规模集成电路:各种类型的门电路

(2)中规模集成电路:编码器、译码器、数据选择器、加法器、数值比较器等

(3)大规模集成电路:可编程逻辑器件PLD

1.1.2编码器

  • 编码器的定义和功能

(1)数字系统中存储或处理的信息,常常用二进制码表示。用一个二进制代码表示特定含义的信息称为编码。具有编码功能的逻辑电路称为编码器。

  • 普通编码器 

(1) 普通编码器:任何时刻只允许一个信号有效,否则将产生错误输出。

(2)4线二进制编码器具有4个输入I_0~I_3为高电平有效,输出是进制代码Y_1Y_0任何时刻I_0~I_3中只有一个取值为1,并且有一组对应的二进制代码输出。除只有一个输入为1的情况下,其余的输入组合的输出结果均为0。此时的逻辑表达式为\left\{\begin{matrix} Y_1=I_2+I_3& & \\ Y_0=I_1+I_3 & & \end{matrix}\right.,普通编码器在正常编码的情况下,对输入信号有严格的限制,即任何时刻I_0~I_3中只能并且必须有一个取值为1

输入 输出
I_0 I_2 I_2 I_3 Y_1 Y_0
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
  • 优先级编码器 

(1)优先编码器:允许多个输入信号同时有效,输出是对优先级别高的输入信号编码。

(2)编码器为8个信号输入端I_0~I_7,3位二进制码输出端Y_2Y_1Y_0,输入和输出均为高电平为有效电平。并且从功能表来判断输入I_0~I_7的优先级别。例如,当I_7为1时,无论其他输入是否为有效电平,输出Y_2Y_1Y_0为111是对I_7进行编码,说明I_7的优先级别最高。只有当其I_1~I_7均为0时,而I_0为1时,输出Y_2Y_1Y_0为000是对I_0进行编码,说明I_0的优先级最低。因此8个输入信号的优先级由高到低的顺序依次是I_7~I_0

(3)此外,为了方便多个编码器得级联扩展,还设置了高电平有效的输入使能端EI和输出使能端EO,以及优先级编码工作状态GS

(4)当EI=1时,编码器工作;而当EI=0,禁止编码器工作,此时无论8个输入端为何种状态,3个输出端均为低电平,且GS和EO均为低电平。只有在EI=1,且所有输出端都为0时,EO输出为1,它可与另一个相同编码器的EI连接,以便组成更多输入端的优先级编码器

(5)GS的功能是,当EI为1,且至少有一个输入端有高电平信号输入时,GS为1,表明编码器输出有效编码。否则GS为0.由此可以区分当电路所有输入端均无高电平输入或者只有I_0输入端有高电平时,Y_2Y_1Y_0均为000的情况

  • 优先编码器实例74HC148

(1) 低电平有效,此时与上述的的情况相反。

​​​​

  •  优先编码器实例74HC147

(1)二一十进制编码器定义:将十进制数0~9这10个数编成二进制代码的电路,称为二—十进制编码器。

(2)结构:要对10个信号进行编码,至少需要4位二进制代码(2^n=16),所以二一十进制编码器的输出信号为4位。

(4) 说明:外边的正方形代表低电平有效,NC表示空脚,可空置不接。1~9为输入端,A~D为输出端。输入、输出均为低电平有效,即0表示信号有效,1表示信号无效。

(3)功能表:表中x号表示可取任意值,即该输入的取值不影响输出状态,由此可以判定各输入的优先级别,9最高,1最低。

1.1.3译码器

  • 译码器的功能和定义

(1)译码是编码的逆过程,它的功能是将具有特定含义的二进制码转换为对应的输出信号,具有译码功能的逻辑电路称为译码器

(2)译码器可分为两种类型,一种是将一系列代码转换成与之一 一对应的有效信号。这种译码器可称为二进制译码器或唯一地址译码器,常用于存储器中单元地址的译码,即将每一个地址代码转换成一个有效信号,从而选中对应的单元。另一种是将一种代码转换为另一种代码,所以称为代码变换器

(3)二进制译码器具有n个输入端、2^n个输出端和一个使能输入端。在使能输入端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。输出端可以是高电平有效,也可以是低电平有效

  •  2线-4线进制译码器

(1)2线-4线译码器有两个输入变量A_0A_1,共有4种不同状态组合,因而有4个输出信号,\bar{Y_0}~.\bar{Y_3}

(2)\bar{E}为使能控制端,当\bar{E}为1时,无论变量A_0A_1为何种状态,输出全为1,译码器处于非工作状态,没有有效信号输出。当为\bar{E}为0时,对应于A_0A_1的一种输入状态,其中只有一个输出端为0,其余各输出端均为1。

(3)当输出为低电平有效时,其输出的低电平为:

  •  3线-8线译码器

两个3线-8线译码器构成4线-16线的译码器(其中一线连接两个译码器) 

  • 二—十进制译码器

(1)8421BCD码,对应于0~9十进制数,由4位二进制数0000~1001表示。而二—十进制译码器是将输入的BCD码的10个代码译成10个高低电平输出信号。这种译码器应有4个输入端

(2)真值表,输入位BCD码,输出为为电平有效,当输入超过超过BCD码的范围时(即1010~1111),输出均为高电平,即没有有效译码输出

(3)二—十进制译码器的应用电路:电路的输出分别接标有十进制数的泡。当输入一组BCD码时,对应的输出端为低电平,点亮与之相连的灯泡。例如,当输入BCD码A_3A_2A_1A_0时输出\bar{Y_6}=0,它对应于十进制数6,其余输出为高电平

  • 七段显示译码器 

(1)在数字测量仪表和各种数字系统中,都需要将数字量直观显示出来,数字显示电路通常由译码驱动器和显示器灯部分组成。数字显示器就是用来显示数字、文字或符号的器件

(2)七段式数字显示器,也称为七段式数码管。常见的七显示器有发光二极管和液晶显示器。发光二极管构成的七段显示器有共阳极和共阴极两种,共阴极电路中,八个发光二极管的阴极连在一起接低电平,需要某一段发光就将相应的二极管的阳极接高电平。共阳极的驱动则刚好相反

3) 常用的七段显示译码器有两类:一类译码器输出高电平有效信号,用来驱动共阴极显示器;另一类输出低电平有效信号,以驱动共阳极显示器。

 (4)七段显示译码器功能的功能图如下。当输入D_3D_2D_1D_0为8421BCD码时,输出高电平有效,驱动共阴极显示器。当输入为1010~1111六种状态时,输出全为低电平,显示器无显示。该显示译码器设有三个辅助控制端LE、\bar{BL}\bar{LT},以增强器件的功能

*此时的状态取决于LE由0跳变为1时BCD码的输入 

 (5)灯测试输入LT:当\bar{LT}=0时,无论其他输入端是什么状态,所有输出a~g均为1,显示器显示字形8。该输入端常用于检查译码器本身及显示器各段的好坏

(6) 灭灯输入\bar{BL}:当\bar{BL}=0时,并且\bar{LT}=1时,无论其他输入端是什么电平,所有输出a~g均为0,所以字形熄灭。该输入端用于将不必要显示的零熄灭,例如一个6位数字023.050,将首、尾多余的0熄灭,则显示为23.05,使显示结果更加清楚

(7)锁存使能输入LE:在\bar{BL}=\bar{LT}=0的条件下,当LE=0时,锁存器不工作,译码器的输出随输入码的变化而变化;当LE由0跳变为1时,输入码被锁存,输出只取决于锁存器的内容,不再随输入的变化而变化

  • 数据分配器

(1)数据分配是将公共数据线上的数据根据需要送到不同的通道上去,实现数据分配功能逻辑电路称为分配器。它的作用相当于多个输出的单刀多掷开关

(2)数据分配器可以用带使能端的二进制译码器实现。如用3线-8线译码器可以把1各数据信号分配到个不同的通道上去。用三线—8线译码器作为数据分配器的逻辑原理图,将\bar{E_2}接低电平,E_3作为使能端,\bar{E_1}作为数据输入,A_2A_1A_0作为选择通道地址输入。

  • 芯片7448

1.1.4数据选择器

  • 数据选择器的定义和功能

(1)数据选择是指经过选择,把多路数据中的某一路数据传送到公共数据线上,实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关

(2)与门和或门构成的2选1数据选择器电路及逻辑符号,该符号常在大规模电路中使用。数据输入端(又称为地址输入端)S决定输出Y等于D_0还是D_1。其输出的逻辑函数式为Y=\bar{S}D_0+SD_1

(3)真值表为

数据输入 数据输出
S Y
0 D_0
1 D_1

(4) 可以用3个2选1数据选择器构成4选1数据选择器,4选1电路是两级电路,第1级两个数据选择器分别实现Y_0=\bar{S_0}D_0+S_0D_1Y_1=\bar{S_0}D_2+S_0D_3。第二级实现Y=\bar{S_1}Y_0+S_1Y_1,将Y_0Y_1代入得到Y=\bar{S_1}\bar{S_0}D_0+\bar{S_1}S_0D_1+S_1\bar{S_0}D_2+S_1S_0D_3

(5)被选数据源越多,所需选择输入端的位数也越多,若选择输入端为n,可选输入通道数为2^n

  • 8选1数据选择器74HC151

(1)当\bar{E_0}时,Y=0,当\bar{E_0}=0时,Y=\sum_{i=0}^{7}D_im_i

  • 双四选一数据选择器74HC153 

1.1.5算术运算电路

  • 半加器

(1)半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路

(2)只考虑了两个加数本身,而没有考虑低位进位的加法运算,称为半加,实现半加运算的逻辑电路称为半加器。真值表如下,其中A、B是两个加数,S表示和数,C表示进位数。

(3)逻辑表达式为:\left\{\begin{matrix} S=\bar{A} B+A\bar{B}& & \\ C=AB & & \end{matrix}\right.

  • 全加器

(1)完成被加数、加数和来自低位的进位信号相加,并根据求和给出该位进位信号的运算称为全加,实现全加运算电路称为全加器

  •  多位数加法器

​​​​​​​(1)串行进位加法器:若有多位数相加,则可以采用并行相加串行进位来完成。例如,有两个4位二进制数A_3A_2A_1A_0B_3B_2B_1B_0相加,可以采用4位全加器构成4位加法器。将低位的进位输出信号接到高位的进位输入端,因此,任1位的加法运算必须在低1位的运算完成之和才能进行,这种进位方式称为串行进位。这种加法器的逻辑电路比较简单,但它的运算速度不高。设门的延迟时间均为t_{pd},一位全加器的延时是3t_{pd},4位串行全加器延时是12t_{pd}

(2) 超前进位加法器:通过逻辑电路事先得到每一位的进位输入信号,而无需从最低位开始向高位逐位传递进位信号。

1.1.6数值比较器

  • 数值比较器的定义和功能

​​​​​​​(1)在数字系统中,特别是在计算机中需要对两个数的大小进行比较。数值比较器就是对两个二进制数A、B进行比较的逻辑比较,比较结果有A>B,A<B以及A=B的三种情况

(2)1位数值比较器是多为比较器的基础。当A和B都是1位二进制数是,它们只能取0或1两种值。下面是真值表

输入 输出
A B F_{A>B} F_{A<B} F_{A=B}
0 0 0 0 1
0 1 0 1 0
1 0 1 0 0
1 1 0 0 1

\left\{\begin{matrix} F_{A>B} &=A\bar{B} \\ F_{A<B}&=\bar{A} B\\ F_{A=B}& =\bar{A}\bar{B+AB} \end{matrix}\right.

(2) 两位数值比较器:两位二进制分别位A_1A_0B_1B_0,用F_{A>B}F_{A<B}F_{A=B}表示结果。当高位(A_1B_1)不相等时,无须比较低位(A_0B_0),高位比较的结果就是两个数的比较结果。当高位相等时,两数的比较结果由低位比较的结果决定

输入 输出
A_1 B_1 A_0 B_0 F_{A>B} F_{A<B} F_{A=B}
A_1>B_1 x 1 0 0
A_1<B_1 x 0 1 0
A_1=B_1 A_0>B_0 1 0 0
A_1=B_1 A_0<B_0 0 1 0
A_1=B_1 A_0=B_0 0 0 1

(3) 由电路的逻辑图所示,电路利用了1位数值比较器的输出作为中间结果。它所依据的原是,如果两位数A_1A_0B_1B_0的高位不相等,则高位比较器就是两数比较结果,与低位无关。这时,高位输出F_{A_1=B_1}=0,使与门的G1、G2、G3均*,而或门都打开,低位比较结果不能影响或门,高位比较结果则直接从或门直接输出。如果高位相等,即F_{A_1=B_1}=1,使与门的G1、G2、G3均打开,同时由F_{A_1>B_1}=0F_{A_1<B_1}=0作用,或门也打开,低位的比较结果直接送达输出端,即低位的比较结果决定两数的大、小或者相等

  •  74HC85芯片

 

1.2proteus的仿真

1.2.1编码器的仿真​​​​​​​

  • 74ls147的仿真

  • 74ls148的仿真 

1.2.2译码器的仿真

  • 总体的仿真(二—十进制译码器)

  • ​​​​​​​74ls48和47的仿真

​​​​​​​(1)74ls47输出后会输出低电平为有效电平,所以接共阳极的数码管

(2)74ls48输出后会输出高电平为有效电平,所以接共阴极的数码管

​​​​​​​​​​​​​​

​​​​​​​​​​​​​​

 1.2.3数据选择器的仿真

  • 74ls151数据选择器

  •  双数据选择器4选1

​​​​​​​​​​​​​​

1.2.4超前进位加法器的仿真

 1.2.5数值比较器的仿真