购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

7.2 定时器/计数器的结构原理

7.2.1 定时器/计数器的结构

8051单片机内部定时器/计数器的结构如图7-3所示。单片机内部与定时器/计数器有关的部件主要有以下几种:

1)两个定时器/计数器(T0和T1)。每个定时器/计数器都是由两个8位计数器构成的16位计数器。

2)TCON寄存器。TCON为控制寄存器,用来控制两个定时器/计数器的启动/停止。

3)TMOD寄存器。TMOD为工作方式控制寄存器,用来设置定时器/计数器的工作方式。

两个定时器/计数器在内部通过总线与CPU连接,CPU也可以通过总线对它们进行控制。

7.2.2 定时器/计数器的工作原理

由于定时器/计数器是在寄存器TCON和TMOD的控制下工作的,要让定时器/计数器工作,必须先设置寄存器TCON和TMOD(可编写程序来设置)。单片机内部有2个定时器/计数器,它们的工作原理是一样的,这里以定时器/计数器T0为例进行说明。

1.定时器/计数器T0用作计数器

要将定时器/计数器T0当作计数器使用,须设置寄存器TCON和TMOD,让它们对定时器/计数器T0进行相应的控制,然后定时器/计数器T0才开始以计数器的形式工作。

图7-3 8051单片机内部定时器/计数器的结构

(1)寄存器TCON和TMOD的设置

将T0用作计数器时TCON、TMOD寄存器的设置内容主要有

1)将寄存器TMOD的 位置“1”,如图7-3所示,该位发出控制信号让开关S0置“1”,定时器/计数器T0与外部输入端T0(P3.4)接通。

2)设置寄存器TMOD的M0、M1位,让它控制定时器/计数器T0的工作方式,比如让M0=1、M1=0,可以将定时器/计数器T0设为16位计数器。

3)将寄存器TCON的TR0位置“1”,启动定时器/计数器T0开始工作。

(2)定时器/计数器T0的工作过程

定时器/计数器T0用作计数器的工作过程有以下几步:

1)计数。定时器/计数器T0启动后,开始对外部T0端(P3.4)输入的脉冲进行计数。

2)计数溢出,发出中断请求信号。当定时器/计数器T0计数达到最大值65536时,会溢出产生一个信号,该信号将寄存器TCON的TF0位置“1”,寄存器TCON立刻向CPU发出中断请求信号,CPU便执行中断子程序。

2.定时器/计数器T0用作定时器

要将定时器/计数器T0当作定时器使用,同样也要设置寄存器TCON和TMOD,然后定时器/计数器T0才开始以定时器形式工作。

(1)寄存器TCON和TMOD的设置

将T0用作定时器时TCON、TMOD寄存器的设置内容主要有

1)将寄存器TMOD的 位置“0”,该位发出控制信号让开关S0置“2”,定时器/计数器T0与内部振荡器接通。

2)设置寄存器TMOD的M0、M1位,让它控制定时器/计数器T0的工作方式,如让M0=0、M1=0,可以将定时器/计数器T0设为13位计数器。

3)将寄存器TCON的TR0位置“1”,启动定时器/计数器T0开始工作。

(2)定时器/计数器T0的工作过程

定时器/计数器T0用作定时器的工作过程有以下几步:

1)计数。定时器/计数器T0启动后,开始对内部振荡器产生的信号(要经12分频)输入的脉冲进行计数。

2)计数溢出,发出中断请求信号。定时器/计数器T0对内部脉冲进行计数,由0计到最大值8192(2 13 )时需要8.192ms的时间,8.192ms后定时器/计数器T0会溢出从而产生一个信号,该信号将TCON寄存器的TF0位置“1”,TCON寄存器马上向CPU发出中断请求信号,CPU便执行中断子程序。 v8gnXZQHQPig8KLzdDoNs1pjfYjDvUjsEqTqBz/AooOBvpHKpQeJw5PV9oP+7a87

点击中间区域
呼出菜单
上一章
目录
下一章
×