文档介绍:第6章定时器/计数器及应用
定时器/计数器的结构
定时器/计数器的工作方式
退出
定时器/计数器的结构
定时器/计数器的结构
定时器/计数器的结构如图6-1所示。
定时器/计数器的工作方式寄存器TMOD
定时器/计数器是一种可编程部件,在工作之前必须通过软件设定它的工作方式,即对工作方式寄存器TMOD中每位进行设定。下面介绍每位的含义:
TMOD(89H)
其中,低4位用于决定T0的工作方式,高4位用于决定T1的工作方式。
1、M1和M0工作方式控制位
M0和M1为工作方式控制位,确定4种工作方式,如表7-1所示。
2、C/T定时器/计数器方式选择位
C/T=0,设置为定时方式,对机器周期进行计数;
C/T=1,设定为计数方式,对外部信号进行计数, 外部信号接至T0()或T1()引脚。
3、GATE门控位
GATE=0时,只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1);
GATE=1时,只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。
定时器/计数器的控制寄存器TCON
设定好了定时器/计数器的工作方式后,它还不能进入工作状态,必须通过设置控制寄存器TCON中的某些位来启动它工。要使定时器/计数器停止运行,也必须通过设置TCON中的某些位来实现。当定时器/计数器计满溢出,或有外部中断请求时,TCON能标明溢出和中断情况。下面介绍控制寄存器TCON每位的含义:
TF1:定时器T1溢出标志位。当定时器T1溢出时,由硬件自动使TF1置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。
TR1:定时器T 1运行控制位。可由软件置1(或清零)来启动(或关闭)定时器T1,使定时器T1开始计数。用指令SETB TR1(或CLR TR1)使TR1置1(或清零)。
TF0:定时器T0溢出标志位。其功能与TF1相同。
TR0:定时器T0运行控制位。其功能与TR1相同。
IE1:外部中断1请求标志位。
IT1:外部中断1触发方式控制位。
IE0:外部中断0请求标志位。
IT0:外部中断0触发方式控制位。
IE1、IT1、IE0、IT0这4位将在第3节讲述。
控制寄存器TCON的位地址是88H,可以对它进行位寻址。
定时器/计数器的工作方式
工作方式0
定时器/计数器T0工作在方式0时,16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13位定时器/计数器。