首页 理论教育 定时器工作原理单片机开发实例

定时器工作原理单片机开发实例

时间:2023-10-23 理论教育 版权反馈
【摘要】:MCS-51系列单片机的定时器/计数器T0、T1具有4种工作方式,分别由多功能寄存器TMOD和TCON控制。下面分别介绍4种工作方式的工作原理。方式2为8位定时器/计数器工作状态。图4-6 定时器在方式2时的逻辑结构4.方式3当M1、M0为11时,定时器工作于方式3。图4-7 定时器在方式3时的逻辑结构T0和T1两个引脚为计数输入端。

定时器工作原理单片机开发实例

MCS-51系列单片机定时器/计数器T0、T1具有4种工作方式,分别由多功能寄存器TMOD和TCON控制。下面分别介绍4种工作方式的工作原理。

1.方式0

当M1,M0为00时,定时器工作T0、T1设置为方式0。方式0为13位的定时器/计数器,由TLx的低5位和THx的高8位构成。在计数的过程中,TLx的低5位溢出时向THx进位,THx溢出时置位对应的中断标志位TFx,并向CPU申请中断。T0、T1工作在方式0情况一样,下面以T0为例说明工作方式0的具体控制。T0工作于方式0时的逻辑框图如图4-4所示。

978-7-111-43463-4-Chapter04-35.jpg=0时,电子开关接到上面,Tx的输入脉冲信号晶体振荡器的十二分频而得到,即每一个机器周期使T0的数值加1,这时T0用作定时器。

978-7-111-43463-4-Chapter04-36.jpg=1时,电子开关接到下面,计数脉冲是来自T0的外部脉冲输入端单片机P3.4的输入信号,P3.4脚上每出现一个脉冲,会使T0的数值加1,这时T0用作计数器。

当GATE=0时,A点为“1”,B点电位就取决于TR0状态。TR0为“1”时,B点为高电平,电子开关闭合,计数脉冲就能输入到T0,允许计数。TR0为“0”时,B点为低电平,电子开关断开,禁止T0计数。即GATE=0时,T0或T1的启动与停止仅受TR0或TR1控制。

978-7-111-43463-4-Chapter04-37.jpg

图4-4 定时器在方式0时的逻辑结构

当GATE=1时,A点受978-7-111-43463-4-Chapter04-38.jpg(P3.2)和TR0的双重控制。只有978-7-111-43463-4-Chapter04-39.jpg=1,且TR0为“1”时,B点才是高电平,使电子开关闭合,允许T0计数。即GATE=1时,必须满足INT0和TR0同时为1的条件,T0才能开始定时或计数。

在方式0中,计数脉冲加到13位的低5位TL0上。当TL0加1计数溢出时,向TH0进位,当13位计数器计满溢出时,溢出中断标志TF0=1,向CPU请求中断,表示定时器计数已溢出。CPU进入中断服务程序入口时,由内部硬件清零TF0。

2.方式1

当M1、M0为01时,定时器/计数器工作于方式1。方式1与方式0差不多,不同的是方式1的计数器为16位,由高8位THx和低8位TLx构成。定时器T0工作于方式1的逻辑框图如图4-5所示。方式1的具体工作过程和工作控制方式与方式0类似,这里不再重复说明。

978-7-111-43463-4-Chapter04-40.jpg(www.xing528.com)

图4-5 定时器在方式1时的逻辑结构

3.方式2

当M1、M0为10时,定时器/计数器工作在方式2。方式2为8位定时器/计数器工作状态。TLx计满溢出后,会自动预置或重新装入THx寄存的数据。TLi为8位计数器,THi为常数缓冲器。当TLi计满溢出时,使溢出标志TFi置1。同时将THi中的8位数据常数自动重新装入TLi中,使TLi从初值开始重新计数。定时器T0工作于方式2的逻辑框图如图4-6所示。

这种工作方式可以省去用户软件重装初值,简化定时常数的计算方法,可以实现相对比较精确的定时控制。方式2常用于定时控制。如希望得到1s的延时,若采用12MHz的振荡器,则计数脉冲周期即机器周期为1μs,如果设定TL0=56,TH0=56,978-7-111-43463-4-Chapter04-41.jpg=0,TLi计满刚好200μs,中断5000次就能实现。另外,方式2还可用作串行接口的波特率发生器。

978-7-111-43463-4-Chapter04-42.jpg

图4-6 定时器在方式2时的逻辑结构

4.方式3

当M1、M0为11时,定时器工作于方式3。方式3只适用于T0。当T0工作在方式3时,TH0和TL0分为两个独立的8位定时器,可使MCS-51系列单片机具有3个定时器/计数器。定时器T0工作于方式3时的逻辑图如图4-7所示。

此时,TL0可以作为定时器/计数器用。使用T0本身的状态控制位C/T,GATE,TR0,978-7-111-43463-4-Chapter04-43.jpg和TF0,它的操作与方式0和方式1类似。但TH0只能用作8位定时器,不能用作计数器,TH0的控制占用T1的中断资源TR1和TF1和T1的中断资源。在这种情况下,T1可以设置为方式0~2。此时定时器T1只有两个控制条件,即C/T、M1和M0,只要设置好初值,T1就能自动启动和记数。在T1的控制字M1、M0定义为11时,它就停止工作。通常,当T1用作串行接口波特率发生器或用于不需要中断控制的场合,T0才定义为方式3,目的是让单片机内部多出一个8位的计数器。

978-7-111-43463-4-Chapter04-44.jpg

图4-7 定时器在方式3时的逻辑结构

T0(P3.4)和T1(P3.5)两个引脚为计数输入端。外部输入的脉冲在出现从1到0的负跳变时有效,计数器进行加1。计数方式下,单片机在每个机器周期的S5P2拍节时对外部计数脉冲进行采样。如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。在下一机器周期的S3P1进行计数。即采样计数脉冲需要2个机器周期,即24个振荡周期。因此,计数脉冲的频率最高为振荡脉冲频率的1/24。

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

我要反馈