通常,按计数器的最大计数容量命名计数器时,最大计数容量为N时,就称为N进制计数器。当N=2n时,就是前面讨论的n位二进制计数器;当N≠2n时,为非二进制计数器。非二进制计数器中最常用的是十进制计数器,下面讨论同步十进制计数器。
图1所示为由4个下降沿触发的JK触发器组成的同步十进制加法计数器的逻辑电路。用前面介绍的同步时序逻辑电路分析方法对该电路进行分析。
图1 同步十进制加法计数器 |
1、列些驱动方程
(1) |
2、列些触发器的状态方程
写出JK触发器的特性方程,然后将各驱动方程带入JK触发器的特性方程,得各触发器的次态方程为
(2) |
3、列些输出方程
(3) |
4、列些状态转换表
设初态为Q3Q2Q1Q0=0000,带入次态方程和输出方程进行计算,得状态转换表如表1所示。
表1 图1所示电路的状态表 |
脉冲序号 | Q3 | Q2 | Q1 | Q4 | C | 十进制数 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 1 |
2 | 0 | 0 | 1 | 0 | 0 | 2 |
3 | 0 | 0 | 1 | 1 | 0 | 3 |
4 | 0 | 1 | 0 | 0 | 0 | 4 |
5 | 0 | 1 | 0 | 1 | 0 | 5 |
6 | 0 | 1 | 1 | 0 | 0 | 6 |
7 | 0 | 1 | 1 | 1 | 0 | 7 |
8 | 1 | 0 | 0 | 0 | 0 | 8 |
9 | 1 | 0 | 0 | 1 | 1 | 9 |
10 | 0 | 0 | 0 | 0 | 0 | 0 |
由表1可见,图1所示同步十进制计数器,当CP端来10个计数脉冲时,计数器电路中的触发器状态就循环一次,进位输出端C给出一个进位高电平,而且触发器的状态所对应的十进制数就是所计数的脉冲个数。
我们知道,4个触发器共有16(24)种状态组合,但表1中只出现了10种状态组合(有效状态),但另外6种状态组合(无效状态)在电路中任然有可能出现。为了研究图1所示电路完整的逻辑功能,必须考虑当触发器的次态情况,直至状态转换表中包含所有的状态组合,如表2所示。
表2 图2所示电路完整的状态表 |
从表2中可以看出,当以无效状态作为初始状态时,经过几个计数脉冲作用后,触发器的状态都进入了有效状态。如当触发器的初始状态为1010,经过2个计数脉冲后,触发器的状态变为0100,这个状态为有效状态。
在实际工作中,当由于某种原因,使计数器进入无效状态时,如果能在时钟信号作用下,最终进入有效状态,就称该电路具有自启动能力。
5、作状态图及时序图
根据状态转换表作出电路的状态如如图3所示,时序图如图4所示。由状态表、状态图或时序图可见,该电路为十进制加法计数器。
图3的状态图 |
图4 的时序图 |
图5所示为中规模集成的同步十进制加法计数器74160。
图5 同步十进制加法计数器74160的符号 |
该集成计算器电路除了有基本的加法计算器功能以外,还添加了预置数、异步置零和保持的功能。图中各输入端的功能与图5所示集成二进制计算器逻辑图中相应输入端相同,74160的功能表与74161的功能表也类似,不同的是74161的是二进制,而74160是十进制。表3所示为74160的功能表。
表3 74160的功能表 |
清零 | 预置 | 使能 | 时钟 | 预置数据输入 | 输出 | 工作模式 | |||||||
EP | ET | CP | D3 | D2 | D1 | D4 | Q3 | Q2 | Q1 | Q4 | |||
0 | × | × | × | × | × | × | × | × | 0 | 0 | 0 | 0 | 异步清零 |
1 | 0 | × | × | ↑ | d3 | d2 | d1 | d4 | d3 | d2 | d1 | d4 | 同步置数 |
1 | 1 | 0 | × | × | × | × | × | × | 保持 | 数据保持 | |||
1 | 1 | × | 0 | × | × | × | × | × | 保持 | 数据保持 | |||
1 | 1 | 1 | 1 | ↑ | × | × | × | × | 十进制计数 | 加法计数 |