2016-11-07 17:24:11 | 人围观 | 评论:
使用定时/计数器前需要对其进行初始化,使其按设定的功能工作。初始化的一般步骤如下:
(1) 确定工作方式(即对TMOD赋值)。
(2) 预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1)。
(3) 根据需要开放定时器/计数器的中断。
(4) 启动定时器/计数器。
二、4种工作方式1.工作方式0:13位定时器/计数器
当M1M0=00时,定时/计数器处于工作方式0。其电路逻辑结构见图1。工作方式0是13位计数结构的工作方式,其计数器由TH的全部8位和TL的低5位构成,TL的高3位没有使用。以定时器0为例,当C/=0时,多路开关接通振荡脉冲的12分频输出,13位计数器以此进行计数,这就是定时工作方式。当C/=1时,多路开关接通计数引脚(T0),外部计数脉冲由引脚T0输入,当计数脉冲发生负跳变时,计数器加1,这就是计数工作方式。
在方式0下,当为计数工作方式时,计数值的范围是: 1~8192(213);当为定时工作方式时,定时时间的计算公式为:
(213-计数初值)×机器周期
2.工作方式1:16位的定时/计数器
当M1M0=01时,定时/计数器处于工作方式1。此时,定时/计数器为16位计数结构的工作方式。等效电路如图2所示,仍以定时器0为例。
在工作方式1下,计数器的计数值范围是: 1~65536(216)
当为定时工作方式1时,定时时间的计算公式为:
(216-计数初值)×机器周期
3.工作方式2―8位自动重装的定时/计数器
当M1M0=10时,定时/计数器处于工作方式2。以定时/计数器0为例,此时定时器的等效电路如图3所示,构成自动重新装入计数初值。
工作方式2中,16位计数器分为两部分,TLx为8位加1计数器,THx为8位初值暂存器,即以TL0为计数器,以TH0作为预置寄存器。初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,由预置寄存器TH以硬件方法自动给计数器TL0重新加载,这种工作方式适合于重复计数的应用场合。
在工作方式2下,计数器的计数值范围是:1~256(28)
当定时器工作在方式2时,定时时间的计算公式为:
(28-计数初值)×机器周期
4.工作方式3
当M1M0=11时,定时/计数器处于工作方式3,此时定时器的等效电路如图4所示。在工作方式3模式下,定时/计数器1的工作方式与之不同。方式3对定时器T0和定时器T1是不相同的。若T1设置为方式3,则停止工作(其效果与TR1=0相同)。所以方式3只适用于T0。
全站搜索