第5章时序逻辑电路






本章从时序逻辑电路的基本概念出发,重点讨论时序逻辑电路的分析和设计方法,并介绍了寄存器、计数器等常用时序逻辑电路的功能、原理和应用。
根据电路特点,数字电路一般分为组合逻辑电路和时序逻辑电路两大类。组合逻辑电路在任一时刻的稳定输出仅取决于该时刻电路的输入。而时序逻辑电路在任一时刻的稳定输出不仅与该时刻电路的输入有关,而且还与电路原来的状态有关,即与电路以前的输入信号有关。这是时序逻辑电路区别于组合逻辑电路的最大特点。
5.1时序逻辑电路的结构模型与分类
5.1.1时序逻辑电路的结构模型

时序逻辑电路简称时序电路,是一种具有记忆功能的逻辑电路,主要由两部分组成: 组合逻辑电路部分和存储电路部分。其记忆能力是通过存储电路中的存储元件实现的。时序逻辑电路的结构模型如图51所示。


图51时序逻辑电路的结构模型


该模型具有区别于组合电路模型的两个特点: 一是包含存储元件; 二是具有反馈线。由图51可知: 

X1~Xn为外部输入信号; Z1~Zm为输出信号; W1~Wr为存储电路的激励输入信号,用于控制存储器的状态变化; Q1~Qr为存储电路的输出信号,即时序逻辑电路的状态变量,状态变量的取值组合用于表示时序逻辑电路当前所处的状态。这些变量之间的关系可用下面3个方程描述。

输出方程: Zi=f(X1~Xn; Qn1~Qnr)



或


Zi=f(Qn1~Qnr)i=1,2,…,m(51)

激励方程: Wi=g(X1~Xn; Qn1~Qnr)i=1,2,…,r(52)

状态方程: Qn+1i=h(Wi; Qni)i=1,2,…,r(53)

由以上关系可知,输出方程和激励方程取决于即刻输入变量和电路的当前状态; 而状态方程描述的是电路的下一个状态取决于电路的现状态和激励输入。这一点充分体现了时序逻辑电路区别于组合逻辑电路的显著特点。
时序逻辑电路中可用的存储元件有很多,但最常用的是第4章介绍的触发器。这样,在状态方程中,Qn+1i就是第i个触发器的次态,Wi就是该触发器当前的激励信号,Qni就是该触发器的现态,即一个触发器的次态只由该触发器的现态和激励信号确定。
注意,并不是任何一个时序逻辑电路都具有图51所示的完整电路形式。实际应用中,有的时序逻辑电路没有组合电路部分,有的没有输入变量,但只要具备时序逻辑电路的基本特点,就属于该类电路的范畴。
5.1.2时序逻辑电路的分类
时序逻辑电路有多种不同的分类标准,本章重点介绍两种不同的分类方法。第一种,按电路中所有触发器状态变化是否同步分类; 第二种,按输出信号的特性分类。
1. 按电路中所有触发器状态变化是否同步分类
按电路中所有触发器状态变化是否同步将时序逻辑电路分为同步和异步两种。
同步时序逻辑电路中,所有触发器共用同一个时钟脉冲信号CP,在CP作用下,满足转换条件的触发器状态同步转换,即触发器状态的更新和CP同步。这里,时钟脉冲CP被看作是同步时序逻辑电路的时间基准,而不是输入变量。
异步时序逻辑电路中,时钟脉冲信号CP只能触发部分触发器,其余触发器由电路内部信号触发。因此,具备转换条件的触发器状态变化有先后顺序,并不是与CP同步。这里,时钟脉冲信号CP不再作为同步信号,而是作为激励信号处理。
2. 按输出信号的特性分类
按输出信号的不同特性将时序逻辑电路分为Mealy型和Moore型两种。
Mealy型时序逻辑电路中,输出Zi不仅是当前外部输入X1~Xn的函数,同时也是当前状态Qn1~Qnr的函数,即Zi=f(X1~Xn; Qn1~Qnr)。
Moore型时序逻辑电路中,输出Zi仅是当前状态Qn1~Qnr的函数,即Zi=f(Qn1~Qnr)。或者根本不存在专门的输出Zi,而以电路中触发器的状态直接作为输出。
从电路结构上看,Mealy型电路和Moore型电路本质上并无区别,只是Mealy型电路的组合部分比较复杂一些而已。因此,它们的分析方法和设计方法是一样的。
5.2时序逻辑电路的分析
时序逻辑电路的分析就是根据一个给定的电路,经过分析进而确定或说明电路逻辑功能的过程。下面分别从同步和异步两个角度介绍时序逻辑电路的分析方法。
5.2.1同步时序逻辑电路的分析
同步时序逻辑电路分析的关键是确定电路随时间的推移,在输入序列作用下,电路状态和输出的变化规律。而这种变化规律通常表现在状态转换表、状态图或时序图中。因此,分析一个给定的同步时序逻辑电路,实际上就是求出该电路的状态转换表、状态图或时序图,以此确定该电路的逻辑功能。
1. 同步时序逻辑电路的描述方法
同步时序逻辑电路的行为虽然可以用式(51)~式(53)3个方程组描述,但是从这些函数表达式中并不能清楚地看到输入、输出、现态、次态之间的转换关系。为了更加清晰、生动地描述电路的行为,本节引入了状态转换真值表、状态图、时序图等同步时序逻辑电路的描述方法。
1) 状态转换真值表
状态转换真值表是反映时序逻辑电路的输出、现态、次态、输入之间取值对应关系的一种表格。
将电路现态的各种取值组合代入时序逻辑电路的状态方程和输出方程,求出相应的次态和输出,就可以得到状态转换真值表。如果现态的初始值已经给定,则应从给定值开始推导。否则可假定一个现态初始值,依次进行推导。例如,某同步时序逻辑电路有一个输入X和一个输出Z,有4个状态00、01、10和11,有效脉冲信号为CP↑,其状态转换真值表见表51。



表51某电路的状态转换真值表



时 钟 脉 冲

输入现态次态输出

XQn1Qn0Qn+11Qn+10Z

CP↑100100
CP↑010011
CP↑101101
CP↑110110
从表51可以看出,若电路的初始状态为00,当输入X=1时,输出Z=0,在时钟脉冲CP↑作用下,电路进入状态10。如果紧接着X变为0,输出Z=1,时钟脉冲CP↑到来后电路状态变为01。
2) 状态图
状态图是一种反映时序逻辑电路状态转移规律和输入、输出取值关系的有向图,它是时序逻辑电路逻辑功能的图示


图52表51对应的状态图


法。在状态图中,每个状态用一个圆圈表示,称为状态圈。圈内用字母或数字表示状态的名称,用带箭头的直线或弧线表示状态转移关系,并把引起这一转移的输入条件和相应的输出标注在有向线段的旁边(Moore型电路的输出可标注在状态圈内)。
状态图和状态转换真值表具有一一对应关系,并能相互转换。图52为表51对应的状态图。
从图52中可以清楚地看到状态的转移条件和方向。状态图非常直观,它比状态转换真值表更直观地反映了电路中各状态间的转换关系,有利于理解电路的逻辑功能。
3) 时序图
时序图是在时钟脉冲信号CP和输入信号的共同作用下,电路输出和状态变化的波形图。它用图形的方式形象描述了输入输出信号与电路状态在时间上的对应关系,是分析各类电路的重要手段。图53为表51对应的时序图。


图53表51对应的时序图


注意:
① 如果同步时序逻辑电路的初始状态不同,那么尽管输入序列相同,但输出序列和状态转移序列也不同。
② 电路的现态和次态是针对某一时刻而言的,该时刻的次态就是下一时刻的现态。
2. 同步时序逻辑电路的分析步骤
通常,同步时序逻辑电路的分析可以按照以下步骤进行。
(1) 根据给定的电路图,写出方程组(即输出方程、激励方程和状态方程)并化简。
输出方程是同步时序逻辑电路各个输出信号的逻辑表达式; 激励方程是各个触发器同步输入端信号的逻辑表达式; 把激励方程代入相应触发器的特性方程,即可求出状态方程,也就是各个触发器次态输出的逻辑表达式。
(2) 根据电路的方程组,列出状态转换真值表。
(3) 画状态图。
画状态图的方法是: 将时序逻辑电路的所有独立状态分别用圆圈圈起来,再以每个状态作为原状态,在状态转换真值表中找出该状态在不同输入条件下的次态和输出值,并在各独立状态之间用有向箭头表示状态转换方向,在箭头旁标出输入条件和输出值。
(4) 检查电路自启动能力。
自启动能力是电路由于某种原因(如误操作)进入无效状态(或无用状态)后,在CP脉冲信号作用下回到有效状态(或有用状态)的能力。
(5) 画时序图。
画时序图时要明确,只有当CP触发沿到来时,相应的触发器状态才会改变,否则只会保持原状态不变。
(6) 描述电路的逻辑功能。
根据以上分析,说明、确定电路的逻辑功能。
实际上,经过分析步骤(1),在获得电路相应方程后,电路逻辑功能已经较全面地表示出来了。但是,为从不同侧面突出电路特点,并使获得的结果形象直观,往往将它转换成图表的形式。在描述电路功能方面,效果是一样的,实际应用中应根据具体问题进行取舍。
下面通过具体实例进行分析。
【例51】试分析图54所示同步时序逻辑电路的功能。


