190第六章时序逻辑电路 10/1 011或000(00)01/1 AB/Y 01/0/0/1 01/0 0/0 图6-9图6-8电路完整的状态转换图 四、用中规模集成的计数器设计任意进制计数器 在常用的屮规模集成时序逻料电路…节中,我们重点介绍了最常用的两种 器件—移位寄存器和计数器。移位寄存器的用法比较简单,不再作进-步讲 解。这里只重点总结、归纳一下用中规模集成的计数器构成仟意进制计数器的 方法和应注意的问题。 解题方法和步骤 若凵有N进制屮规模集成的计数器,需要设计…一个M进制计数器,这时可 能遇到种情况,即N>M和N<M。 1.N>M的情况 只要设法在N进制计数器的计数过程中跳过N-M个状态就可以了。跳 过N-M个状态的方法有两种 ①置零法 置零法的基本原理是当计数器从全0状念(计数器中所有的触发器都是0 状态)开始计数,经过M-1个状态以后,设法产生一个置零信号,使计数器的下 个状态返回全0状态,这样就跳过了N-M个状态,从而得到了M进制计 数器。 采用置零法时有两点需要特別注意,否则解题时很容易发生错误,这就是 第-,对于异步置零方式和同步置零方式的器件,置零信号的产生方法是不 同的。 例如我们用图6-10(a)中的同步十进制加法计数器74LS160构成一个七 进制计数器。如果采用置零法,则山图6-10(b)中可知,应使计数器在计数过 程中从S状态跳过S,~S状态回到S。由于R是异步置零输入端,所以只要 Rυ变为低电平,计数器便立刻被置为S状态。这时必须用S,状态译出R信 号,如图所小。因为计数器一旦进入S2状态使R变为低电平后,计数器立即被 置零,S,状态马上又消失了,所以S,状态只在这个极短的过渡过程中出现,而不 存在于稳定的状态循环中,如图中虚线箭头所表示的那样
6.1本章习题类型与解题方法191 EP ET C D )2 QQQ CLK CLKR LD So S 000)-001)-010}-0011 22 9, go S(1001 00 0111 图6-10用置零法设计的七进制计数器 如果使用1是问步置零输入端的计数器(例如74IS162),则R变为低电 平以后计数器并不能立刻被置零,还要等到下个CK上升沿到达时计数器才 会被置零,因而S,状态也足稳定的状态循环中的一个状态,这时图6-10(a)的 接法就不是七进制计数器而是八进制计数器了。为了得到七进制计数器,这时 应从S6状态译出R信号。 第二,由图6-10(b)的状态转换图中可以看到,当电路进入S状态时才有 进位输出,即C=1,m现在修改后的七进制计数器的状态循环中不包含S2状 态,所以C端的输出始终是0。因此,需要另外译出进位输出信号。例如可以 从S。状态译出进位输出信号Y,如图中所示。 ②置数法 置数法的某本原理是这样的:在已有N进制计数器的状态循环中,取任意 个状态为起始状态开始计数,经过M-1个状态以后,设法产生一个预置数信 号,将计数器重新置为起始状态,这样就跳过了N-M个状态而得到了M进制 计数器
192第六章吋序逻辑电路 例如我们用图6-1(a)中的同步六进制计数器74s161A设计一个卜 进制计数器时,如果用置数法,则可以有多种跳越四个状态而得到卜二进制计数 器的方法 EP Er C C进位 Q2 ∽=寸 QQQ CLK- CLKRD LD X So S 000}-(000)-(010)}-0011)-(0100 1 e,2, 2, 0/c Ss(111 0101)35 010)S S;3(1101 0111)S7 0 1100 1011 1010 1001}{1000 图6-11用置数法设计十二进制计数器 例如以图6-1(b)中的S4为起始状态,当电路进入S状态后进位输出端 C变为高电平,将它反相后,加到LD'端(如图6-11(a)所示),当下-个时钟信 号到来时,使将D3D2D1D。的0100置入计数器中,计数器跳回起始状态S (Q3Q2Q1Q=0100)。这样在计数过程中就跳过了S~S3这四个状态,得到∫ 进制计数器 用置数法设计征意进制计数器时同样要特别注总两个问题,即 第…不同类型的计数器当中预置数的操作也有异步和同步之分,因而产生
6.1本章习题类型与解题方法193 预置数信号的方法也是有区别的。例如图6-11(a)中的74LSl61A是同步预置 数方式,所以当电路进入S状态后,虽然DD立即变成了低电平,但D3D2D,D 的数据并不会立即置入计数器,而是要等到下一个CLK的上升沿到达时, D.D2D1D的状态才被置入计数器中,因此,S存在于稳定的状态循环中 如果采用异步预置数方式的计数器(例如74LS191),则只要LD的低电平 出现,D3~D的数据便立刻被置人计数器中。若将图6-11(a)电路中的计 数器改为异步预置数的计数器则S将只在预置数操作的过渡过程中存在,而 不仔在于稳定的状态循环中,这时电路将变成十进制计数器。 第二,如宋所设计的计数器在计数过程中跳过了产生进位输出的状态,那么 进位输出端将没有输出信号,必须另外译出进位输出信号。 例如在图6-11(a)电路中,进位输出信号是由S1状态产生的,因而在接成 的十二进制计数器的状态循环中是包含了S13这个状态的,所以C端有进位输出 信号 如果采用图6-1(b)中虚线所表示的状态循环设计十二进制计数器,则状 态循环中不包含S1状态,这时C端将没有进位信号输出。 2.N<M的情况 这时可以用两个(不够时可以用3个或者更多个)N进制计数器串接起来 得到一个NxN进制的计数器,使N×N>M,然后利用置零法或置数法,将这个 NⅹN进制计数器改接为M进制计数器。 在M可以分解为两个小于N的因数m1和m2相乘时,也可以先将两个N 进制计数器分别改接为m1进制和m2进制的计数器,然后将这两个m1进制计 数器和m2进制计数器串接,得到M进制计数器。 【例6-4】试用同步十进制加法计数器74LS160设计一个四十八进制计 数器。74LS60的功能表如表6-4 丧6-474LS16的功能表 CLK LD L作模式 异步置零 预置数 保持 保持(C=0 计数 解:此题的设计方案有多种可供选择 图6-12电路是先将两片74LS160串接成10×10=100进制的计数器,然
194第六章时序逻辑电路 后采用整体预置数的方法组成的四十八进制计数器。第(1)片与第(2)片 74IS160之间是十进制,每当第(1)片计为9时,它的进位输出端C出现高电平 使第(2)片的EP和ET为1,处于计数状态,下个CL到达时第(2)片计入1,第 (1)片回到0。如果从0开始计数,在输入47个CLK脉冲以后第(1)片计成7、 第(2)片计成4时,两个74LS60的LD同时处于低电平,当第48个CK脉冲到 达后两个74LS160同时被置成0状态,所以图6-12电路是四十八进制计数器。 P ET C EP Q Q Q D, EQ cQ Do t QI CLKR LD ClKRn LD CLK 图6-12例6-4的电路方案之一 山于电路进入47状态时高位片(2)的C端没有进位输出信号,所以进位输 出信号应从LD'端经反相器由Y端给出。每当计数器计成47时Y=1,第48个 CLK脉冲到达后Y回到低电平,同时计数器返同零状态。 图6-13足另一种方案。在这个电路中,第(1)片74LS160用同步预置数 EP ET C EP ET C DDD Q QQQQ Q2 28Q1 CLKR LD ClK Rn LD CLK 图6-13例6-4的电路方案之二