1.在计算机中的用途
·作为硬件计时部件,可节省大量CPU时间。
·作为计数器,可对内部或外部事件进行计数。
·作为波特率发生器或时间间隔发生器。
·作为“限时器”和“看家狗”应用。
·用于精密时间测量(频率、周期、相位、占空比或时间间隔)。
·PWM输出:直流马达转速控制。
·其他:选通输出、高速脉冲输出(HSO)。
2.计数器/计时器电路
计数器/计时器电路主要由初值寄存器、计数器、比较器、取沿电路和其他附属电路组成。其中,计数器是必不可少的,可用增计数器或减计数器实现。这两种计数器实现计数/计时的计算方法是不同的。
·在作为计数器时,需要有外部时钟(事件)输入。
·在作为计时器时,采用时钟(一般是内部的)作为计时单位。有的还有一个预标器,以控制计时单位的粗细。若计时器有外触发功能的话,还需要一个外部触发信号输入。
·在作为波特率发生器或周期信号发生器时,还要有一个计数初值寄存器,或称为时间常数寄存器。
·在具有捕获功能的情况下,还应有捕获控制输入和取沿电路,以及捕获寄存器,后者用以记忆计数器的当前值。
·在具有输出比较功能的情况下,还要有比较器,以把计数器的当前值与比较寄存器的内容进行比较。若相等,则产生中断或某种动作。
3.计数器/计时器芯片8253/8254
(1)对外引脚信号
·面向CPU一侧的信号:,读信号;,写信号;,片选信号;A1~A0,地址线;D7~D0,数据线。
·面向I/O设备一侧的信号:CLK0~CLK2,时钟信号;GETE0~GETE2,门控信号;OUT0~OUT2,计数器输出信号。因为8253内部有3个独立的计数器,所以上述每种信号都有3个。
(2)内部结构
·数据总线缓冲器(8位),CPU可向其写命令、计数器初值以及读计数器当前值。
·读/写逻辑,CPU控制对计数器是读出还是写入。
·计数器(3个),内部有3个结构相同、相互独立的计数器。
·工作方式寄存器(8位),用来选择计数器及相应的工作方式,由CPU写入。
(3)工作方式
8253/8254可以工作在如下6种方式之一:(www.daowen.com)
·方式0——计数结束中断(单次电路);
·方式1——硬件触发的可重复触发单稳电路;
·方式2——分频器(波特率发生器);
·方式3——方波发生器;
·方式4——软件触发的选通信号发生器;
·方式5——硬件触发的选通信号发生器。
在所有方式下,GATE为低电平,则停止计数,由低变到高时的动作因工作方式而异。一般在波特率和方波发生器方式下,GATE应一直接高电平。在其他方式下,GATE从低到高变化将引起时间常数的重新装入,并重新计数。
各种方式下的波形如图8.1至图8.6所示。方式0和方式1的波形考虑了GATE的影响和计数过程中又写入新的时间常数的情况;后4种方式的波形没考虑其他因素的影响。
图8.1 8253方式0时序波形
图8.2 8253方式1时序波形
图8.3 8253方式2时序波形
图8.4 8253方式3时序波形
图8.5 8253方式4时序波形
图8.6 8253方式5时序波形
(4)初始化编程
8253内部有一个8位的方式命令寄存器,在使用时对其进行初始化。该寄存器的各位定义请参看主教材《微机原理与接口技术(第3版)》。
8253初始化工作有两点:一是向方式命令寄存器写入方式命令,以选择计数器通道(3个计数器之一),确定工作方式(6种方式之一),指定计数器初值和装入顺序,确定计数值的码制(二进制或BCD码);二是向已选定的计数器按方式命令的要求写入计数初值。
举例:选择2号计数器,计数器输出方波,计数初值为2 048(7FFH),采用二进制计数。设计数器的地址为40H~43H。初始化程序段如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。