图54同步时序逻辑电路


解: 
(1) 写方程组。
输出方程: Y=Qn1(由此方程可知该电路为Moore型时序逻辑电路)
激励方程: K0=1,J0=Qn1;K1=1,J1=Qn0
状态方程: 由JK触发器的特性方程可知:
Qn+10=J0Qn0+K0Qn0=Qn1Qn0

Qn+11=J1Qn1+K1Qn1=Qn1Qn0
(2) 列出状态转换真值表。
由图54可知,电路没有外部输入信号,其现态Qn1Qn0有4种可能,按二进制大小排列为00~11,将其分别代入输出方程和状态方程,求出对应的输出和次态,得到电路状态转换真值表,见表52。


表52电路状态转换真值表



时 钟 脉 冲

现态次态输出

Qn1Qn0Qn+11Qn+10Y

CP↓00010
CP↓01100
CP↓10001
CP↓11001
(3) 画状态图。
根据表52画出的电路状态转换图如图55所示。
图55中,圆圈内的数字表示电路的状态,转移方向上方斜杠后的值表示现状态电路的输出。另外,Moore型时序逻辑电路的状态图中,也可以将输出Y直接标注在圆圈内状态下方,即圆圈内的数值表示电路的状态和该状态下的输出,如图56所示。


图55状态图




图56图55的等效状态图



(4) 检查电路的自启动能力。
由题目中的图54可知,该电路有两个触发器,所以电路的工作状态数有22=4个。通过图55可看到,在连续的CP时钟脉冲作用下,电路状态始终在00→011→0→00之间循环,这3个状态称为该电路的有效状态; 另外一个状态11为无效状态。
对于该电路,如果电路进入11无效状态,在CP脉冲作用下,可以通过00状态重新进入有效状态,所以该电路具备自启动能力。
(5) 画时序图。
假定电路的初始状态为Q1Q0=00,根据图55画出电路的时序图,如图57所示。


图57时序图


(6) 描述电路的逻辑功能。
通过电路的状态转换真值表和状态图可知,电路有3个有效状态,且在100→0时,输出一个进位信号1,所以这是一个可以自启动的同步三进制计数器电路。
【例52】试分析图58所示同步时序逻辑电路的功能。


图58同步时序逻辑电路


解: 
(1) 写方程组。
输出方程: Y=XQn1(由此方程可知该电路为Mealy型时序逻辑电路)
激励方程: J0=XQn1,K0=1

J1=XQn0,K1=
状态方程: Qn+10=J0Qn0+K0Qn0=XQn1Qn0

Qn+11=J1Qn1+K1Qn1=XQn1Qn0+XQn1=X(Qn0+Qn1)

(2) 列出状态转换真值表。
输入X和现态Qn1 Qn0有8种可能的输入组合,按照3位二进制数由小到大的排列顺序,即000~111,填入表格前3列。在时钟脉冲CP↓作用下(表内不再列出),根据方程组可求出每种输入组合对应的次态及输出,将其填入表格后3列,得到状态转换真值表,见表53。


表53状态转换真值表



输入现态次态输出

XQn1Qn0Qn+11Qn+10Y

000000
001000
010000
011000
100010
101100
110101
111101
(3) 画出状态图。
由表53可画出电路的状态图,如图59所示。


图59状态图


(4) 检查自启动能力。
由图59可知,该电路有两个触发器,共4种状态。在CP时钟脉冲作用下,电路状态在00→01→10→00之间循环。所以,4种状态中,00、01和10是有效状态,11状态不在循环圈内,是无效状态,但11状态在CP时钟脉冲作用下能够回到有效状态00或10,所以电路能够自启动。
(5) 画时序图。
根据图59画出其对应的时序图,如图510所示。


图510时序图


(6) 电路逻辑功能描述。
由状态图和时序图可见,一旦输入出现“111”序列,输出Y便产生一个脉冲,其他情况下输出Y=0。因此,该电路是一个“111”串行序列检测器。
5.2.2异步时序逻辑电路的分析
异步时序逻辑电路的分析步骤与同步时序逻辑电路大致相同。因为它通常也用触发器作为存储单元,电路的输入具有脉冲形式,只不过在异步时序逻辑电路中,触发器的时钟脉冲不都来源于一个,因此,触发器的状态变化不是同时进行的。所以,在列方程时,要将各个触发器的时钟方程考虑在内。
下面通过具体实例,说明异步时序逻辑电路的分析过程。
【例53】试分析图511所示异步时序逻辑电路的功能。


图511异步时序逻辑电路


解: 由图511可知,3个触发器的时钟脉冲来源不同,因此,电路为异步时序逻辑电路。
(1) 写方程组。
时钟方程: CP0=CP2=CP; J0K0触发器和J2K2触发器由外加时钟脉冲信号CP下降沿触发。

CP1=Q0; J1K1触发器由Q0下降沿触发
输出方程: 本例题没有输出方程。
激励方程: J0=Qn2; K0=1

J1=1,K1=1

J2=Qn1Qn0,K2=1
状态方程: Qn+10=J0Qn0+K0Qn0=Qn2Qn0(CP↓有效)

Qn+11=J1Qn1+K1Qn1=Qn1(Q0↓有效)

Qn+12=J2Qn2+K2Qn2=Qn2Qn1Qn0(CP↓有效)
 (2) 列出状态转换真值表。
设电路的初始状态为Q2Q1Q0=000,代入上面的状态方程,得到状态转换真值表,见表54。


表54状态转换真值表



输入现态次态时 钟 脉 冲


CPQn2Qn1Qn0Qn+12Qn+11Qn+10CP2CP1CP0
↓
0
0
0
0
0
1
↓
↑
↓
↓
0
0
1
0
1
0
↓
↓
↓
↓
0
1
0
0
1
1
↓
↑
↓
↓
0
1
1
1
0
0
↓
↓
↓
↓
1
0
0
0
0
0
↓
0
↓
↓
1
0
1
0
1
0
↓
↓
↓
↓
1
1
0
0
1
0
↓
0
↓
↓
1
1
1
00
0
↓
↓
↓
表54中,电路状态的变化不是由外部输入脉冲信号CP一个因素决定的。若Q2Q1Q0=000,当外部输入脉冲CP↓到来时,Qn+12=J2Qn2+K2Qn2=Qn2Qn1Qn0=0。
Qn+10=J0Qn0+K0Qn0=Qn2Qn0=1。由于Q0从0→1,即Q0↑,不满足J1K1触发器的触发条件,所以Q1状态不发生变化,仍保持0状态。以此类推,可以得到电路完整的状态转换真值表。
(3) 画出状态图。
在每一个CP↓到来时,根据表54得到电路状态转换图,如图512所示。圆圈内的代码表示电路状态Q2Q1Q0,共有8种不同的状态。


图512状态图


(4) 检查电路自启动能力。
由图512可知,循环圈外的3个无效状态101、110和111,在输入脉冲CP↓作用下,均可回到有效状态中,所以电路具有自启动能力。

(5) 画时序图。
设电路初始状态为Q2Q1Q0=000,根据图512可以画出电路的时序图,如图513所示。


图513时序图


(6) 电路逻辑功能描述。
根据图512可知,该电路是一个具有自启动能力的异步五进制计数器。
【例54】试分析图514所示异步时序逻辑电路的功能。


图514异步时序逻辑电路


解: 由图514可知,3个T触发器的时钟脉冲不一致,电路为异步时序逻辑电路。这里的T触发器是上升沿触发。
(1) 写方程组。
时钟方程: CP0=X(CP); T0触发器由外部输入信号X(CP)↑触发

CP1=Q0; T1触发器由Q0↑触发

CP2=Q1; T2触发器由Q1↑触发
输出方程: Z=Qn2Qn1Qn0
激励方程: T0=T1=T2=1
状态方程: Qn+10=T0Qn0=Qn0(CP↑有效)

