计数器原理
由逻辑门构成的电路称为 组合逻辑电路 ,其任何时刻输出端的信号仅取决于该时刻输入端的信号组合,而与输入/输出端原有的状态无关。相对应的,由触发器构成的电路称为时序逻辑电路,其输出不仅是输入信号的组合,还是电路当前状态的函数。
时序逻辑电路中最重要的一种电路类型是计数器,其主要功能是对输入时钟脉冲的个数进行计数。假设一个3位的二进制计数器[Q0, Q1, Q2],其计数范围000~111,在输入时钟脉冲CP的驱动下,其状态是:000、001、010、…110、111。如下图1所示,把Q0、Q1和Q2端的波形沿着时间轴排列对齐,可以看出计数器各位之间是分频关系:Q1端是低位Q0端的二分频,Q2端是低位Q1端的二分频及Q0端的四分频。类似地,在n位二进制计数器[Q0…Qn]中,任意Qn端都是相邻低位Qn-1端的二分频。因此,一方面计数器可以作为分频器使用,另一方面计数器的设计亦可以参考下图1中计数器各位信号的波形。
图1:3位二进制计数器的输出波形示意图
异步/同步计数器
如上图1所示,计数器的每个位输出波形都是方波,即“0”、“1”电平交替,电平间隔时间相同。所以,计数器每个位的输出信号很容易用一个JK触发器来产生。同时,因为每个位的输出波形是相邻低位波形的二分频,故可用相邻低位的JK触发器输出作为本位JK触发器的时钟源,使得相邻低位信号状态边沿跳变(例如下降沿)时刻,本位信号状态翻转。因为该类型的计数器中所有位的JK触发器时钟源不是同一个时钟源,所以称为异步计数器。一个基于JK触发器的4位异步加法计数器如下图2所示。
图2. 异步计数器的时序逻辑电路
计数器的另一种更常见的结构设计是同步计数器,如下图3所示:所有位的JK触