1.组合逻辑电路
1.1组合逻辑电路的分析
1.1.1组合逻辑电路的定义
- 组合逻辑电路的定义
(1)对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路的原来状态无关,这种电路被定义为组合逻辑电路。
(2)特点:电路中不包含存储单元。输出、输入之间没有反馈延迟通路
(3)逻辑功能函数
- 集成电路的分析
(1)小规模集成电路:各种类型的门电路
(2)中规模集成电路:编码器、译码器、数据选择器、加法器、数值比较器等
(3)大规模集成电路:可编程逻辑器件PLD
1.1.2编码器
- 编码器的定义和功能
(1)数字系统中存储或处理的信息,常常用二进制码表示。用一个二进制代码表示特定含义的信息称为编码。具有编码功能的逻辑电路称为编码器。
- 普通编码器
(1) 普通编码器:任何时刻只允许一个信号有效,否则将产生错误输出。
(2)4线二进制编码器具有4个输入~为高电平有效,输出是进制代码任何时刻~中只有一个取值为1,并且有一组对应的二进制代码输出。除只有一个输入为1的情况下,其余的输入组合的输出结果均为0。此时的逻辑表达式为,普通编码器在正常编码的情况下,对输入信号有严格的限制,即任何时刻~中只能并且必须有一个取值为1
输入 | 输出 | ||||
---|---|---|---|---|---|
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个信号输入端~,3位二进制码输出端,输入和输出均为高电平为有效电平。并且从功能表来判断输入~的优先级别。例如,当为1时,无论其他输入是否为有效电平,输出为111是对进行编码,说明的优先级别最高。只有当其~均为0时,而为1时,输出为000是对进行编码,说明的优先级最低。因此8个输入信号的优先级由高到低的顺序依次是~。
(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.由此可以区分当电路所有输入端均无高电平输入或者只有输入端有高电平时,均为000的情况
- 优先编码器实例74HC148
(1) 低电平有效,此时与上述的的情况相反。
- 优先编码器实例74HC147
(1)二一十进制编码器定义:将十进制数0~9这10个数编成二进制代码的电路,称为二—十进制编码器。
(2)结构:要对10个信号进行编码,至少需要4位二进制代码(=16),所以二一十进制编码器的输出信号为4位。
(4) 说明:外边的正方形代表低电平有效,NC表示空脚,可空置不接。1~9为输入端,A~D为输出端。输入、输出均为低电平有效,即0表示信号有效,1表示信号无效。
(3)功能表:表中x号表示可取任意值,即该输入的取值不影响输出状态,由此可以判定各输入的优先级别,9最高,1最低。
1.1.3译码器
- 译码器的功能和定义
(1)译码是编码的逆过程,它的功能是将具有特定含义的二进制码转换为对应的输出信号,具有译码功能的逻辑电路称为译码器
(2)译码器可分为两种类型,一种是将一系列代码转换成与之一 一对应的有效信号。这种译码器可称为二进制译码器或唯一地址译码器,常用于存储器中单元地址的译码,即将每一个地址代码转换成一个有效信号,从而选中对应的单元。另一种是将一种代码转换为另一种代码,所以称为代码变换器
(3)二进制译码器具有n个输入端、个输出端和一个使能输入端。在使能输入端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。输出端可以是高电平有效,也可以是低电平有效
- 2线-4线进制译码器
(1)2线-4线译码器有两个输入变量、,共有4种不同状态组合,因而有4个输出信号,~.。
(2)为使能控制端,当为1时,无论变量、为何种状态,输出全为1,译码器处于非工作状态,没有有效信号输出。当为为0时,对应于、的一种输入状态,其中只有一个输出端为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码时输出=0,它对应于十进制数6,其余输出为高电平
- 七段显示译码器
(1)在数字测量仪表和各种数字系统中,都需要将数字量直观显示出来,数字显示电路通常由译码驱动器和显示器灯部分组成。数字显示器就是用来显示数字、文字或符号的器件
(2)七段式数字显示器,也称为七段式数码管。常见的七显示器有发光二极管和液晶显示器。发光二极管构成的七段显示器有共阳极和共阴极两种,共阴极电路中,八个发光二极管的阴极连在一起接低电平,需要某一段发光就将相应的二极管的阳极接高电平。共阳极的驱动则刚好相反
(3) 常用的七段显示译码器有两类:一类译码器输出高电平有效信号,用来驱动共阴极显示器;另一类输出低电平有效信号,以驱动共阳极显示器。
(4)七段显示译码器功能的功能图如下。当输入为8421BCD码时,输出高电平有效,驱动共阴极显示器。当输入为1010~1111六种状态时,输出全为低电平,显示器无显示。该显示译码器设有三个辅助控制端LE、和,以增强器件的功能
*此时的状态取决于LE由0跳变为1时BCD码的输入
(5)灯测试输入LT:当=0时,无论其他输入端是什么状态,所有输出a~g均为1,显示器显示字形8。该输入端常用于检查译码器本身及显示器各段的好坏
(6) 灭灯输入:当=0时,并且=1时,无论其他输入端是什么电平,所有输出a~g均为0,所以字形熄灭。该输入端用于将不必要显示的零熄灭,例如一个6位数字023.050,将首、尾多余的0熄灭,则显示为23.05,使显示结果更加清楚
(7)锁存使能输入LE:在==0的条件下,当LE=0时,锁存器不工作,译码器的输出随输入码的变化而变化;当LE由0跳变为1时,输入码被锁存,输出只取决于锁存器的内容,不再随输入的变化而变化
- 数据分配器
(1)数据分配是将公共数据线上的数据根据需要送到不同的通道上去,实现数据分配功能逻辑电路称为分配器。它的作用相当于多个输出的单刀多掷开关
(2)数据分配器可以用带使能端的二进制译码器实现。如用3线-8线译码器可以把1各数据信号分配到个不同的通道上去。用三线—8线译码器作为数据分配器的逻辑原理图,将接低电平,作为使能端,作为数据输入,、和作为选择通道地址输入。
- 芯片7448
1.1.4数据选择器
- 数据选择器的定义和功能
(1)数据选择是指经过选择,把多路数据中的某一路数据传送到公共数据线上,实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关
(2)与门和或门构成的2选1数据选择器电路及逻辑符号,该符号常在大规模电路中使用。数据输入端(又称为地址输入端)S决定输出Y等于还是。其输出的逻辑函数式为
(3)真值表为
数据输入 | 数据输出 |
S | Y |
0 | |
1 |
(4) 可以用3个2选1数据选择器构成4选1数据选择器,4选1电路是两级电路,第1级两个数据选择器分别实现和。第二级实现,将和代入得到
(5)被选数据源越多,所需选择输入端的位数也越多,若选择输入端为n,可选输入通道数为
- 8选1数据选择器74HC151
(1)当时,Y=0,当=0时,Y=
- 双四选一数据选择器74HC153
1.1.5算术运算电路
-
半加器
(1)半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路
(2)只考虑了两个加数本身,而没有考虑低位进位的加法运算,称为半加,实现半加运算的逻辑电路称为半加器。真值表如下,其中A、B是两个加数,S表示和数,C表示进位数。
(3)逻辑表达式为:
- 全加器
(1)完成被加数、加数和来自低位的进位信号相加,并根据求和给出该位进位信号的运算称为全加,实现全加运算电路称为全加器
- 多位数加法器
(1)串行进位加法器:若有多位数相加,则可以采用并行相加串行进位来完成。例如,有两个4位二进制数和相加,可以采用4位全加器构成4位加法器。将低位的进位输出信号接到高位的进位输入端,因此,任1位的加法运算必须在低1位的运算完成之和才能进行,这种进位方式称为串行进位。这种加法器的逻辑电路比较简单,但它的运算速度不高。设门的延迟时间均为,一位全加器的延时是3,4位串行全加器延时是12
(2) 超前进位加法器:通过逻辑电路事先得到每一位的进位输入信号,而无需从最低位开始向高位逐位传递进位信号。
1.1.6数值比较器
- 数值比较器的定义和功能
(1)在数字系统中,特别是在计算机中需要对两个数的大小进行比较。数值比较器就是对两个二进制数A、B进行比较的逻辑比较,比较结果有A>B,A<B以及A=B的三种情况
(2)1位数值比较器是多为比较器的基础。当A和B都是1位二进制数是,它们只能取0或1两种值。下面是真值表
输入 | 输出 | |||
A | B | |||
0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 |
(2) 两位数值比较器:两位二进制分别位和,用、和表示结果。当高位(、)不相等时,无须比较低位(、),高位比较的结果就是两个数的比较结果。当高位相等时,两数的比较结果由低位比较的结果决定
输入 | 输出 | |||||
x | 1 | 0 | 0 | |||
x | 0 | 1 | 0 | |||
1 | 0 | 0 | ||||
0 | 1 | 0 | ||||
0 | 0 | 1 |
(3) 由电路的逻辑图所示,电路利用了1位数值比较器的输出作为中间结果。它所依据的原是,如果两位数和的高位不相等,则高位比较器就是两数比较结果,与低位无关。这时,高位输出,使与门的G1、G2、G3均*,而或门都打开,低位比较结果不能影响或门,高位比较结果则直接从或门直接输出。如果高位相等,即,使与门的G1、G2、G3均打开,同时由和作用,或门也打开,低位的比较结果直接送达输出端,即低位的比较结果决定两数的大、小或者相等
- 74HC85芯片
1.2proteus的仿真
1.2.1编码器的仿真
- 74ls147的仿真
- 74ls148的仿真
1.2.2译码器的仿真
- 总体的仿真(二—十进制译码器)
- 74ls48和47的仿真
(1)74ls47输出后会输出低电平为有效电平,所以接共阳极的数码管
(2)74ls48输出后会输出高电平为有效电平,所以接共阴极的数码管
1.2.3数据选择器的仿真
- 74ls151数据选择器
- 双数据选择器4选1