Qn+11=T1Qn1=Qn1(Q0↑有效)

Qn+12=T2Qn2=Qn2(Q1↑有效)
(2) 列出状态转换真值表。
列状态转换表时,应先确定有无时钟,然后确定状态的变化。根据图514的特点,高位触发器的时钟与低位触发器的状态相连(Q2为最高位,Q0为最低位),所以低位触发器的状态先变,高位触发器的状态后变。
设电路的初始状态为Q2Q1Q0=000,代入上面的输出方程和状态方程,得到状态转换真值表,见表55。


表55状态转换真值表



输入现态次态时 钟 脉 冲输出

X(CP)Qn2Qn1Qn0Qn+12Qn+11Qn+10CP2CP1CP0Z

↑
0
0
0
1
1
1
↑
↑
↑
1
↑
0
0
1
0
0
0
0
↓
↑
0
↑
0
1
0
0
0
1
↓
↑
↑
0
↑
0
1
1
0
1
0
1
↓
↑
0
↑
1
0
0
0
1
1
↑
↑
↑
0
↑
1
0
1
1
0
0
0
↓
↑
0
↑
1
1
0
1
0
1
↓
↑↑
0
↑
1
1
1
1
1
0
1
↓
↑
1
表55中,若电路初始状态Q2Q1Q0=000,当X(CP)↑到来时,导致Q0从0变为1; Q0↑的出现,导致Q1从0→1; Q1↑的出现,导致Q2从0变为1; 最终导致输出Z变为1。以此类推,可以得到电路完整的状态转换真值表。
(3) 画状态图。
根据表55画出电路状态转换图,如图515所示。


图515状态图


(4) 检查自启动能力。
由图515可知,电路的所有8个状态全部为有效状态,没有无效状态,因此电路能够自启动。
(5) 画时序图。
设电路初始状态为Q2Q1Q0=000,根据图515,可以画出电路的时序图,如图516所示。


图516时序图


(6) 电路逻辑功能描述。
由图515的状态转换过程可知,该电路是一个异步八进制减法计数器,其输入脉冲X(CP)为计数脉冲,输出Z为借位信号。
5.3时序逻辑电路的设计
时序逻辑电路设计是时序逻辑电路分析的逆过程,即通过对设计命题的分析,确定体现命题要求的状态图或状态表,进而设计出符合命题要求的逻辑电路图。
由于时序逻辑电路设计不仅有状态定义与状态转换,还涉及状态化简、状态分配等问题,因此比组合电路的设计过程复杂。
下面分别从同步和异步两个角度介绍时序逻辑电路的设计方法和步骤。
5.3.1同步时序逻辑电路的设计
本节介绍的设计方法基于采用触发器和逻辑门等小规模集成电路,是同步时序逻辑电路设计的经典方法。与最简组合逻辑电路的设计要求类似,这里的设计要求仍符合最简要求,即用最少的触发器和逻辑门实现。
同步时序逻辑电路的一般设计步骤如下。
(1) 建立原始状态转换图(或状态转换真值表)。
对逻辑命题进行抽象,设定电路状态,建立原始状态图(表)。原始状态图(表)建立的正确与否,决定了设计的电路功能是否能够达到预期目的。
其过程一般是: 先假定一个初始状态S0; 从这个初始状态S0出发,每加入一个要记忆的输入信号,就用其次态“记忆”,并标出相应的输出值; 该次态可能是现态本身(即状态不变),也可能是原始状态图中已有的另一个状态,或是新增加的一个状态。继续这个过程,直到没有新的状态出现,并且从每个状态出发,输入的各种可能取值引起的状态转移均须考虑,进而建立起原始的状态图(表)。
(2) 状态化简。
化简的目的是使电路简单。电路的状态越少,需用的触发器越少,电路越简单。
在建立原始状态图(表)时,只考虑如何正确地反映设计要求,并没有严格要求状态的数目最少。因此,需要通过状态化简消去多余的等效状态,得到符合功能要求的最简状态图(表)(注意,这里只介绍完全状态表的化简方法,不完全状态表的化简建立在相容状态的基础上,而非建立在等效状态的基础上)。
假设Si、Sj是原始状态表中的两个状态,那么Si、Sj等效的条件可归纳为在相同输入条件下: 
① 它们的输出完全相同。
② 它们的次态满足下列条件之一,即
 次态相同; 
 次态交错; 
 次态循环; 
 次态对等效。
次态交错是指在某种输入条件下,Si的次态是Sj,而Sj的次态是Si。次态循环是指次态之间的关系构成一个闭环,例如,Si和Sj在某种输入组合下的次态是Sk和Sl,而Sk和Sl在某种输入下的次态又是Si和Sj,这种情况称为次态循环。次态对等效是指状态Si和Sj的次态Sk和Sl满足等效的两个条件。例如,状态S1和S2的次态对为S3和S4,它们既不相同,也没有与状态S1、S2直接构成交错和循环。但是,状态S3和S4的输出完全相同,且其次态相同或交错,或循环。
原始状态图(表)中的两个或多个状态如果同时满足①、②两个条件,则为等效状态,所有等效状态可合并为一个状态。
(3) 状态分配。
状态分配又称状态编码,其核心是确定触发器的个数,并对不同状态分配一组相应的二进制代码。若时序逻辑电路的状态数目为M,则需要触发器的个数n应满足以下条件。
2n-1<M<2n
进行状态编码时,一般应遵循下面4个原则。
① 相同输入条件下,具有相同次态的现态应分配逻辑相邻编码。
② 同一现态在相邻输入条件下的不同次态应分配逻辑相邻编码。
③ 在所有输入条件下,具有相同输出的现态应分配逻辑相邻编码。
④ 最简状态表中,出现次数最多的状态应分配逻辑0。
若分配时以上原则有矛盾,则应按自上而下的优先顺序分配。
(4) 选定触发器类型,列出状态转换真值表,求出激励方程和输出方程。
(5) 画电路图。
根据激励方程和输出方程,画出具体实现的电路图。
(6) 检查电路的自启动特性。
电路的自启动能力比较重要,若设计出的电路不具备自启动能力,必须采取措施加以修改。例如,可以在电路开始时加置初态,或修改逻辑设计等。
下面通过实例说明同步时序逻辑电路的设计方法。
【例55】某引爆装置,当引爆开关X闭合后(X=1),经过4个时钟脉冲周期,即电路的输入序列X=1111时,发出引爆信号(Z=1),使炸药包爆炸。试设计该引爆装置的具体电路。
解: 根据题意画出引爆装置的示意框图和典型的时序图,如图517所示。


图517引爆装置的示意框图和典型的时序图


设引爆电路的初始状态为S0,当电路接收到第一个1时,电路的状态由S0转移到S1,输出0; 当接收到第二个1时,电路状态由S1转移到S2,输出0; 当接收到第三个1时,电路状态由S2转移到S3,输出0; 当接收


图518原始状态转换图


到第四个1时,输出Z为1,引爆装置发出引爆信号,炸药爆炸。一次引爆成功结束,电路就回到初始状态S0。
当电路处于状态S1、S2或S3时,如果输入X为0,则此次引爆将被终止,电路回到初始状态S0,等待下一个引爆序列。
按照以上分析,建立如下解题步骤。
(1) 建立原始状态转换图(状态转换表)。
根据分析建立原始状态转换图,如图518所示。
图518对应的原始状态转换表见表56。


表56原始状态转换表



现态

次态/输出

X=0X=1

S0S0/0S1/0
S1S0/0S2/0
S2S0/0S3/0
S3S0/0S0/1
(2) 状态化简。
由表56可知,不存在等效状态,故图518为最简状态图,表56为最简状态表。
(3) 状态分配。
在表56中,状态S0出现的次数最多,因此设状态S0的编码为00。按照相邻编码的分配原则,可依次得到状态S1的编码为01,状态S2的编码为10,状态S3的编码为11。
(4) 确定触发器类型,列出电路激励表,求出相应方程组。
电路有4个状态,需要用到两个触发器,若选用JK触发器,则可做出表57所示的电路的激励和输出表。


表57电路的激励和输出表



输入现态次态激 励 函 数输出

XQn1Qn0Qn+11Qn+10J1K1J0K0Z
000000d0d0
001000dd10
01000d10d0
01100d1d10
100010d1d0
101101dd10
11011d01d0
11100d1d11
根据表57,可以做出J1、K1、J0、K0、Z的卡诺图,如图519所示,并可求出其对应的激励函数和输出函数。


图519引爆装置激励函数和输出函数的卡诺图


