AT89S51单片机的定时器计数器 课件 .pdf
第6章AT89S51单片机的
定时器/计数器
1
内容概要
在工业检测与控制中,许多场合都要用到定时和计
数功能。AT89S51单片机片内有2个可编程的16位定
时/计数器T0、T1,可用作定时或计数。
本章介绍AT89S51单片机定时器/计数器的结构、
功能和工作方式,并介绍定时器/计数器的编程及应
用。
本章还讲述了报警功能和报警电路的设计方法。
2
在控制系统中,经常需要定时或延时,如定时控制、定时检
测、定时扫描等;此外也常常要求对外部事件进行计数。
要实现定时和计数功能,一般可用下面三种方法:
(1)软件定时:CPU循环执行一段程序,通过正确选择指
令和安排循环次数确定定时的时间,以实现软件定时。软件
定时需要占用CPU时间,因此降低了CPU的利用率。
(2)不可编程的硬件定时:采用时基电路(例如555定时
芯片),外接必要的元器件(电阻和电容),即可构成硬件
定时电路。这种定时电路结构简单,可以利用改变电阻和电
容值,在一定范围内改变定时值;但是这种定时电路在硬件
连接好以后,定时值与定时范围不能由软件进行控制和修改,
即不可编程。
(3)可编程的定时器:定时器的定时值及定时范围可以用软
件来确定和修改,因而功能强,使用灵活。例如8254可编程
定时芯片。
AT89S51单片机片内集成有两个可编程的定时/计数器:
定时/计数器0(T0)和定时/计数器1(T1),它们都是16
位的加“1”定时计数器,既可以工作于定时方式,也可以对外
部事件进行计数,T1还可以作为串行口的波特率发生器。
6.1定时器/计数器的结构和工作原理
6.1.1定时/计数器的结构
AT89S51的定时器/计数器结构如图6-1所示。
T1引脚T0引脚机器周
期脉冲
TH1TL1TH0TL0
内部总线
1100ETET
TCONFRFRT/10T/10
TTTTACMMACMMTMOD
GG
外部中断相关位T1方式T0方式
图6—1定时/计数器的结构框图
AT89S51单片机片内集成有两个可编程的16位的加“1”定时
/计数器T0和T1。所谓加“1”是指来触发脉冲时会自动加“1”
计数。应用时注意加“1”计数器和减“1”计数器的不同。
T0由特殊功能寄存器TH0(高8位)、TL0(低8位)构成,
T1由特殊功能寄存器TH1(高8位)、TL1(低8位)构成,低8
位和高8位组合可以构成16位的计数。
T0和T1受2个特殊功能寄存器TMOD和TCON控制。
TMOD称为定时/计数器的工作方式寄存器,由它确定定时
/计数器的工作方式和功能;
TCON是定时/计数器的控制寄存器,用于控制T0、T1的启
动、计数和停止以及设置溢出标志。
6.1.2定时/计数器的