计数器

简介: 能累计输入脉冲个数的数字电路称为计数器,计数器是数字电路中应用十分广泛的单元逻辑电路,除直接用作技术、分频、定时外,还经常应用于数字仪表、程序控制、计算机等领域。

一、计数器

能累计输入脉冲个数的数字电路称为计数器,计数器是数字电路中应用十分广泛的单元逻辑电路,除直接用作技术、分频、定时外,还经常应用于数字仪表、程序控制、计算机等领域。


计数器的种类很多,


①按计数的进位体制不同,可分为二进制、十进制和N进制计数器等;


②按计数器中数值的增、减情况,可分为加法计数器、减法计数器、可逆计数器;


③按计数器中各触发器状态转换时刻的不同,可分为同步计数器和异步计数器。


1.二进制计数器

定义:


在计数脉冲作用下,各触发器状态的转换按二进制的编码规律进行计数的数字电路称为二进制计数器。


构成计数器电路的核心器件是具有计数功能的JK触发器。可将JK触发器接成计数状态,如图所示:

image.png

(1)异步二进制加法计数器

如图所示电路是用三个JK触发器连成的异步3位二进制加法计数器。

image.png

图中各位触发器的image.png端接在一起作为计数器的直接复位输入信号;计数脉冲加到最低位触发器的FF0端,其他触发器的CP依次受低位触发器Q端的控制。各触发器接收到负跳变脉冲信号时状态就翻转。


波形如图所示:

image.png

🎈🎈工作过程:


计数前,在复位端image.png先输入一负脉冲,使image.png=000,这一过程称为清零,清零后,应使image.png=1,才能正常计数。


当第一个计数脉冲CP作用后,该脉冲的下降沿使触发器FF0的image.png由0态转为1态,其他两个触发器因没有CP下降沿的作用,仍保持0态,所以当第一个CP作用后,计数器状态为image.png=001。


当第二个计数脉冲CP作用时,触发器FF0翻转,image.png由1态转为0态,image.png的下降沿加到FF1的时钟脉冲输入端,使image.png从0态转为1态,image.png上升沿变化对触发器FF2无效,image.png状态保持不变,所以当第二个CP作用后,计数器状态为image.png=010。


依此类推,当第七个CP作用后计数器状态为111,当第八个CP作用后计数器又回到000状态,完成一次计数循环。


(2)同步二进制加法计数器

如图所示为同步3位二进制加法计数器:

image.png

各级触发器的CP端连在一起,受同一个时钟脉冲控制,显然各触发器状态的翻转与时钟同步,故称同步计数器。


2.十进制计数器

二进制计数器结构简单,运算方便。但在许多场合,使用十进制计数器较符合人们的习惯。所谓十进制计数器是在计数脉冲作用下各触发器状态的转换按十进制数的编码规律进行计数的数字电路。


用二进制数码表示十进制数的方法称为二—十进制编码(即BCD码)。十进制数有0~9共10个数码,至少要用4位二进制数。而4位二进制数有十六个状态,表示1位十进制数只需要十个状态,因此需要去掉其中的六个状态。在十进制计数器中常采用8421BCD码的编码方式进行计数。


8421编码见表:

image.png

(1)电路组成

异步十进制加法计数器电路由4位二进制计数器和一个用于计数器清零的门电路组成,与二进制加法计数器的主要差异是跳过了二进制数码1010~1111的6个状态。

image.png

(2)工作过程

计数器输入0~9个计数脉冲时,工作过程与4位二进制异步计数器完全相同,第九个计数脉冲后image.png=1001。


当第十个计数脉冲到来后,计数器状态为image.png=1010,此时image.png,与非门输入全1,输出为0,使各触发器复位,即image.png=0000, 同时使与非门输出又变为1,计数器重新开始工作。 从而实现8421BCD码十进 制加法计数的功能。


3.集成计数器

集成计数器是将触发器及有关门电路集成在一块芯片上,使用方便且便于扩展。中规模集成同步计数器类型很多,常见的4位十进制同步计数器有74LS160、74LS162、74LS196、CC40192等;4位二进制同步计数器有74LS161、74LS163、74LS169、74LS191等。


(1)74LS161芯片的引脚排列和图形符号

74LS161芯片的引脚排列和图形符号如图所示:

image.png

① 异步清零


当异步置0控制端image.png=0时,不管其他输入端的状态如何,无论有无时钟脉冲,计数器输出将直接置零,称异步清零。


② 同步预置数


image.png=1时,同步置数控制端image.png=0,且在CP上升沿作用时,并行输入数据被置入计数器的输出端,使image.png=image.png 。由于这个操作要与CP同步,所以又称为同步预置数。


真值表如表所示:

image.png

③保持


当时image.png=image.pngimage.png=1时,输出image.png保持不变。这时若image.png=0、image.png=1,则进位输出信号CO保持不变;若image.png=1、image.png=0,进位输出信号CO为低电平。


④计数


image.png =image.png=image.png=image.png=1时,CP为上升沿有效时,实现加法计数功能。


【时序逻辑电路】结束了,下期我们开启新篇章——【脉冲波形的产生与变换】😁😁


目录
相关文章
|
2天前
计数器:使用类
计数器:使用类
8 0
|
2天前
|
开发工具
定时器计数
定时器计数
|
2天前
|
机器学习/深度学习 算法 前端开发
2620. 计数器
2620. 计数器
19 0
|
2天前
|
算法 前端开发
2665. 计数器 II
2665. 计数器 II
14 0
|
2天前
信号量(Semaphore)与线程计数器(CountDownLatch)(详解)
信号量(Semaphore)与线程计数器(CountDownLatch)(详解)
34 0
信号量(Semaphore)与线程计数器(CountDownLatch)(详解)
|
7月前
|
存储 算法
定时器/计数器应用的提高
定时器/计数器是数字电路中常用的功能模块,可以用于实现各种计时、计数和控制功能。提高定时器/计数器应用的关键在于深入理解其原理和功能,并结合具体应用场景进行合理设计和优化。以下是提高定时器/计数器应用的一些建议: 1. 熟悉定时器/计数器的工作原理: 了解定时器/计数器的工作原理是提高应用的基础。掌握定时器/计数器的计时和计数模式、时钟源选择、计数器位宽等相关知识,以及定时器/计数器的寄存器设置和控制方法。 2. 确定应用需求: 明确应用的具体需求,包括计时/计数的时间范围、精度要求、计数模式(递增/递减)、触发条件等。根据需求选择合适的定时器/计数器模块,并合理配置相关参数。 3. 时
33 0
|
7月前
|
Java
线程计数器的使用
线程计数器的使用
23 1
|
计算机视觉
【STM32】滴答时钟24位递减计数器系统时钟【SystTick】
【STM32】滴答时钟24位递减计数器系统时钟【SystTick】
179 0
|
Python
类实现计数器功能
在上面的示例中,我们定义了一个名为 MyClass 的类,并且给这个类添加了一个名为 my_method() 的方法。该方法使用了 @classmethod 装饰器来标识它为类方法。在该方法中,我们使用了 cls.x 来访问类变量 x 并对其进行操作。 此外,我们还在类外部定义了一个名为 my_function() 的普通函数。和类方法不同的是,这个函数并没有被赋值给类,所以不能够通过类来调用。