由图519求出对应的激励方程和输出方程如下。
J1=XQn0K1=Qn0+J0=XK0=1Z=XQn1Qn0
(5) 画电路图。
由以上方程可以画出引爆装置的逻辑电路图,如图520所示。


图520引爆装置的逻辑电路图



(6) 检查电路自启动能力。
该电路不存在无效状态,故能够自启动。

【例56】试设计自动售货机投币控制电路。要求: 每次只能投入一枚五角或一元的硬币,投满2元后货物送出,若有余钱,也同时找回。
解: 根据题意,电路有两个输入X1、X0,分别表示一元和五角的输入,有两个输出Y1、Y0,分别表示货物送出的驱动信号和找回的五角钱。
设电路的初始状态为S0,输入输出写成X1X0/ Y1Y0的形式,即
X1X0=00表示没有钱输入; 
X1X0=01表示五角钱的输入; 
X1X0=10表示一元钱的输入; 
Y1Y0=00表示无任何输出; 
Y1Y0=10表示有货物输出; 
Y1Y0=11表示有货物输出的同时找回五角钱。
电路状态有4个: 初始状态S0,表示没有钱投入; S1状态表示有五角钱输入; S2状态表示有一元钱输入; S3状态表示有一元五角钱输入。若有两元钱输入,则有货物输出,同时电路回到初始状态S0; 若有两元五角钱输入(即S3状态下又有一元钱输入),则有货物输出的同时找回五角钱,电路仍然回到初始状态S0。
(1) 建立原始状态转换图(状态转换表)。
根据以上分析,自动售货机的原始状态转换图如图521所示。


图521自动售货机的原始状态转换图


将原始状态图表示的状态转换关系用表格形式表示,就得到了自动售货机的原始状态转换表,见表58。


表58自动售货机的原始状态转换表



现态

次态/输出

X1X0=00X1X0=01X1X0=10X1X0=11

S0S0/00S1/00S2/00d/d
S1S1/00S2/00S3/00d/d
S2S2/00S3/00S0/10d/d
S3S3/00S0/10S0/11d/d
(2) 状态化简。
由表58可知,状态已不能化简。
(3) 状态分配。
设状态分配为: 状态S0的编码为00,状态S1的编码为01,状态S2的编码为10,状态S3的编码为11。
(4) 确定触发器类型,列出电路激励表,求出相应方程组。
电路有4个状态,需要用到两个触发器,若选用JK触发器,则可做出表59所示的自动售货机的激励和输出表。


表59自动售货机的激励和输出表



输入现态次态激 励 函 数输出

X1X0Q1Q0Qn1Qn0J1K1J0K0Y1Y0

0
0
0
0
0
0
0
d
0
d
0
0
0
0
0
1
0
1
0
d
d
0
0
0
0
0
1
0
1
0
d
0
0
d
0
0
0
0
1
1
1
1
d
0
d
0
0
0
0
1
0
0
0
1
0
d
1
d
0
0
0
1
0
1
1
0
1
d
d
1
0
0
0
1
1
0
1
1
d
0
1
d
0
0
0
1
1
1
0
0
d
1
d
1
1
0
1
0
0
0
1
0
1
d
0
d
0
0
1
0
0
1
1
1
1
d
d
0
0
0
1
0
1
0
0
0
d
1
0
d
1
0
1
0
1
1
0
0
d
1
d
1
1
1
1
1
0
0
d
d
d
d
d
d
d
d
1
1
0
1
d
d
d
d
d
d
d
d
1
1
1
0
d
d
d
d
d
d
d
d
1
1
1
1
d
d
d
d
d
d
d
d
根据表59,可以做出J1、K1、J0、K0、Y1、Y0的卡诺图,如图522所示,并可求出其对应的激励函数和输出函数。



图522自动售货机的激励函数和输出函数的卡诺图


由图522可求出对应的激励方程和输出方程如下。
J1=X1+X0Qn0K1=X1+X0Qn0J0=X0K0=X0+X1Qn1

Y1=X1Qn1+X0Qn1Qn0Y0=X1Qn1Qn0



(5) 检查电路自启动能力。
该电路不存在无用状态,故能够自启动。
(6) 画电路图。
由激励方程和输出方程可以画出自动售货机的逻辑电路图,如图523所示。


图523自动售货机电路图



【例57】试用主从D触发器设计一个“100”序列检测器,被检测序列信号为串行输入的随机码,当出现“100”序列时,检测器输出1,否则输出0。要求: 检测器由CP同步驱动,并给定序列信号与CP同步运行。
解: 由于输入信号是串行的脉冲序列,为了在序列中识别出100序列,必须使电路具有记忆能力,即电路要能利用其内部状态记住前面输入了10,并接着再输入一个0,输出才为1。因此,该电路应是一个时序逻辑电路,设其输入为X,输出为Y,并由CP同步控制。


图524原始状态图


(1) 设定电路状态,作原始状态图。
设S0状态记忆已输入了一个或多个1; 

S1状态记忆已输入了一个或多个10; 

S2状态记忆已输入了一个或多个100; 

S3状态记忆已输入了3个或3个以上的0。
按功能要求画出原始状态图,如图524所示。
由原始状态图列出原始状态表,见表510。


表510原始状态表



现态

次态/输出

X=0X=1

S0S1/0S0/0
S1S2/1S0/0
S2S3/0S0/0
S3S3/0S0/0
(2) 状态化简。
由表510可知,S2和S3状态在相同输入条件下,其次态相同,输出也一样。因此,S2和S3为等效状态,可以合并为一个状态。将表510中的S3都用S2代替,得到化简后的状态表(表511)。


表511化简后的状态表



现态

次态/输出

X=0X=1

S0S1/0S0/0
S1S2/1S0/0
S2S2/0S0/0
由表511可得到简化的状态图,如图525所示。


图525简化的状态图


(3) 状态编码。
本例有3个状态S0、S1、S2,需要两个触发器。根据编码分配原则,可选S0=00,S1=01,S2=11。将对应的编码代入表511,得到表512。


表512转换表



现态

次态/输出

X=0X=1

0001/000/0
0111/100/0
1111/000/0
(4) 列出电路激励表,求出相应方程组。
由以上分析可知,电路需要用到两个D触发器。根据表512可做出表513。


表513真值表



输入现态次态输出

XQn1Qn0Qn+11Qn+10Y

0
0
0
0
1
0
0
0
1
1
1
1
0
1
0
d
d
d
0
1
1
1
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
1
0
d
d
d
1
1
1
0
0
0
由表513可做出Qn+11、Qn+10的卡诺图,如图526所示。由于D触发器的特性方程Qn+1=D,所以可求出电路的激励函数和输出函数。


图526卡诺图


(5) 检查电路自启动能力。
该电路有一个无用状态10,把Qn1Qn0=10代入方程Qn+11=D1=Qn0、Qn+10=D0=和Y=Qn1Qn0,得到电路的下一状态Qn+11Qn+10=0,Y=0。由此可以看出,无效状态10在时钟脉冲作用下,能够回到有效状态00或01,而且电路没有错误输出。因此,电路能够自启动。
(6) 画电路图。
由方程Qn+11=D1=Qn0、Qn+10=D0=和Y=Qn1Qn0可以画出如图527所示的“100”序列检测器的逻辑电路图。


图527“100”序列检测器的逻辑电路图


5.3.2异步时序逻辑电路的设计
异步时序逻辑电路的设计方法与同步时序逻辑电路的设计方法相似。但是,由于异步时序逻辑电路没有统一的时钟脉冲,因此,在设计过程中,除了参考同步时序逻辑电路的设计步骤外,还需要在选定触发器类型后,为每个触发器选择合适的时钟脉冲信号,即确定相应的时钟方程。
下面通过实例介绍异步时序逻辑电路的设计方法和步骤。
【例58】设计一个异步六进制加法计数器,计数到5时,输出高电平。采用下降沿JK触发器实现。
解: 
(1) 根据设计要求作原始状态图,如图528所示。


图528异步六进制加法计数器原始状态图


(2) 状态化简。
原始状态图已经最简,同时注意到本例有两个无用状态110和111。
(3) 状态编码。
将最简状态图转换成用二进制状态表示的最简状态表,见表514。


表514最简状态表



现态次态输出

Qn2Qn1Qn0Qn+12Qn+11Qn+10Z

0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
(4) 写出激励函数和输出函数表达式。
采用3个触发器,根据表514,可得到输出函数表达式为
Z=Qn2Qn1Qn0
表514对应的波形图如图529所示。


图529异步六进制计数器波形图


