首页 理论教育 单片机定时/计数器工作过程-《单片机实用教程》

单片机定时/计数器工作过程-《单片机实用教程》

时间:2023-11-16 理论教育 版权反馈
【摘要】:由于定时/计数器是在寄存器TCON和TMOD的控制下工作的,要让定时/计数器工作,必须先设置寄存器TCON和TMOD。2)设置寄存器TMOD的M0、M1位,让它控制定时/计数器T0的工作方式,如让M0=1、M1=0,可以将定时/计数器T0设为16位计数器。3)将寄存器TCON的TR0位置“1”,启动定时/计数器T0开始工作。

单片机定时/计数器工作过程-《单片机实用教程》

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

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

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

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

寄存器TCON和TMOD的设置内容主要有:

1)将寄存器TMOD的C/T位置“1”,如图5-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便执行中断子程序。(www.xing528.com)

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

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

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

寄存器TCON和TMOD的设置内容主要有:

1)将寄存器TMOD的C/T位置“0”,如图5-3所示,该位发出控制信号让开关S0置“0”,定时/计数器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(13位计数器即213)时需要8.192ms的时间,8.192ms后定时/计数器T0会溢出而产生一个信号,该信号将寄存器TCON的TF0位置“1”,寄存器TCON马上向CPU发出中断请求信号,CPU便执行中断子程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