计数器芯片是什么?计数器芯片的工作原理是什么?

来源:今日热点 | 2023-03-22 10:55:45 |

8253芯片是可编程计数器/定时器。这种芯片外形引脚都是兼容的。8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的结构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。

计数器芯片的工作原理是什么?8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:

1.方式0:计数结束则中断。工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUTi输出为低电;若门控信号GATE为高电,当CPU利用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUTi将输出由低电向高电跳变,可用它向CPU发出中断请求,OUTi端输出的高电一直维持到下次再写入计数值为止。在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继续进行。

显然,利用工作方式0既可完成计数功能, 也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入, 由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变, 表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数, 定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。有一点需要说明,任一通道工作在方式0情况下, 计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。

2.方式1:单脉冲发生器

工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数值n后OUTi输出高电, 不管此时的GATE输入是高电还是低电, 都不开始减“1”计数,必须等到GATE由低电向高电跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电向低电跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUTi输出由低电向高电跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。

如果在减“1”计数过程中, GATE由高电跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数, 其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。这种工作方式下,计数值也是一次有效,每输入一次计数值,只产生一个负极单脉冲。

3.方式2:速率波发生器

工作方式2被称作速率波发生器。进入这种工作方式, OUTi输出高电,装入计数值n后如果GATE为高电,则立即开始计数,OUTi保持为高电不变; 待计数值减到“1”和“0”之间, OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLKi周期, 重复周期为CLKi周期的n倍。如果在减“1”计数过程中,GATE变为无效(输入0电),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。

如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写入新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。


备案号:粤ICP备18023326号-41 联系网站:85 572 98@qq.com