根据Q的变化,先确定触发器的时钟函数表达式,然后确定JK表达式。
选取各触发器时钟方程的原则是: 触发器翻转时,必须产生触发脉冲; 触发器无须翻转时,最好不产生触发脉冲,即在完成状态变化的情况下,尽可能取脉冲数量少的作为触发脉冲信号。
根据这个原则,观察图529可知,触发器Q0的时钟只能取自X(计数脉冲),只要X有负跳变(下降沿),当J0=K0=1时就能满足这一要求。
对于触发器Q1,用Q0作为Q1的时钟最合适。由于Q0第3个下降沿来到后,要求Q1不变化,所以必须使激励函数J1、K1的表达式满足要求。
对于触发器Q2,用Q0作为Q2的时钟也最合适。但从波形图看,Q0的第1个下降沿和第4个下降沿要求Q2不变化,所以也必须使J2、K2的表达式满足要求。
根据以上分析,可以画出如图530所示的卡诺图,由于只有一个输入X,所以在画状态表时为了直观,没有把X表示出来,但在时钟CP的表达式中应该明确写上X,以表示有输入信号,才有时钟信号。


图530JK表达式


还有一种计算激励函数的方法: Q0的激励函数J0=K0=1不需要计算。由于触发器Q2和Q1的时钟是同一个Q0,所以这两个触发器的激励函数J2、K2、J1、K1可以按照同步时序逻辑电路的方法一次计算出来,见表515。


表515激励表



现态次态激 励 函 数

Qn2Qn1Qn0Qn+12Qn+11Qn+10J2K2J1K1

0
0
0
0
0
1
d
d
d
d
0
0
1
0
1
0
0
d
1
d
0
1
0
0
1
1
d
d
d
d
0
1
1
1
0
0
1
d
d
1
1
0
0
1
0
1
d
d
d
d
1
0
1
0
0
0
d
1
0
d
由表515同样可以得到激励函数J2=Qn1、K2=1、J1=Qn2、K1=1。
(5) 检查电路能否自启动。
在逻辑设计时有两个无用状态,根据CP和JK的表达式,分别检查每个无用状态的次态,见表516。


表516无用状态表



现态时钟和激励次态

Qn2Qn1Qn0CP2J2K2CP1J1K1CP0J0K0Qn+12Qn+11Qn+10

1
1
0
0 1 1
0 0 1
1 1 1
1
1
1
1
1
1
1 1 1
1 0 1
1 1 1
0
0
0
根据表516的状态变化可知: 110→111→000,无用状态经过一次或两次变化后,均变为有用状态,所以电路可以自启动。
(6) 画逻辑电路图。
根据时钟、激励和输出方程画逻辑电路图,如图531所示。


图531异步六进制加法计数器逻辑电路图


【例59】设计一个“x1-x2-x2”序列检测器。电路框图如图532(a)所示。它有两个输入x1和x2,当x1输入一个脉冲,x2连续输入两个脉冲时,输出端Z才会输出一个脉冲,波形图如图532(b)所示。另外,假设x1、x2不会同时有输入脉冲。


图532序列检测器


解: 
(1) 根据设计要求,作原始状态图(表)。
假设x1和x2都没有脉冲输入时,电路处于S0状态。电路转换过程如下。
电路为S0状态: 当x1有脉冲输入时,这是电路需要识别的第1个信号,则令状态转换到S1; 若电路处在S0状态时,x2有脉冲输入,则电路不应做出反应,仍应处于S0状态不变。
电路为S1状态: x1有脉冲输入,这仍是电路需要识别的第1个信号,所以电路仍停留在S1状态; 当电路在S1状态时,x2有脉冲输入,这是电路需要识别的第2个信号,则令电路转换到S2状态。


图533原始状态图


电路为S2状态: x1有脉冲输入,则电路应转至S1状态,这仍是电路需要识别的第1个信号; 若x2有脉冲输入,这是电路需要识别的第3个信号,则令电路转换到S3状态,同时令Z=1有输出脉冲。
电路为S3状态: x1有脉冲输入,则电路转至S1状态; 若x2有脉冲输入,这不是电路要识别的状态,电路应转至S0状态。
根据以上分析,可画出如图533所示的原始状态图和表517所示的原始状态转换表。


表517原始状态转换表



现态

次态/输出

X=x1X=x2

S0S1/0S0/0
S1S1/0S2/0
S2S1/0S3/1
S3S1/0S0/0
(2) 状态化简。
观察表517,在相同输入条件下,S0、S3、次态和输出都是相同的,因此S0和S3是等效状态,可以合并为一个状态S3。将表517中的所有S0换成S3,即可得到化简后的状态表,见表518。


表518化简后的状态转换表



现态

次态/输出

X=x1X=x2

S1S1/0S2/0
S2S1/0S3/1
S3S1/0S3/0
(3) 状态编码。
观察表518,3个状态共需要两个触发器,结合状态编码规则,可给S1分配00编码,给S2分配01编码,给S3分配10编码。将表518转换成用二进制状态表示的最简状态表,见表519。


表519二进制最简状态表



现态

次态/输出

X=x1X=x2

0000/001/0
0100/010/1
1000/010/0
(4) 写出激励函数和输出函数表达式。
假设本例采用D触发器实现,触发器状态不变时,可设时钟信号CP=0,输入信号D为任意; 当触发器状态变化时,必须使CP=1,此刻输入信号D的值等于次态的值。根据表519可以列出电路的激励、时钟和输出表,见表520。


表520激励、时钟和输出表



输入现态次态时钟和激励输出

x1x2Qn1Qn0Qn+11Qn+10CP1D1CP0D0Z

0
0
0
0
0
0
0d
0d
0
0
0
0
1
0
1
0d
0d
0
0
0
1
0
1
0
0d
0d
0
0
1
0
0
0
1
0d
11
0
0
1
0
1
1
0
11
10
1
0
1
1
0
1
0
0d
0d
0
1
0
0
0
0
0
0d
0d
0
1
0
0
1
0
0
0d
10
0
1
0
1
0
0
0
10
0d
0
由表520可以画出如图534所示的卡诺图。


图534卡诺图



由卡诺图可求出电路的时钟方程、激励方程和输出方程为
CP1=x2Qn0+x1Qn1,CP0=x2Qn1+x1Qn0,D1=Qn1,D0=Qn0,Z=x2Qn0

(5) 检查电路能否自启动。
在逻辑设计时有一个无用状态11,根据CP、D和Z的表达式,检查11无用状态的次态,见表521。


表521无用状态表



输入现态次态时钟和激励输出

x1x2Qn1Qn0Qn+11Qn+10CP1D1CP0D0Z

0
1
1
1
0
1
10
00
1
1
0
1
1
0
0
10
10
0
由无用状态表521可知,无用状态11在时钟脉冲作用下能够回到有用状态01或00,电路能够自启动。但是,在x2作用下,电路输出Z为1,这是一个错误的输出。错误的原因是由于Qn1Qn0=11时,Z卡诺图中对应的4个最小项被当作无关项处理。为了得到正确的输出Z,这4个最小项的取值只能为0。因此,需要通过修改Z的卡诺图修改电路,如图535所示。


图535卡诺图修改图


由修改后的卡诺图可得到最终输出Z=x2Qn1Qn0。
(6) 画出逻辑电路图。
根据时钟、激励和输出方程: CP1=x2Qn0+x1Qn1,CP0=x2Qn1+x1Qn0,D1=Qn1,D0=Qn0,Z=x2Qn1Qn0画逻辑电路图,如图536所示。


图536电路图


5.4寄存器
寄存器是常用的时序逻辑电路之一,主要用来存放数码、运算结果或指令等二进制信息。它除了可实现对数据的接收、保存、传送和清除等基本功能外,根据需要,有的还具有移位、串/并输入、串/并输出以及预置等功能。
寄存器主要由触发器和一些控制门组成,其结构简单且有规律,一般可从触发器和门电路的基本功能出发直接分析。下面分别介绍基本寄存器和移位寄存器的功能、原理及应用。
5.4.1基本寄存器
基本寄存器通常是由若干个D触发器组成的逻辑部件。一位触发器可寄存一位二进制信息,要寄存n位二进制信息,则需要n个触发器。图537所示为D触发器组成的4位寄存器电路。
图537中,D3~D0为并行数据输入端,Q3~Q0为并行数据输出端,CR为寄存器清零端。CR=0时,寄存器被清零,即Q0Q1Q2Q3=0000; 寄存器正常工作时,CR=1,在时钟脉冲信号CP↑到来时,将输入端数据保存到触发器Q端; 当输出控制信号有效时,可将保存在触发器Q端的数据经三态控制门传送出去,即Q0Q1Q2Q3=D0D1D2D3。


图5374位寄存器电路


