由于定时/计数器是在寄存器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便执行中断子程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。