你的位置: 首页 > 家电弱电 > 单片机

单片机定时器/计数器的基本结构及工作原理

2016-11-07 17:24:11 | 人围观 | 评论:

    本文主要学习定时器/计数器的基本结构。对结构的学习首先要明确定时器/计数器的功能,可参考第一节的内容来理解。目前常用的单片机中往往都配备了定时器/计数器。在AT89S52芯片内包含有三个16位的定时器/计数器:T0、T1和T2,其核心是加1计数器。我们主要要求掌握T0和T1的结构和功能。学习中要注意从电路结构上来理解功能的实现。定时器/计数器方式寄存器TMOD和定时器/计数器控制寄存器TCON是用以设定定时器/计数器的工作方式、定时或计数功能,控制启动或停止以及产生溢出中断的重要模块,应该对这两个寄存器中的逐位的定义和功能进行学习和掌握。
一、定时器/计数器的功能

AT89S52单片机定时器/计数器的基本部件是两个8位的计数器(T1计数器分为高8位TH1和低8位TL1,T0计数器的高8位是TH0,低8位是TL0)。如图1所示。


图1 T0和T1的基本构成

定时器/计数器的核心是一个加1计数器,在作定时器使用时,它对机器周期进行计数,每过一个机器周期计数器加1,直到计数器计满溢出。

当它用作对外部事件计数时,计数器接相应的外部输入引脚T0(P3.4)或T1(P3.5)并在每个机器周期的S5P2时采样,当采样到1―0的负跳变时,计数器加1。

二、定时器/计数器的结构

AT89S52单片机内部的定时/计数器的结构如图2所示。定时器T0由特殊功能寄存器TL0(低8位)和TH0(高8位)构成,定时器T1由特殊功能寄存器TL1(低8位)和TH1(高8位)构成。每个寄存器均可单独访问。



图2 定时器/计数器的内部结构

三、TMOD和TCON

AT89S52的定时器/计数器是一种可编程部件,在定时器/计数器开始工作之前,CPU必须将一些命令(控制字)写入定时/计数器。

例如:选择哪一个定时器/计数器在何种工作方式下工作?

是用作定时器计时功能还是用作计数器的计数功能?

是否启动定时器/计数器的运行?

……

这些设置的功能是通过对特殊功能寄存器TMOD和TCON的设置来实现。在初始化过程中,要将工作方式控制字写入方式寄存器(初始化工作的一部分),工作状态字写入控制寄存器,CPU就会按设定的工作方式独立运行。

1.定时器/计数器方式寄存器TMOD

    定时器/计数器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H。TMOD不能进行位寻址,只能用字节传送指令设置定时器工作方式,低半字节定义为定时器/计数器0,高半字节定义为定时器/计数器1。复位时,TMOD所有位均为0。TMOD的格式

如下表所示。





标签:

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/

M1

M0

GATE

C/

M1

M0

T1方式控制字

T0方式控制字