除了D触发器外,其他同步触发器、主从触发器、边沿触发器均可构成基本寄存器,这里不一一列举。
5.4.2移位寄存器
在时钟脉冲控制下,能够将寄存的数据向左(右)移动的寄存器称为移位寄存器。移位寄存器不但可以存放代码,还可以依靠移位功能实现数据的串并转换、数据运算及处理等功能。
移位寄存器的构成比较简单。图538为4位右移移位寄存器的逻辑电路图。


图5384位右移移位寄存器的逻辑电路图


由图538可知,只需将左边一位触发器的输出端Q接到右边一位触发器的D输入端,同时将所有触发器的时钟端连接起来,用同步时钟脉冲CP进行控制即可。
用同样的方法可构成左移移位寄存器,即将右边一位触发器的输出端Q接到左边一位触发器的D输入端,所有触发器共用同一时钟脉冲CP,如图539所示。


图5394位左移移位寄存器电路


将右移移位寄存器和左移移位寄存器组合在一起,在控制电路的控制下,就可构成双向移位寄存器。


图5404位双向移位寄存器74LS194
的逻辑符号图


实际应用中,常常采用中规模通用移位寄存器。图540是4位双向移位寄存器74LS194的逻辑符号图。


图540中,D3~D0为并行数据输入端,Q3~Q0为并行数据输出端; CR为清零端; DSL为左移串行数据输入端,DSR为右移串行数据输入端; M1和M0为工作方式控制端。
4位双向移位寄存器74LS194的功能见表522。


表5224位双向移位寄存器74LS194的功能表





输 入 变 量输 出 变 量

CRM1M0CPDSLDSRD0D1D2D3Q0Q1Q2Q3
说明

0
×
×
×
×
×
×
×
×
×
0
0
0
0
清零

1
×
×
0
×
×
×
×
×
×
保持

1
1
1
↑
×
×
d0
d1
d2
d3
d0
d1
d2
d3
并行置数
1
0
1
↑
×
1
×
×
×
×
1
Q0
Q1
Q2
右移输入1
1
0
1
↑
×
0
×
×
×
×
0
Q0
Q1
Q2
右移输入0
1
1
0
↑
1
×
×
×
×
×
Q1
Q2
Q3
1
左移输入1
1
1
0
↑
0
×
×
×
×
×
Q1Q2Q3
0
左移输入0

1
0
0
×
×
×
×
×
×
×
保持



从表522可知,74LS194具有以下功能。
(1) 清零功能。CR=0时,对寄存器清零。Q0Q1Q2Q3=0000。
(2) 保持功能。CR=1,且CP=0或M1M0=00时,寄存器状态保持不变。
(3) 并行置数功能。CR1且M1M0=11时,在CP↑作用下,D3~D0输入端的数据d3~d0并行置入寄存器。
(4) 串行右移功能。CR=1且M1M0=01时,在CP↑作用下,执行右移功能,可依次将加在DSR端的数据串行右移入寄存器。
(5) 串行左移功能。CR=1且M1M0=10时,在CP↑作用下,执行左移功能,可依次将加在DSL端的数据串行左移入寄存器。
5.4.3寄存器的应用
寄存器除完成预定功能外,在数字系统逻辑设计中还能用来构成计数器和脉冲序列发生器等。例如移位寄存器,还可以用来实现序列检测、序列产生、串行加法器、数据的并串转换等。下面举一个脉冲序列发生器的例子。
【例510】用一片74LS194和适当的逻辑门构成产生序列10011001的脉冲序列发生器。
解: 序列信号发生器可由移位寄存器和反馈逻辑电路构成,其结构框图如图541所示。
由产生的序列10011001可知,序列发生器产生的序列周期为P=8,因此需要移位寄存器的级数(触发器个数)为3。设输出序列Z=a7a6a5a4a3a2a1a0,图542列出了所要产生的序列(以P=8周期重复,最右边信号先输出),图中数码下面的水平线段表示移位寄存器的状态。


图541序列发生器结构框图




图542移位寄存器状态



将a7a6a5=100作为寄存器的初始状态,即Q2Q1Q0=100,从Q2产生输出,并由反馈电路依次形成a4a3a2a1a0 a7a6a5作为右移串行输入端DSR的输入,这样便可在时钟脉冲作用下产生规定的输出序列。电路工作状态表见表523。


表523电路工作状态表



CPF(DSR)Q0Q1Q2

0
1
0
0
1
1
1
1
0
0
2
0
1
1
0
3
0
0
1
1
4
1
0
0
1
5
1
1
0
0
6
0
1
1
0
7
0
0
1
1
由表523可得到反馈函数F的逻辑表达式为
F=Q2Q1Q0+Q2Q1Q0
根据F表达式和74LS194的功能表,可画出该序列发生器的逻辑电路图,如图543所示。


图543时序脉冲发生器的逻辑电路图


该电路的工作过程: 在M1M0的控制下,先置寄存器74LS194的初始状态为Q2Q1Q0=100,然后令其工作在右移串行输入方式,在Z端产生需要的脉冲序列。
5.5计数器
计数器是数字系统中应用最广泛的时序逻辑电路之一,常用于定时、分频、控制和信号产生电路中,其功能是对输入时钟脉冲CP的个数进行累计。累计的脉冲个数称为计数器的模(又称计数长度,实际上就是电路的有效状态数),用N表示。例如,N=5的计数器表示计数器的模为5,也称五进制计数器。
计数器种类很多,特点各异。通常有以下几种不同的分类方法。
(1) 按数制分类: 二进制计数器、十进制计数器。
(2) 按计数功能分类: 加法计数器、减法计数器、加/减(可逆)计数器。
(3) 按触发器翻转方式分类: 同步计数器、异步计数器。
这几种分类方法互相融和,例如,在同步计数器中,又可以根据进位制或者计数增减进一步详细分类。
利用计数器实现电路设计时,掌握计数器芯片型号、功能及正确使用方法是非常重要的。通过器件手册、相关资料或网页的电子文档,读懂产品的符号、型号、引脚图及功能表等有关参数,进而灵活应用计数器,这是学习集成器件必须掌握的一项基本技能。
下面介绍几种常用的集成计数器芯片。
5.5.1同步计数器
1. 同步二进制计数器

1) 同步二进制加法计数器
图544为同步四位二进制加法计数器74LS161的引脚图。


图54474LS161的引脚图



图544中,LD为同步置数控制端,CR为异步清零端,CTP和CTT为计数控制端,D3~D0为并行数据输入端,Q3~Q0为并行数据输出端,CO为进位输出端。74LS161的功能表见表524。


表52474LS161功能表




输 入 变 量输 出 变 量

CRLDCTPCTTCPD3D2D1D0Q3Q2Q1Q0

说明

0
×
×
×
×
×
×
×
×
0
0
0
0
异步清零,CO=0
10
×
×
↑
d3d2d1d0d3d2d1d0
CO=CTTQ3Q2Q1Q0

1
1
1
1
↑
×
×
×
×
计数
CO=Q3Q2Q1Q0
1
1
0
×
×
×
×
×
×
保持
CO=CTTQ3Q2Q1Q0
1
1
×
0
×
×
×
×
×
保持
CO=0
74LS161的主要功能有: 
(1) 异步清零功能。CR=0时,不论有无时钟脉冲信号CP和其他输入信号,计数器都被清零,即Q3Q2Q1Q0=0000。
(2) 同步并行置数功能。CR=1、LD=0时,在输入时钟脉冲信号CP↑到来时,并行输入的数据d3~d0被置入计数器,即Q3Q2Q1Q0=d3d2d1d0。
(3) 加法计数功能。当LD=CR=CTP=CTT=1时,计数器对CP信号按四位二进制数的自然顺序进行加法计数。
(4) 保持功能。LD=CR=1且CTP·CTT=0时,计数器状态保持不变。这时若CTP=0、CTT=1,则CO=CTTQ3Q2Q1Q0=Q3Q2Q1Q0,即进位输出信号CO保持不变; 若CTP=1、CTT=0,则CO=0,即进位输出为0。
2) 同步二进制加/减法计数器
74LS191是同步四位二进制可逆(加/减)计数器。除了计数功能外,它还具有异步预置数和计数值保持功能。图545是74LS191的引脚图。


图54574LS191的引脚图


图545中,LD为预置控制端,具有最高优先级,LD为“0”时,预置数据通过D3~D0并行输入端置入计数器,实现异步预置功能。计数器的保持功能由CT控制,
CT=0,可进行正常计数; CT=1,计数器保持原状态不变。/D是计数器加/减控制端,/D=0,进行加法计数; /D=1,进行减法计数。CO/BO为进位/借位输出端。RC为行波时钟输出端(低电平有效),利用RC端,可级联成N位同步计数器。当采用并行CP时钟控制时,则将RC接到后一级CT端; 当采用并行CT控制时,则将RC接到后一级CP时钟端。RC=CP·CO/BO·CT

