89C51定时器和计数器.docx
文本预览下载声明
AT89C51定时器/计数器
1.定时和计数功能:
AT89C51有两个可编程的定时器和计数器:T0和T1。它们可以工作在定时状态也可以工作在计数状态。做定时器时不能用作计数,反之亦然。
2.计数器:
当定时器/计数器作“计数器”用时,可对接到14引脚(T0/P3.4)或15引脚(T1/P3.5)的脉冲信号数进行计数,每当引脚发生从“1”到“0”的负跳变时,计数器加1.
3.定时器:
当定时器/计数器作“定时器”用时,定时信号来自内部的时钟发生电路,每个机器周期等于十二个震荡周期,每过一个机器周期,计数器加1.当晶振频率为12MHz时,则机器周期为1微秒;在此情况下,若计数器为100,
则所定时的时间为:100 x 1 =100微秒。
4.与定时器/计数器有关的特殊功能寄存器
为实现定时器/计数器的各个功能,还用到了SFR中的几个特殊功能寄存器
定时器/计数器的SFR
用途
地址
有无寻址
TCON
控制寄存器
88H
有
TMOD
方式寄存器
89H
无
TL0
定时器T0低字节
8AH
无
TL1
定时器T1低字节
8BH
无
TH0
定时器T0高字节
8CH
无
TH1
定时器T1高字节
8DH
无
5.定时器/计数器的控制
AT89C51单片机定时器/计数器的工作由两个特殊的寄存器TMOD和TCON的相关位来控制,
TMOD用于设置它的工作方式,TCON用于控制其启动和中断的请求。
1).TMOD用于设置定时器/计数器的工作方式,其字节地址为89H。低四位用于T0,高四位用于T1。虽有位名称,但无位地址,不可进行位操作。
TMOD中的结构和各位名称
T1
T0
位名称
GATE
C/T
M1
M0
GATE
C/T
M1
M0
eq \o\ac(○,1)M1,M0:工作方式选择位。M1、M0为两位二进制数,可表示四种工作方式,见下表:
M1M0
工作方式
功能
容量
00
0
13位计数器,N = 13
213 = 8192
01
1
16位计数器,N = 16
216 = 65536
10
2
两个8位计数器,初值自动装入,N = 8
28 = 256
11
3
两个8位计数器,仅适用于T0,N = 8
28 = 256
eq \o\ac(○,2)C/T:计数/定时方式选择位。
C/T = 1,为计数工作方式,对输入到单片机T0、T1引用的外部信号脉冲计数,负跳变脉冲有效,用作计数器。
C/T = 0,为定时工作方式,对片内机器周期(1个机器周期等于12晶振周期)信号计数,用作定时器。
eq \o\ac(○,3)GATE:门控位。
GATE = 0,定时器/计数器的运行只受TCON中的运行控制位TR0/TR1的控制。
GATE = 1,定时器/计数器的运行同时受TR0/TR1和外中断输入信号(INT0和INT1)的双重控制。
GATE对TR0/TR1的制约
GATE
INT0,INT1
TR0/TR1
功能
0
无关
0/0
T0/T1停止
0
无关
1/1
T0/T1运行
1
1/1
1/1
T0/T1运行
1
1/1
0/0
T0/T1不运行
1
0/1
1/1
T0不运行,T1运行
1
1/0
1/1
T0运行,T1不运行
2).控制寄存器TCON
TCON是可位寻址的特殊功能寄存器,其字节地址为88H,位地址由低到高顺序分别为88H~8FH,
TCON的低四位只与外中断有关,其高四位与定时器/计数器有关。
TCON结构及各个名称、地址
位号
TCON.7
TCON.6
TCON.5
TCON.4
TCON.3
TCON.2
TCON.1
TCON.0
位名
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
eq \o\ac(○,1)TF1:定时器/计数器T1的溢出标志。若T1被允许计数后,T1从初值开始加1计数,至最高位产生溢出时,TF1被自动置“1”,即表示计数溢出,同时提出中断请求。若允许中断,CPU响应中断后,由硬件自动对TF1自动清零。也可以在程序中用指令查询TF1或将TF1清零。
eq \o\ac(○,2)TR0:定时器/计数器T0的溢出标志,其意义与功能与TF1相似。
eq \o\ac(○,3)TR1:定时器/计数器T1的启动控制位,由软件置位/清零来开启/关闭。
eq \o\ac(○,4)TR0:定时器/计数器T0的启动控制位,由软件置位/清零来开启/关闭。
定时时间 = (2N – 初值) X 机器周期
AT89C51单片机
显示全部