资料介绍
单片机资料
摘 要:对MCS-
51单片机定时器的原理与使用中的几个关键问题进行了讨论,给出定时器的使用方法与
误差补偿方法,并给出了实现程序。
1前言
定时器是MCS-
51单片机非常重要的组成部分,由于其应用与单片机的其他硬件相关,存在着一定的复
杂性[1]。而定时器是单片机应用中解决某类复杂问题的最有为效的方法,应用非常广泛
。随着定时要求的提高,在定时处理过程中所带来的误差需要校正[2],本文就MCS-
51单片机的使用方法与误差校正方法进行了讨论,并给出通用算法与程序。
2定时器工作方式与方式设置
MCS-
51单片机有两路独立的定时器,每路定时器有4种工作方式(0~3),方式0是13位计数
结构,计数器由TH全部8位与TL的低5位构成;方式1是16位计数结构,计数器由TH与TL全
部8位共16位组成;方式
2是8位计数结构方式,计数器由TL8位组成,与其他方式不同的是,当定时溢出时,硬件
自动将TH的值装入TL中,有自动加载功能。前三种工作方式,两路定时器的设置与使用
完全相同,但在工作方式3下,两路定时器有很大差别,只有0路定时器可以工作在方式
3下,1路定时器只能工作在方式0~2下,在工作方式3下,0路定时器被拆分成两个独立
的8位计数器TL0与TH1,其中0路定时器的各控制位和引脚信号全归TL0使用,因此TH0只
能做简单的定时器使用,其控制位占用了1路定时器的控制位,如果0路定时器工作在方
式3下,1路定时器由于让出了所属控制位,通常作为串行口波特率发生器。
定时器的工作方式选择主要依靠设置TMOD寄存器的值,其各位定义如下:
位序 B7 B6 B5 B4 B3 B2 B1 B0
位符号 GATE C/T M1 M0 GATE C/T M1 M0
其中,B0~B3用来控制0路定时器,B4~B7用来控制1路定时