。当CT=0、CO/BO=1时,RC=CP,所以,RC端产生的输出进位/借位脉冲与输入计数脉冲是相同的。74LS191的功能表见表525。


表52574LS191的功能表





输 入 变 量输 出 变 量

LDCT/DCPD3D2D1D0Q3Q2Q1Q0
说明

0×××
d3d2d1d0d3d2d1d0异步置数

1
0
0
↑
×
×
×
×
加法计数

1
0
1
↑
×
×
×
×
减法计数

1
1
×
×
×
×
×
×
保持

2. 同步十进制计数器
1) 同步十进制加法计数器
图546为同步十进制加法计数器74LS160的引脚图。


图546同步十进制加法计数器74LS160的引脚图


图546中,LD为同步置数控制端,CR为异步清零控制端,CTP和CTT为计数控制端,D3~D0为并行数据输入端,Q3~Q0为并行数据输出端,CO为进位输出端。74LS160的功能表见表526。


表52674LS160的功能表




输 入 变 量输 出 变 量

CRLDCTPCTTCPD3D2D1D0Q3Q2Q1Q0
说明

0
×
×
×
×
×
×
×
×
0
0
0
0
异步清零, CO=0
1
0
×
×
↑d3d2d1d0d3d2d1d0

同步置数CO=CTTQ3Q0

1
1
1
1
↑
×
×
×
×
加法计数
CO=Q3Q0
1
1
0
×
×
×
×
×
×
保持
CO=CTTQ3Q0
1
1
×
0
×
×
×
×
×
保持
CO=0
74LS160的主要功能有: 
(1) 异步清零功能。CR=0时,不论有无时钟脉冲信号CP和其他输入信号,计数器都被清零,即Q3Q2Q1Q0=0000。
(2) 同步并行置数功能。CR=1、LD=0时,在输入时钟脉冲信号CP↑到来时,并行输入的数据d3~d0被置入计数器,即Q3Q2Q1Q0=d3d2d1d0。
(3) 加法计数功能。LD=CR=CTP=CTT=1时,计数器对CP信号按照8421 BCD码的规律进行十进制加法计数。
(4) 保持功能。LD=CR=1且CTP·CTT=0时,计数器状态保持不变。这时若CTP=0、CTT=1,则CO=CTTQ3Q0=Q3Q0,即进位输出信号CO保持不变; 若CTP=1、CTT=0,则CO=CTTQ3Q0=0,即进位输出为0。
2) 同步十进制加/减(可逆)计数器
图547为同步十进制加/减(可逆)计数器74LS190的引脚图。


图547同步十进制加/减(可逆)计数器74LS190的引脚图


图547中,LD为异步置数控制端,CT为计数器控制端,D3~D0为并行数据输入端,Q3~Q0为并行数据输出端,/D为加/减计数器方式控制端,CO/BO为进位输出/借位输出端,RC为行波时钟输出端。虽然74LS190没有专用清零输入端,但可借助数据D3D2D1D0=0000实现计数器的清零功能。
74LS190的功能表见表527。


表52774LS190的功能表




输 入 变 量输 出 变 量

LDCT/DCPD3D2D1D0Q3Q2Q1Q0
说明

0
×
×
×
d3
d2
d1
d0
d3
d2
d1
d0
并行异步置数

1
0
0
↑
×
×
×
×
加法计数CO/BO=Q3Q0
1
0
1
↑
×
×
×
×
减法计数
CO/BO=Q3Q2Q1Q0
1
1
×
×
×
×
×
×
保持
保持
74LS190的主要功能有: 
(1) 异步置数功能。LD=0时,无论有无时钟脉冲CP等信号输入,并行输入的数据d3d2d1d0都被置入计数器,即Q3Q2Q1Q0=d3d2d1d0。
(2) 加法计数功能。LD=1、CT=0、/D=0时,在CP↑作用下,进行十进制加法计数。
(3) 减法计数功能。LD=1、CT=0、/D=1时,在CP↑作用下,进行十进制减法计数。
(4) 保持功能。LD=CT=1时,计数器保持原状态不变。
行波时钟输出端RC的作用是多级级联。根据级联方式的不同,RC接后一级电路的CP端(串行)或接后一级电路的CT端(全同步计数)。
5.5.2异步计数器
74LS290为集成异步二五十进制计数器,其内部由一个(一位)二进制计数器和一个五进制计数器组成。图548是异步二五十进制计数器74LS290的引脚图。


图548异步二五十进制计数器74LS290的引脚图


图中,R0A和R0B为清零输入端,S9A和S9B为置9输入端。74LS290的功能见表528。


表52874LS290的功能表




输 入 变 量输 出 变 量

R0A·R0BS9A·S9BCPQ3Q2Q1Q0说明

1
0
×
0
0
0
0
清零
0
1
×
1
0
0
1
置9

0
0
↓
计数

74LS290的主要功能有: 
(1) 异步清零功能。R0=R0A·R0B=1、S9=S9A·S9B=0时,计数器清零,即Q3Q2Q1Q0=0000。
(2) 异步置9功能。R0=R0A·R0B=0、S9=S9A·S9B=1时,计数器置9,即Q3Q2Q1Q0=1001。
(3) 计数功能。R0=R0A·R0B=0、S9=S9A·S9B=0时,计数器处于计数工作状态,具体分为下面4种情况。
① 计数脉冲由CP0端输入、Q0输出,构成一位二进制计数器。
② 计数脉冲由CP1端输入、Q3Q2Q1输出,构成异步五进制计数器。
③ 将Q0与CP1相连,计数脉冲由CP0端输入,Q3Q2Q1Q0输出,构成8421 BCD码异步十进制计数器。
④ 将Q3与CP0相连,计数脉冲由CP1端输入,从高位到低位输出为Q0Q3Q2Q1,构成5421 BCD码异步十进制计数器。
5.5.3计数器的应用
计数器的应用非常广泛。除了用于计数外,以计数器为核心,附加其他外围电路,还可以构成实现计时、分频、产生周期序列信号等功能的电路。
下面列举一个由同步四位二进制加法计数器74LS161和八选一数据选择器74LS151构成的“00010111”序列信号发生器电路,如图549所示。


图549“00010111”序列信号发生器电路


在CP时钟脉冲信号的作用下,四位二进制计数器74LS161低3位的状态按照000→001→010→011→100→101→110→111→000的循环计数。由于这3位的输出作为八选一数据选择器74LS151的地址端输入变量,随着状态的变化,D7~D0的状态就出现在端。通过定义数据选择器输入端的状态,就可以在输出端得到不同的序列信号输出。
5.6本 章 小 结
时序逻辑电路是一种具有记忆功能的逻辑电路,主要由组合逻辑电路和存储电路两部分组成。描述时序逻辑电路的方程有3种: 输出方程、状态方程和激励方程。按照电路中所有触发器状态是否同时发生变化,时序逻辑电路可分为同步和异步两种; 按照电路中输出信号的不同特性,时序逻辑电路可分为Mealy型和Moore型两种。
时序逻辑电路的描述方式有电路图、电路方程、状态转换真值表、状态转换图(简称状态图)、时序图(波形图)。各种描述方式从不同侧面突出电路特点,并使获得的结果形象、直观。时序逻辑电路的分析过程就是根据已知电路图,给出电路的其他描述方式,然后结合各种描述方式的特点,描述电路实现的逻辑功能。时序逻辑电路的设计是分析的逆过程,即根据命题(电路功能的文字描述)要求建立原始状态图(表),化简并分配状态编码,根据图表求出电路方程,最后根据方程画出实现命题功能要求的电路图。
计数器和寄存器是最常见的典型时序逻辑电路。计数器可以实现对输入时钟脉冲CP个数的累计,常用于定时、分频、控制和信号产生电路中。寄存器主要用来暂时存放数码、运算结果或指令等二进制信息,也可以依靠移位功能实现数据的串并转换、数据运算及处理等功能。
5.7习题和自测题
习题(答案见附录D)
1. 时序逻辑电路和组合逻辑电路有何不同?描述时序逻辑电路需要几种不同的方程?
2. Moore型同步时序逻辑电路和Mealy型同步时序逻辑电路有何区别?
3. 同步时序逻辑电路与异步时序逻辑电路有何不同?
4. 同步时序逻辑电路分析的步骤是什么?
5. 做出“1011”序列检测器的状态图。典型的输入输出序列如下。

