数字电子技术基础课后习题解答(一到三章张克农
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章习题解答
1.1把下列二进制数转换成十进制数
①10010110;②11010100;③0101001;④10110.111;⑤101101.101;⑥0.01101。
[解] 直接用多项式法转换成十进制数
① (10010110)B = (1⨯2 7+1⨯24 + 1⨯22 +1⨯21)D = (150)D=150
② (11010100)B = 212
③ (0101001)B = 41
④ (10110.111)B = 22.875
⑤ (101101.101)B = 45.625
⑥ (0.01101)B = 0.40625
1.2把下列十进制数转换为二进制数
①19;② 64;③ 105;④ 1989;⑤ 89.125;⑥ 0.625。
[解] 直接用基数乘除法
① 19= (10011)B
② 64= (1000000)B
③ 105 = (1101001)B
④ 1989 = (11111000101)B
⑤ 89.125 = (1011001.001)B
⑥ 0.625= (0.101)B
1.3把下列十进制数转换为十六进制数
① 125;② 625;③ 145.6875;④
0.5625。
[解]直接用基数乘除法
① 125 = (7D)H
② 625 = (271)H
③ 145.6875= (91.B)H
④ 0.56255=(0.9003)H
1.4把下列十六进制数转换为二进制数
① 4F;② AB;③ 8D0;④ 9CE。
[解]每位十六进制数直接用4位二进制数展开
① (4F)H= (1001111)B
② (AB)H= (10101011)B 2 19 余数
2 9 …… 1 ……d0
2 4 …… 1 ……d1
2 2 ……0 ……d2
2 1 ……0 ……d3
2 0 …… 1 ……d4
图题1.2 ①基数除法过程图
1
2
③ (8D0)H = (100011010000)B ④ (9CE)H = (100111001110)B 1.5 写出下列十进制数的8421BCD 码 ① 9;② 24;③ 89;④ 365。
[解] 写出各十进制数的8421BCD 码为 ① 1001 ② 0010 0100 ③ 1000 1001 ④ 0011 0110 0101
1.6 在下列逻辑运算中,哪个或哪些是正确的?并证明之。
① 若 A +B =A +C ,则B =C ;② 若 1+A = B ,则A +AB = B ; ③ 若 1+A =A ,则B A B A A +=+;④ 若 XY =YZ ,则X = Z 。
[解] ① 若 A +B =A +C ,则B =C 运算错误。
可用反证法证明 设A =1、B =1、C =0,有A +B =A +C ,但B ≠ C 。
② 若 1+A = B ,则A +AB = B 运算错误。
若 1+A = B ,则 B = 1,而A +AB =A (1+B ) = A ≠ 1。
③ 若 1+A =A ,则B A B A A +=+运算正确。
若 1+A = A ,则 A = 1,而B A B A A +=+=1。
④ 若 XY =YZ ,则X = Z 运算错误。
可用反证法证明 若 XY =YZ ,设X =1、Y =0、Z =0,有XY =YZ ,但X ≠ Z 。
1.7 证明下列恒等式成立 ① ()()A BC A B A C +=++; ② ))((B A B A B A B A ++=+; ③ ()AB C B ABC ABC ABC +=++; ④ ))()()((D C C A D B A B AD BC ++++=+。
[证明] ①[方法1] 列真值表如表题1.7所示,可以证明))((C A B A BC A ++=+成立。
[方法2] 用公式法证明
① BC AC AB A C A B A +++=++))(( BC A += ② A B B A +=++))(( ③ BC AB B C AB +=+)(
BC AB ABC BC A C AB +=++
④ D C D B C A B A AD BC +++=+
3
D C D B C A B A D C C A D B A B +++=++++))()()((
1.8 求下列逻辑函数的反函数
① B A B A L +=1; ② D B C A D B L ++=2; ③ AB BC AC L ++=3; ④ ))((4C B A B A L +++=。
[解] ① 1L AB AB =+ ② 2()()L AC B
D A C B D =+=+⊕
③ ))()((3B A C B C A L +++==。
一般再写成与或式,如何简便写出最简与或式? ④ 4L AB ABC =+
1.9 写出表题1.9真值表描述的逻辑函数的表达式,并画出实现该逻辑函数的逻辑
图。
[解](a) ABC C B A BC A L ++= C B A )(+= (b) ABC C AB C B A L ++= )(C B A +=
≥1
&
A B C
L
(a)
≥1
&
B C A
L
(b)
图题1.9 电路图
4
1.10 写出图题1.10所示逻辑电路的表达式,并列出该电路的真值表。
[解](a) ()L AB A AB =⊕+ (b) L ABA ABB =⋅
1.11某逻辑电路的输入逻辑变量为A 、B 、C 。
当输入中1的个数多于0的个数时,输出就为1。
列出该电路的真值表,写出输出表达式。
[解] 先列出真值表如表解1.11所示,写出输出表达式
L ABC ABC ABC ABC =+++
1.12 一个对四个逻辑变量进行判断的逻辑电路。
当四变量中有奇数个1出现时,输出为1;其它情况,输出为0。
列出该电路的真值表,写出输出表达式。
[解] 先列出真值表如表解1.12所示,写出输出表达式
ABC D AB A A B C D L +++++++=
1.13 用代数法将下列逻辑函数式化为最简与-或式
① L A B AB AB =++;② L ABC AB C =++; ③ C B A C B A C B A C B A L ++++⊕=)()(; ④ D C B D C B C B A BD A D C A C B A L +++++=; ⑤ C A ABC B A L ⋅⋅+=;
(b)
(a)
图题1.10 电路图
L
5
⑥ )()(B A C B C B AB L +++=; ⑦ ))((C A AC C B AB L ++=;
⑧ ))()((D C B A D C B A D C B A L +++++++++=。
[解] ① B A B A B A L ++= B A A +=B A += ② L ABC AB C =++
(1)AB C AB =++ AB C =+
③ C B A C B A C B A C B A L ++++⊕=)()(
C B A C B A AC AB C AB C B A +++++= C B A +=
④ D C B D C B C B A BD A D C A C B A L +++++=
C B B
D A D C A C B +++=
BD A D C A C B ++= BC ABD =+
⑤ L A B ABC A C =+⋅⋅
()()()AB A B C A C =+++
()AB AB C =+ ABC =
⑥ )()(B A C B C B AB L +++=
()()()()A B B C B C A B =++++
( )B BC B C =+ B C =
⑦ ))((C A AC C B AB L ++=
ABC ABC =+
AC =
A C =+
⑧ ))()((D C B A D C B A D C B A L +++++++++=
L ABC D ABC D ABCD =++
6
BC D AB D =+
()()L B C D A B D =++++ B D AC =++
1.14 下列与项哪些是四变量逻辑函数f (A ,B ,C ,D )的最小项? ① ABC ;② D AB ;③ D C AB ;④ ABC D 。
[解] ③④是。
1.15 用卡诺图将下列逻辑函数化简为最简与-或式 ① C A BC AB L ++=;②C A BC AB L ++=; ③ ))()((D C B A D C B A D C B A L +++++++++=; ④ D C AB D D C B C B A L +++=)]([; ⑤ L =∑(0,2,3,4,6);
⑥ L =∑m(2,3,4,5,9)+∑d (10,11,12,13); ⑦ L =∑(0,1,2,3,4,6,8,9,10,11,12,14)。
[解] ① L AB BC AC B AC =++=+ ② C A BC AB L ++=
C A C B B C A B A ++++=
B C =+
C A B L += C B L +=
③ ))()((D C B A D C B A D C B A L +++++++++=
D C B A D C B A D C B A L ++=
D A C B L ++=
④ D C AB D D C B C B A L +++=)]([
ABC ABCD ABD ABCD AC BCD =+++=+
A 01 00 0 1
0 1
1
1 1 1 0
1 11 10 BC A BC 01 11 10 00 0 1 1 0
1
0 1 1
1
2
1
7
D A C B L ++= D C B C A L +=
⑤ L =∑(0,2,3,4,6) B A C += ⑥ L =∑m(2,3,4,5,9)+∑d (10,11,12,13)
BC BC ABD =++
⑦ L =∑(0,1,2,3,4,6,8,9,10,11,12,14) B D =+ L C AB =+
L BC BC ABD =++ L B D =+
1.16 判断如下VHDL 的操作是否正确,如不正确,请改正。
字符a 和b 的数据类型是BIT ,c 是INTEGER ,执行操作 c <= a + b 。
[答] 操作不正确,应把a 和b 的数据类型改为INTEGER 。
1.17一个VHDL 模块是否必须有一个实体和一个结构体?是否可以有多个实体和结构体?简述它们的作用。
[答] 一个VHDL 模块必须有一个实体,可以有一个或多个结构体。
实体描述一个设计单元的外部接口以及连接信号的类型和方向;结构体描述设计单元内部的行为,元件及连接关系,结构体定义出了实体的功能。
1.18判断以下三种描述中哪两种的意义相同。
Statement a :z <= not X and not Y ; Statement b :z <= not (X or Y);
AB 01 11 10 00 00 01 11 10
1 1
1 1 0 0 1 1 1 0 1 1
1
1
0 1 7 CD
AB 01 11 10 00
00 01 11 10
0 0
1
0 1 0 0 1 1 0 0 ×
×
1
× ×
6 CD
AB 0 0
1 1 1 1 1 1 1 1 1
1
1
1 1 3 CD 0 0
0 0 1 1 1 1 1 0 0 0
1 0 4 0 01 00 11 10 00 01 11 10
CD 01 00 11 10 AB 00 01 11 10
A 0 0
1
1 1 1 0
1
5 BC
01 00 11 10 0 1
8
Statement c :z <= not X and Y ;
[答] Statement a 和 Statement b 的意义相同,它们都是表示Z X Y X Y =⋅=+。
第2章 习题解答
2.1电路中的二极管均为理想二极管,各二极管的状态(导通或截止)和输出电压V o 的大小分别为:
D 1 ; D 2 ; D 3 ;
V O 。
[解] D 1、D 2和D 3全部处于截止状态。
输出电压V o 为0V 。
2.2今有一个3输入端与非门,已知输入端A 、B 输出端F 的波形如图题2.2所示,问输入端C 可以有下面(1)、(2)、(3)、(4)、(5)中的哪些波形?
[解] (1)、(2)、(3)、(5)
2.3 有一逻辑系统如图题2.3所示,它的输入波形如图中所示。
假设门传输时间可以忽视,问输出波形为(1)、(2)、(3)、(4)中的哪一种?
[解] 设图中电路输入为A ,输出为F ,可求逻辑式为
()11F A A A A A A =+=++=+=
所以,输出波形为(3)。
2.4 若TTL 与非门的输入电压为2.2V ,确定该输入属于(1)逻辑0;(2)逻辑1;(3)输入位于过渡区,输出不确定,为禁止状态。
[解] 因为TTL 与非门的IH 2.0V U ≥,所以输入电压为2.2V 时,属于(2)逻辑1。
2.5 若TTL 与非门的输出电压为2.2V ,确定该输出属于(1)逻辑0;(2)逻辑1;(3)不确定的禁止状态。
[解] 因为TTL 与非门的OH 2.4V U ≥,所以输出电压为2.2V 时,属于(3)不确定的禁止状态。
2.6 利用网络资源,查找7432和7421 IC 的数据手册,说明分别是什么逻辑器件?内部分别有几个独立器件?7421是多少引脚的封装?是否有未使用的引脚? 图题
2.1
9
[解] 7432是两输入或门,片内有四个独立的或门,为双列直插14引脚封装,没有未使用的引脚;7421是四输入与门,片内有两个独立的与门,为双列直插14引脚封装,没有未使用的引脚。
2.7 TTL 门电路电源电压一般为(1)12V ;(2)6V ;(3)5V ;(4)-5V 。
[解] (3) 5 V 。
2.8 某一标准TTL 系列与非门的0状态输出为0.1V ,则该输出端所能承受的最大噪声电压为(1)0.4V ;(2)0.3V ;(3)0.7V ;(4)0.2V 。
并求7400的扇出数。
[解] TTL 与非门的ILmax 0.8V U =,故该输出端在该应用场合所能承受的噪声电压为 N ILmax OL 0.7V U U U =-= 该逻辑门的噪声容限为
N ILmax OLmax 0.80.40.4V U U U =-=-=
7400的扇出数为
OLmax L ILmax 16101.6I N I ==
=;OHmax H IHmax 0.4
100.04I N I ===;O L H min[,]10N N N ==
2.9 画出图题2.9中异或门的输出波形。
[解] 如图解2.9。
2.10 图题
3.10中,G 1、G 2是两个集电极开路与非门,接成线与形式,每个门在输出低电平时允许灌入的最大电流为I OLmax =13 mA ,输出高电平时的输出电流I OH <25μA 。
G 3、G 4、G 5、G 6是四个TTL 与非门,它们的输入低电平电流I IL =1.6mA ,输入高电平电流I IH <50μA ,V CC =5V 。
试计算外接负载R C 的取值范围R Cmax 及R Cmin 。
[解] C R 的选择应同时满足逻辑要求和电流能力。
当OC 门线与信号为逻辑0时,不仅要求输出低电平不超过OLmax U ,而且还要考虑所有灌入一个导通的OC 门的电流不超过其允许电流
OLmax I ,可得
图解2.9
A B L
图题2.10
10
RC IL OLmax I mI I +≤ CC OL max RC C V U I R -=
即CC OLmax
C OLmax IL
V U R I mI -≥-
3CC OLmax Cmin OLmax IL 50.4
100.697k 134 1.6
V U R I mI --=
=⨯=Ω--⨯
当OC 门输出为逻辑1时,G 1,G 2中的输出管截止,OH I 为晶体管的穿透电流(CEO I ),此时,穿透电流和负载门输入高电平电流I IH 全部流经C R ,应使OC 门输出高电平不低于
OHmin U ,可得
CC RC C OHmin V I R U -≥, CC OHmin CC OHmin
C RC OH IH
V U V U R I nI kI --≤
=+
6Cmax 5 2.4
1010.4k 225450
R -=
⨯=Ω⨯+⨯。
2.11 图题2.11中,若A 的波形如图所示 (1) 写出逻辑函数式F ,并画出波形;
(2) 若考虑与非门的平均传输时延t pd =50ns ,试重新画出F 的波形。
[解] (1)1F AA ==, 输出固定为高电平;
(2) F 的波形如图解2.11所示。
2.12 74系列与非门输出低电平时,最大允许的灌电流I OLmax =16mA ,输出为高电平时的最大允许输出电流I OHmax =400μA ,测得某个门的输入低电平电流I IL =0.8mA ,输入高电平电流I IH =1.5μA ,此种与非门的扇出为多少?
[解] OLmax OHmax
L H IL IH
min[,]min[
,]I I N N N I I == 16400
min[,]min[10,10]101.640
===
注意:式中I IL 和I IH 应取该参数的最大值,而不能用实测值。
F
图题2.11
图解2.11
11
2.13 在图题2.13中,能实现给定逻辑功能A Y =
的电路是哪个?
[
解] 能实现给定逻辑功能A Y =的电路是d 。
2.14 设计一个发光二极管(LED )驱动电路,设LED 的参数为V F =2.2V ,I D =10mA ;若V CC =5V ,当LED 发亮时,电路的输出为低电平,选用集成门电路的型号,并画出电路图。
[解] 根据题意,可得电路如图解2.14。
决定限流电阻R 之值(取OL 0.4V U =)
3CC
F OL D 5 2.20.4
1024010V U U R I ----==⨯=Ω 选用门电路的型号:由于电路输出为低电平时LED 发光,要求所选门电路的
OLmax D 10mA I I ≥=,可选74系列TTL 门7404非门。
2.15 分析图题
3.15中各电路逻辑功能。
[解] (a) 当C =0时,G 1禁止,输出高阻抗Z ,对其后的异或门相当于接逻辑1,所以,21F D D =⊕=。
而G 2使能,输出为A ,所以,1F A B AB AB A
B =⊕=+=;
当C =1时,G 1使能,G 2禁止,所以,2F A D A
D =⊕=;11F B B =⊕=。
(b )三态门的输出端并接在一起,因此,应控制其使能端,使三态门全部禁止或分时使能。
使能信号控制下的功能输出与功能输入间的逻辑关系如表解2.15;
图题2.13
10k Ω
V CC
7404
V
C
(+5V) R
1
A
图解2.14
10K
12
(c )当X = 0时,经非门使输出端三态门的控制信号1EN =,而上三态门0EN X ==无效,输出为高阻,下三态门EN = 0使能,因此,4F AB =。
当X = 1时,输出端控制三态门的控制信号0EN X ==无效,所以F 4 = Z 。
2.16在图题2.16(a )、(b )所示电路中,都是用74系列门电路驱动发光二极管,若要求v I 为高电平时发光二极管D 导通并发光,且发光二极管的导通电流为10mA ,试说明应选用哪一个电路?
[解] 应该使用(a )电路,由于TTL 逻辑门输出低电平时最大灌电流为16mA ,而TTL 逻辑门输出高电平时的最大拉电流为400μA 。
2.17 参考错误!未找到引用源。
确定:
(1)单个74HCTCMOS 门可以驱动几个74LSTTL 负载?
(2)单个74LSTTL 门可以驱动几个74HCTCMOS 负载? [解] (1)74HCT CMOS 的电流参数为:I IH(max)=1μA ,I IL(max)=-1μA ,I OH(max)=-4mA ,I OL(max) =4mA ;74LSTTL 的电流参数为:I IH(max)=20μA ,I IL(max)=-400μA ,I OH(max)=-0.4mA ,I OL(max) =8mA 。
假设均接单输入门,则
(max)(max)4
100.4
OL L IL I N I =
=
= (max)(max)
4
2000.02
OH H IH I N I =
=
= 因此,单个74HCTCMOS 门可以驱动10个74LSTTL 负载。
(2)(max)(max)
8
80000.001
OL L IL I N I =
=
= V CC
u I
u I
(a)
(b)
图题2.16
13
(max)(max)
0.4
4000.001
OH H IH I N I =
=
= 因此,单个74LSTTL 门可以驱动400个74HCTCMOS 负载
2.18参考错误!未找到引用源。
,试确定下面哪一种接口(驱动门到负载门)需要接上拉电阻,为什么?上拉取值电阻应该注意什么?哪一种接口驱动会有问题?如何解决?
(1)74TTL 驱动74ALSTTL (2)74HC CMOS 驱动74TTL (3)74TTL 驱动74HC CMOS (4)74LSTTL 驱动74HCT CMOS (5)74TTL 驱动4000B CMOS (6)4000B CMOS 驱动74LSTTL
[解] 如果CMOS 门电路的电源电压V DD 等于5伏,根据错误!未找到引用源。
中TTL 和CMOS 的极限参数可知,要用74TTL 系列电路驱动74HC 系列CMOS 门电路,TTL 带CMOS 负载能力是非常强大的,而且TTL 低电平输出也在CMOS 输入认可的低电平范围之内。
但74TTL 的输出高电平的最小值是2.4V ,而74HC CMOS 认可的输入高电平最小值是3.5V ,因此,必须设法将TTL 电路输出的高电平提升到3.5V 以上。
最简单的解决办法是在TTL 电路的输出端与CMOS 门的电源之间接入上拉电阻R ,以保证输出高电平被提至V DD ,R 的选择与OC 的外接电阻选择方法一样。
一般接10k Ω电阻就可以将2.4V 拉升到接近5V ,而且对TTL 输出低电平时的灌电流(5V/10k Ω=0.5mA )也不会太大。
因此,(3)、(4)和(5)应该需要接上拉电阻。
由错误!未找到引用源。
可见,如果用74HC 系列CMOS 电路驱动74TTL 电路,CMOS 的输出高低电平极限值完全在TTL 输入电平范围之内。
但由于74HC 输出低电平的
I OL(max)=4mA ,74TTL 的输入低电平的I IL(max)=-1.6mA ,所以74HC 最多可以带动2个TTL
标准系列门,CMOS 的带负载能力较差。
由错误!未找到引用源。
可见,4000B 低电平输出时还不足以驱动一个TTL 逻辑门,其实许多的4000B 系列都存在低电压输出驱动电流不足的问题。
有两个特殊的门可以缓解这一问题,缓冲器4050和反相缓冲器4049是专门设计成能够提供高的输出电流的CMOS 器件,其I OL(max)=4mA ,I OH(max)=-0.9mA ,用其中之一接在4000B 和TTL 门之间,则足以驱动2个74TTL 负载。
也可以将同一封装内的2个CMOS 门电路并联使用,提高驱动负载能力。
2.19 设计一个与或非门的VHDL 程序
[解] 参考程序如下
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
ENTITY and_or_not IS
PORT( a, b, c, d:IN STD_LOGIC;
z:OUT STD_LOGIC );
END and_or_not;
ARCHITECTURE behave OF and_or_not IS
z <=not ((a AND b)OR(c AND d))
END behave;
2.20调用与门、或门和非门元件,设计异或门的VHDL程序。
[解] 参考程序如下
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY xor IS
PORT( x, y:IN STD_LOGIC;
z:OUT STD_LOGIC );
END xor;
ARCHITECTURE xor_arc OF xor IS
SIGNAL i1, i2, i3, i4:BIT;
COMPONENT and PORT(a,b:IN BIT;c:OUT BIT);
END COMPONENT;
COMPONENT or PORT(a, b :IN BIT;c:OUT BIT);
END COMPONENT;
COMPONENT inv PORT(a:IN BIT;c:OUT BIT);
END COMPONENT;
BEGIN
U0:inv PORT MAP (x,i1);
U1:inv PORT MAP (y,i2);
14
U2:and PORT MAP (i1,y ,i3); U3:and PORT MAP (x ,i2,i4); U4:or PORT MAP (i3,i4,z); END xor_arc;
第3章 习题解答
3.1 图题3.1所示电路,当M =0时实现何种功能?当M =1时又实现何种功能?请说明其工作原理。
[解] (1)由电路可写出如下逻辑关系
i i i i F M A MA M A ==+
(2) 分析电路功能
当M =0时,F i =i A ,输出为反码;当M = 1时,F i = A i ,输出为原码。
电路实现4位原码/反码变换功能。
3.2 图题3.2所示电路为多功能函数发生器,共有16种逻辑功能。
A 、B 为输入变量,
E 3E 2E 1E 0为功能控制端。
(1) 试写出Y 的表达式(不需化简); (2) 试说明E 3E 2E 1E 0取值为0000到1111时的电路功能。
(3) 若OC 门输出高电平大于3V ,且每个门漏电流I OH =100μA ;输出低电平小于0.3V ,且最大灌电流I OL =8mA ,设输出驱动两个TTL 门,且各TTL 门的输入端数为1,(TTL 门的高电平输入电流I IH =20μA ,输入短路电流
I IS =0.4mA ),试问R 阻)。
[解]1. 分析电路
(1) 写出电路的逻辑表达式:
图题3.1
16
3210Y ABE ABE ABE A BE =⋅⋅⋅
(2) 分析逻辑功能
将输入变量的所有组合代入上式,可得电路的逻辑功能关系,见表解3.2。
电路构成多功能函数发生器。
2. 计算上拉电阻:
R ≤
CC OHmin 3
OH IH 53
4.6K (40.120.02)10
V U nI mI ---==+⨯+⨯⨯ R ≥
CC OLmax 3
OL IS 50.3
0.65K (820.4)10V U I mI ---==--⨯⨯
R 可选1.1K 电阻。
3.3 设计一个代码转换器,要求将三位步进码CBA 转换成二进制码Z 3Z 2Z 1。
编码如表题3.3所示。
[解] 由表可直接写出输出逻辑表达式,并化简:
2(1,3)Z m CBA C BA CA ==+=∑ 1(6,7)Z m CBA CBA CB ==+=∑
0(1,4,7)Z m C BA CB A CBA ==++∑
该逻辑电路若用集成门实现,需2个非门、5个与门和1个3输入或门,设计使用芯片多。
如用3-8译码器设计,则电路较简单,电路见图解3.3。
3.4 用与非门设计一多数表决电路。
要求
A 、
B 、
C 三人中只要有半数以上同意,则决议
就能通过,但A 还具有否决权,即只要A 不同意,即使多数人同意也不能通过。
要求列出真值表、化简逻辑函数,并用图题3.4所给出的74LS00芯片画出电路连接图。
[解] (1) 规定逻辑变量
设A 、B 、C 同意为1,不同意为0;决议
L 通过为1,决议不同过为0。
由题可写出逻
辑真值表如表解3.4。
(2) 根据表解3.4写出逻辑函数
Z 2 Z 0 Z 1
图解3.3
17
CBA A B C BA C L ++=
因指定用7400与非门设计,故将L 化为与非-与非式
BA CA L ⋅=
⑶ 画出74LS00芯片电路接线图如图解3.4所示,将3、6管脚与13、12管脚分别连接,则11脚输出即为函数L 。
3.5 设计一交通灯故障检测电路。
要求R 、G 、Y 三灯只有并一定有一灯亮,输出
L =0;无灯亮或有两灯以上亮均为故障,输出L =1。
要求列出逻辑真值表,如用非门和
与非门设计电路,试将逻辑函数化简,并给出所用74系列器件的型号。
[解] 题目已规定逻辑变量并赋值,根据要求写出逻辑真值表3.5,列出逻辑函数式如下
RGY Y RG Y G R GY R Y G R L ++++= ()RGY RY RG GY =⋅⋅⋅
可选用6非门7404、2输入与非门7400、双4输入与非门7420实现电路设计(图略)。
3.6 一热水器如图题3.6所示,图中虚线表示水位;A 、B 、
C 电极被水浸没时会有信号输出。
水面在C 、B 间时为正常状态,绿灯G 亮;水面在B 、A 间或在C 以上时,为异常状态,黄灯Y 亮;水面在A 以下时,为
危险状态,红灯R 亮。
试用SSI 器件设计实现该逻辑功能的电路。
[解] 根据题目已给逻辑变量,设输入变量水面未超过设定范围时为0,超过设定范围时为1;输出逻辑变量灯亮为1,灯不亮为0。
列出逻辑真值表如表解3.6,其中有些状态是不出现的,作为无关项。
经化简的逻辑表达式如下
图题3.6
图解3.4
18
B C G = R A = A B C A B C Y ⋅=+=
选用1片7404非门和1片7400与非门即可实现电路的设计,电路图见图解3.6。
3.7 试用3-8线译码器和若干门电路实现3.6题的逻辑设计。
要求选择逻辑器件的型号,画出电路连接图。
[解] (1) 将3.6题输出量用最小项表示
3(3)G m ==∑
0(0)R m Y ==∑ 17(1,7)Y m Y Y ==∑
(2) 用74LS138译码器和与非门7400组成电路见图解3.7。
3.8 用译码器74LS47驱动七段数码管时,发现数码管只显示1、3、5、7、9。
试问故障出在哪里?
[解] 当译码器74LS47的输入信号A 3A 2A 1A 0中A 0固定为高电平时,就会出现只能显示奇数1、
3、5、7、9的故障。
因此,检查A 0线是否开路或与V CC 短接。
3.9 试分析图题3.9,写出Y 的逻辑表达式,当DC 为00~11时,说明电路的功能。
(74153的逻辑功能可参见74253的功能表3.2.3,但74153的输出1Y 和2Y 在未选通时是低电平)。
[解] (1) 划分逻辑功能块
图解4.6
R
Y G 图解 3.7
R G
1
Y
19
电路可分为MUX74LS153和门电路两块。
(2) 写出电路的输出函数式及逻辑真值表 由74153的逻辑函数式为
100101102103Y A A D A A D A A D A A D =+++
将0D A B =⋅,1D A B =+,2D A
B =,3D A =,D
C =A 1A 0代入上式可得
()()()Y DC BA D C B A DC B
A DCA =++++
(3) 分析电路功能
当DC 为不同组合时,电路实现多功能输出。
3.10 试用一片3-8线译码器(输出为低电平有效)和一个与非门设计一个3位数X 2X 1X 0奇偶校验器。
要求当输入信号为偶数
个1时(含0个1),输出信号F 为1,否则为0。
(选择器件型号,画电路连线图)。
[解] (1) 根据题意写出真值表如表解 3.10,将输出F 用最小项表达式写出
∑⋅⋅⋅==
6
5
3
)6,5,3,0(Y
Y Y Y m F
(2) 电路连接图见图解3.10。
(3) 根据验证,电路符合设计要求的逻辑功能。
3.11 双4选1数据选择器74253的功能表见表3.2.3,先用门电路将它扩展为8
选1数据选择器,再用它实现逻辑函数
F = AB + B C +A C
画逻辑电路图,令CBA 对应着A 2A 1A 0。
[解] (1) 根据所给器件扩展电路
74LS253的两个输出1Y 和2Y 未被选通时为高阻状态,故两个输出可直接连接作为
20
一个输出端。
先将双4选1MUX 扩展为8选1MUX ,电路见图解3.11。
当A 2A 1A 0从000~011时,1Y 输出1D 0~1D 3;当A 2A 1A 0从100~111时,2Y 输出2D 0~2D 3。
(2) 设计整个电路
将逻辑函数F 写为最小项和的形式:F CBA CBA CB A CBA CBA =++++
令CBA =A 2A 1A 0,D 2=D 3=D 4=D 6=D 7=1,D 0=D 1=D 5=0,即可用MUX 实现上述函数的逻辑功能,
电路见图题3.11(b)。
3.12 试用74LS138译码器构成8线输出数据分配器,要求将一路数据D ,分时通过8个通道原码输出。
[解] 参考图3.5.1,将74LS138的每个输出接一反相器即可实现原码输出。
3.13 画出用半加器构成全加器的逻辑电路图。
[解] (1) 功能电路分析
半加器的逻辑表达式为
S =A ⊕B C =AB
全加器的逻辑表达式为
S i = A i ⊕B i ⊕C i-1 C i =(A i ⊕B i )C i-1+A i B i
(2) 用半加器设计全加器的逻辑电路
用两个半加器与一个或门设计的1位全加器电路见图解3.13。
A 0 A 1 A
3.14 试选择MSI 器件,设计一个将余三码转换成8421码的电路。
[解](1)规定逻辑变量
由于余三码与8421 BCD 码总是相差0011。
因此,将余三码A 3A 2A 1A 0作为输入, 8421BCD 码L 3L 2L 1L 0作为输出。
[方法1]用全加器实现 (2) 写出逻辑关系式
L 3L 2L 1L 0=A 3A 2A 1A 0-0011
由于没有学过4位全减器,需要把上式改成加法,由于减去一个二进制正数等于加上一个它的补码(按位求反再加1),0011的补码是1101。
(3) 电路实现
输出为输入加上一个常数,自然用加法器实现最简单。
将4位二进制全加器74LS283的一组输入端A 3~A 0接余三码输入,另一组输入端B 3~B 0接二进制数1101,则输出S 3~S 0即为8421 BCD 码。
画逻辑电路如图解3.14所示。
由于“减去一个二进制正数等于加上一个它的补码”这部分内容教材里不一定介绍。
本题也可用方法2实现。
[方法2]用译码器实现 (2) 写出逻辑关系式
由于余三码与8421码对应关系见表解3.14。
逻辑表达式如下
31112(11,12)L m Y Y ==∑ 278910(7,8,9,10)L m Y Y Y Y ==∑
156910(5,6,9,10)L m Y Y Y Y ==∑
04681012(4,6,8,10,12)L m Y Y Y Y Y ==∑
(3) 电路实现
4-16线译码器74154的输出端为低电平有效,将余三
码A 3A 2A 1A 0接译码器地址输入端A 3A 2A 1A 0,输出端用与非门电路即可实现电路的逻辑功能(电路图略)。
3.15 试用3-8线译码器74LS138和若干与非门设计一个1位全加器。
74LS138的功能表见表3.2.2。
[解] (1) 写全加器最小项和式
图解3.14
L 0 L 1 L 2 L 3
7421m m m m A B C S =⊕⊕=
7653)(m m m m BA A B C C =+⊕= (2) 画逻辑电路图
将全加器的输出函数与译码器逻辑式比较,如令A 2A 1A 0=CBA ,则
7421S =
7653C =
译码器的对应输出端与1片双4输入的与非门7420连接,即可实现1位的全加器功能。
电路见图解3.15。
3.16 用比较器或加法器设计如下功能电路:当输入为四位二进制数N ,N ≥1010时,输出L =1,其余情况下L =0。
[解] [方法1]用比较器CC14585实现电路设计
根据题意令A 3 A 2A 1 A 0=N 3N 2N 1N 0、B 3B 2B 1 B 0= 1001,令I A>B =I A=B =1、I A<B =0,则从Y A >B 可以得到输出L 。
电路见图解3.16(a)。
[方法2] 用加法器实现电路设计
令A 3 A 2A 1 A 0=N 3N 2N 1N 0、B 3B 2B 1 B 0= 0110,则从进位输出CO 可以得到输出L 。
电路见图解3.16(b)。
3.17 选择MSI 器件,设计一个4位奇偶逻辑校验判断电路,当输入为奇数个1时,输出为1;否则输出为0。
[解] (1) 设逻辑变量 L
图解3.15
根据题意,设输入逻辑变量为X 3X 2X 1X 0,输出逻辑变量为L 。
写出真值表如表解3.17。
(2) 设计电路
[方法1] 选用1个输出为低电平有效的4-16线译码器74154实现电路,将L 写为如下形式
∑=)14,13,11,8,7,4,2,1(m L
令A 3A 2A 1 A 0 = X 3X 2X 1X 0,将上式中最小项对应的输出接一个8输入与非门74LS30的输入端,在74LS30的输出即可得到L (图略)。
[方法2] 用8选1 MUX 实现电路设计。
将函数L 写为如下形式
21321030103232102210331010320321()()()()()()()()
L X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X =+++++++ 令 A 2A 1A 0 = X 2X 1X 0,D 0=D 3=D 5=D 6=X 3,D 1=D 2=D 4=D 7= 3X ,则L =Y 。
电路见图解3.17。
3.18 已知函数F (D ,C ,B ,A )=∑)15,12,10,8,7,5,2(m
试用以下功能组件实现该逻辑函数的电路,(自行选择器件型号,可增加少量门电路)。
(1) 8选1或16选1数据选择器; (2) 3-8线译码器或4-16线译码器。
[解] (1) 用一个
16选1 MUX 74LS150实现电路,可令A 3A 2A 1A 0=DCBA ,令D 2=D 5=D 7=
D 8=D 10=D 12=D 15=1,其它D i 接0,输出即为F 。
图解3.17
74LS251 L
(2) 选用4-16线译码器74154和8输入的与非门74303实现
令A 3A 2A 1A 0=DCBA ,将译码器的输出2Y 、5Y 、7Y 、8Y 、10Y 、12Y 、15Y 接8输入与非门7430的七个输入,另一个接1,则7430的输出即为函数F 。
3.19 试选择如下器件设计一个逻辑电路,当X 2X 1X 0>5时,电路输出为1,否则输出为0。
⑴ 比较器; ⑵ 加法器; ⑶ MUX ; ⑷ 3−8译码器。
[解]根据题目要求写出逻辑真值表如表题3.19。
(1) 用4位比较器74LS85实现电路
令A 3A 2A 1A 0 = 0X 2X 1X 0,B 3B 2B 1B 0 = 0101,则Y A>B =L 。
(2) 用4位加法器74LS83实现电路
令A 3A 2A 1A 0=0X 2X 1X 0,B 3B 2B 1B 0=1010, 则CO =L 。
(3) 用输出为高电平有效的8选1MUX74LS251实现电路。
由于8选1MUX 输出∑=)7,6(m L ,可令A 2A 1A 0=X 2X 1X 0、D 6=D 7=1、 D 0~D 5=0即可。
若用4选1MUX 74LS153实现 将函数改写为:012012
)7,6(X X X X X X
m L +==
∑,
令A 1A 0=X 1X 0,D 3=D 2=X 2,D 1=D 0=0。
(4) 用输出为低电平有效的3-8线译码器74LS138实现
由于76)7,6(m m m L ⋅==∑,可令A 2A 1A 0= X 2X 1X 0,将对应的m 6、m 7输出接一双输入与非门7400即可。
3.20 设计一个多输出组合逻辑电路,其输入为8421 BCD 码,其输出定义为
(1) L 1:检测到的输入数字能被4整除; (2) L 2:检测到输入数字大于或等于3; (3) L 3:检测到输入数字小于7。
[解] (1) 规定逻辑变量
将8421 BCD 码作为输入,用X 3X 2X 1X 0表示,设逻辑电路输出L 满足检测条件为1,不满足检测条件为0。
(2) 分析电路的逻辑功能
根据题目写出真值表见表题3.20。
将L 1、L 2、L 3的逻辑表达式分别写出:
∑∑∑===)
6,5,4,3,2,1,0()9,8,7,6,5,4,3()
8,4,0(321m L m L m L (3) 选择MSI 完成设计
本题为多输入多输出逻辑电路,选择译码器实现最为简单。
根据输入变量的个数,需选择1个4-16线译码器74LS154、1个4输入与非门74LS20和2个8输入与非门74LS30即可实现设计要求(图略)。
3.21 某建筑物的自动电梯系统有五个电梯,其中三个是主电梯,两个备用电梯。
当上下人员拥挤,主电梯全被占用时,才允许使用备用电梯。
现需设计一个监控主电梯的逻辑电路,当任何两个主电梯运行时,产生一个信号(L 1),通知备用电梯准备运行;当三个主电梯都在运行时,则产生另一个信号(L 2),使备用电梯主电源接通,处于可运行状态。
[解] (1) 设逻辑变量并赋值。
设主电梯为C 、B 、A ,运行时为1,不运行时为0;备用电梯准备运行或电源接通时,L 1或L 2为1,否则为0。
(2) 列逻辑真值表
由题意列逻辑真值表见表解3.21。
(3) 设计电路
注意到逻辑函数L 1刚好是全加器CI 端输出的逻辑函数式,逻辑函数L 2可由3输入与门实现。
因此本题用1个全加器和一个3输入与门电路实现最为简洁,逻辑电路图见图解3.21。
用8选1 MUX 或3-8译码器和1个与非门也能实现本题的
L 1,但显然比较复杂。
3.22 阅读下面的VHDL 程序,说明结构体是行为描述还是结构描述,并分析它实
图解3.21
现的逻辑功能。
ENTITY counter IS
P ORT
(clk : IN BIT;
up_down : IN BIT;
ld : IN BIT;
D : IN INTEGER RANG
E 0 TO 255;
Q : OUT INTEGER RANGE 0 TO 255 );
END counter;
ARCHITECTURE a OF counter IS
BEGIN
P ROCESS (clk)
VARIABLE cnt : INTEGER RANGE 0 TO 255;
VARIABLE direction : INTEGER;
BEGIN
IF (up_down = '1') THEN
direction := 1;
ELSE
direction := -1;
END IF;
IF (clk'EVENT AND clk = '1') THEN
IF ld = '0' THEN
cnt := d;
ELSE
cnt := cnt + direction;
END IF;
END IF;
Q <= cnt;
E ND PROCESS;
END a;
[解] 这部分VHDL程序结构体是行为描述,实现了可逆计数器的逻辑功能。
3.23 分析下面的VHDL程序,说明电路的功能并画出逻辑电路图。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
ENTITY alarm IS
PORT( smoke, door, water:IN STA_LOGIC;
alarm_en :IN STA_LOGIC;
fire_alarm, burg_alarm, water_alarm:OUT STA_LOGIC );
END alarm ;
ARCHITECTURE alarm_arc OF alarm IS
SIGNAL i1, i2, i3:BIT;
COMPONENT nor2 PORT(x,y:in Bit;z:OUT BIT);
END COMPONENT;
COMPONENT INV PORT(X:IN BIT;z:OUT BIT);
END COMPONENT;
BEGIN
U0:INV PORT MAP (water,I1);
U1:INV PORT MAP (smoke,I2);
U2:INV PORT MAP (door,I3);
U3:NOR2 PORT MAP (i1,alarm_en,water_alarm);
U4:NOR2 PORT MAP (i2,alarm_en,smoke_alarm);
U5:NOR2 PORT MAP (i3,alarm_en,burg_alarm);
END alarm_arc;
[解] 这部分VHDL程序实现了房间内的水,烟,房门的报警功能。
以水为例,设水溢出的状态为“1”,若alarm_en处于低电平使能状态,则或门U3输出的为高电平,为水溢出报警状态。
若alarm_en处于高电平,则无论有否报警信号,三个输出始终为“0”,即不允许报警工作状态。
这部分的VHDL程序属于结构描述,对应的逻辑电路如图解3.23所示。
图解3.23
3.23 试VHDL语言描述本章的半加器、全加器、比较器、译码器、多路选择器等器件的逻辑功能。
[解] 半加器参考程序如下
achitecture func of halfadder is
signal indate: std_logic_vector;
begin
indate <= a & b;
process(indate)
begin
case indate is
when ”00” => sc <= “00”;
when “01” => sc <= ”10”;
when “10” => sc <= ”10”;
when “11” => sc <= ”01”;
end case;
end process;
end func;
全加器参考程序如下
achitecture func of fulfadder is
signal indate: std_logic_vector;
begin
indate <= a & b & ci_1;
process(indate)
begin
case indate is
when ”000” => sc <= “00”;
when “001” => sc <= ”10”;
when “010” => sc <= ”10”;
when “011” => sc <= ”01”;
when “100” => sc <= ”10”;
when “101” => sc <= ”01”;
when “110” => sc <= ”01”;
when “111” => sc <= ”11”;
end case;
end process;
end func;
比较器参考程序如下
entity compare is
port ( a,b:in bit;c:out bit);
end compare;
architecture struct of compare is
signal i: bit;
component xr2 port (x,y:in bit;z:out bit);
end component;
component inv port(x:in bit;z:out bit)
end component;
begin
u0:xr2 port map (a,b,i);
u1:inv port map(I,c);
end struct;
译码器参考程序如下
ARCHITECTURE rt1 OF decoder3_8 IS
SIGNAL indate: STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
indate <= A2 & A1 & A0;
PROCESS(indate, STA,STB,STC)
BEGIN
IF (STA='1' AND STB='0' AND STC='0') THEN
CASE indate IS
WHEN "000" => Y <= "11111110";
WHEN "001" => Y <= "11111101";
WHEN "010" => Y <= "11111011";
WHEN "011" => Y <= "11110111";
WHEN "100" => Y <= "11101111";
WHEN "101" => Y <= "11011111";
WHEN "110" => Y <= "10111111";
WHEN "111" => Y <= "01111111";
WHEN OTHERS => Y <= "11111111";
END CASE;
ELSE
Y <= "11111111";
END IF;
END PROCESS;
END rt1;
多路选择器参考程序如下
ARCHITECTURE maxpld OF selsig IS BEGIN
WITH address SELECT
y <= d0 WHEN 0,
d1 WHEN 1,
d2 WHEN 2,
d3 WHEN 3;
END maxpld;。