输入X: 1010101101100011110110001

输出Z: 0000000100100000000010000
6. 什么是寄存器?什么是计数器?计数器可以分为几类?
7. 分析图550所示的同步时序逻辑电路。写出电路方程,列出状态转换真值表,做出状态图和时序图。设电路初始状态Q2Q1Q0=000。


图550习题7同步时序逻辑电路


8. 分析图551所示的同步时序逻辑电路。写出电路方程,列出状态转换真值表,做出状态图和时序图,并说明该电路的功能。


图551习题8同步时序逻辑电路


9. 分析图552所示的异步时序逻辑电路,并说明该电路的功能。


图552习题9异步时序逻辑电路


10. 分析图553所示的异步计数器。


图553习题10异步时序逻辑电路


11. 试用JK触发器设计一个可控计数器,当控制端C=1时,实现000→100→110→111→011→000; 当C=0时,实现000→110→010→011→111→000。
12. 试用JK触发器设计一个“0010”串行序列检测器(可重叠)。
13. 试用JK触发器设计一个同步六进制减法计数器。
14. 试用D触发器设计一个同步八进制加法计数器。
15. 试用74LS160构成一个能对时钟脉冲进行100分频的分频电路。
16.  试用74LS160和74LS151(八选一数据选择器)构成“11010”序列信号发生器,并画出电路图。
17.  图554是一个十字路口交通信号灯的示意图。要求: 
① 平时的状态为: 主干道绿灯亮、支干道红灯亮。为了保持主干道通畅,主干道绿灯亮的时间不得少于60s。


图554习题17十字路口交通信号灯的示意图


② 当支干道有车,且主干道绿灯亮的时间达到60s后,转到主干道红灯亮、支干道绿灯亮的状态,但支干道绿灯亮的时间不得超过30s。
③ 主、支干道绿灯变红灯时,黄灯先亮5s。
请设计该交通信号灯的同步时序控制电路。
18. 分析图555所示电路的功能。


图555习题18异步时序逻辑电路


19. 设电路状态转换图如图556所示,试利用JK触发器设计一个异步计数器,并检查其自启动能力。


图556习题19电路状态转换图


20. 设计一个异步十进制加法计数器。
自测题(答案见附录D)
一、 单选题
1. 同步时序逻辑电路和异步时序逻辑电路比较,差异在于后者()。

(A) 没有稳定状态(B) 没有统一的时钟脉冲控制
(C) 输入数据是异步的(D) 输出数据是异步的
2. n个触发器可以构成能寄存()位二进制数码的寄存器。
(A) n(B) 2n(C) 2n(D) n2
3. 时序逻辑电路中对于自启动能力的描述是()。
(A) 无效状态自动进入有效循环,称为具有自启动能力
(B) 无效状态在时钟脉冲作用下进入有效循环,称为具有自启动能力
(C) 有效状态在时钟脉冲作用下进入有效循环,称为具有自启动能力
(D) 有效状态自动进入有效循环,称为具有自启动能力
4. 时序逻辑电路中不可缺少的部分为()。
(A) 组合电路(B) 记忆电路
(C) 同步时钟信号(D) 组合电路和记忆电路
5. Moore型时序逻辑电路的输出()。
(A) 与当前输入有关(B) 与当前输入和状态都有关
(C) 与当前状态有关(D) 与当前输入和状态都无关
6. 下列电路中,不属于时序逻辑电路的是()。
(A) 计数器(B) 触发器(C) 寄存器(D) 译码器
7. ()电路在任何时刻只能有一个输入端有效。
(A) 一般二进制编码器(B) 优先编码器
(C) 七段显示译码器(D) 二进制译码器
8. 某时序逻辑电路的波形如图557所示,由此判定该电路是()。
(A) 二进制计数器(B) 十进制计数器(C) 移位寄存器 (D) 以上均不是


图557自测题8的电路


9. 利用1MHz的时钟频率,8个数位可以()并行进入移位寄存器中。
(A) 在1个触发器的传输延迟时间内(B) 在1μs内
(C) 在8μs内(D) 在8个触发器的传输延迟时间内
10. 移位寄存器中的一级由()组成。

(A) 计数器(B) 译码器(C) 触发器(D) 加法器
11. 计数器的模是()。
(A) 触发器的个数(B) 一秒钟内再循环的次数
(C) 状态的最大可能个数(D) 时序中实际的状态个数
12. 4位二进制计数器的最大模是()。
(A) 4(B) 8(C) 16(D) 32
13. 模12计数器必须具有()。
(A) 12个触发器(B) 4个触发器(C) 3个触发器(D) 5个触发器
14. 异步计数器和同步计数器的区别是()。
(A) 时序中状态的个数(B) 时钟脉冲的方法
(C) 使用的触发器类型(D) 模的数值
15. 3个级联的模10计数器的整体模是()。
(A) 1000(B) 100(C) 30(D) 10000
16. 一个10MHz的时钟频率应用在一个级联计数器上,该级联计数器有一个模5计数器、模8计数器和两个模10计数器。最低输出频率可能是()。
(A) 2.5kHz(B) 5kHz(C) 10kHz(D) 25kHz
17. 一个4位二进制加/减计数器处于二进制状态0。那么,在减模式中的下一个状态是()。
(A) 0001(B) 1000(C) 1110(D) 1111
18. 模13二进制计数器的终端计数值是()。
(A) 0000(B) 1100(C) 1101(D) 1111
19. 为了将1B数据并行载入一个具有同步载入的移位寄存器中,必须有()。
(A) 1个时钟脉冲
(B) 8个时钟脉冲
(C) 数据中的每个1都要有1个时钟脉冲
(D) 数据中的每个0都要有1个时钟脉冲
20. 为了将1B数据串行移位到移位寄存器中,必须有()。
(A) 1个时钟脉冲(B) 8个时钟脉冲
(C) 1个置数脉冲(D) 1个复位脉冲
21. 当一个8位串行输入/串行输出移位寄存器用作24μs的时间延迟时,时钟频率必须是()。
(A) 41.67kHz(B) 8kHz(C) 125kHz(D) 333kHz
22. 一组数位10110101串行移位(首先移动最右边的位)到一个8位并行输出移位寄存器中,移位寄存器的初始状态为11100100。在两个时钟脉冲后,该寄存器的状态为()。
(A) 00101101(B) 01011110(C) 01111001(D) 10110101
23. 使用100kHz的时钟频率,8个数位可以在()内串行进入移位寄存器中。
(A) 80μs(B) 80ms(C) 10μs(D) 8μs
24. 描述时序逻辑电路用的方法,下面不正确的是()。
(A) 时序图(B) 曲线图
(C) 状态图(D) 状态转换真值表
25. 一个由触发器组成的4位异步计数器,每个计数器从时钟到Q输出的时间延迟为12ns。计数器从1111循环回到0000,花费的总时间是()。
(A) 12ns(B) 24ns(C) 36ns(D) 48ns
26. 时序逻辑电路输出状态的改变()。
(A) 仅与该时刻的输入信号有关(B) 仅与时序逻辑电路的原状态有关
(C) 答案(A)、(B)都是(D) 答案(A)、(B)都不是
27. Moore和Mealy型时序逻辑电路的本质区别是()。
(A) 没有输入变量
(B) 当时的输出只和当时电路的状态有关,和当时的输入无关
(C) 没有输出变量
(D) 当时的输出只和当时的输入有关,和当时的电路状态无关
28. 8位移位寄存器,串行输入时经()个脉冲后,8位数码全部移入寄存器中。
(A) 1(B) 2(C) 4(D) 8
29. 把一个五进制计数器与一个四进制计数器串联,可得到()进制计数器。
(A) 4(B) 5(C) 20(D) 9
30. 寄存器在电路组成上的特点是()。
(A) 有CP和数码输入端(B) 有CP输入端,无数码输入端
(C) 无CP输入端,有数码输入端(D) 以上都不对
二、 判断题
1. 在一个异步计数器中,所有触发器的状态在同一时间变化。()
2. 一个十进制计数器有16种状态。()
3. 如果当前状态为1000,那么一个在减模式时的4位加/减计数器的下一个状态是0111。()
4. 为了获得100的模,需要10个十进制计数器。()
5. 移位寄存器由一组触发器组成。()
6. 移位寄存器有数据存储和数据移位的功能。()
7. 在串行移位寄存器中,几个数据位同时被输入。()
8. 一个移位寄存器可以具有并行和串行输出。()
9. 在双向移位寄存器中,存储的数据可以右移,也可以左移。()
10. 一个移位寄存器可以作为一个时间延迟电路。()