首页 理论教育 定时计数器工作方式概述

定时计数器工作方式概述

时间:2026-01-27 理论教育 蒙娜丽莎 版权反馈
【摘要】:定时/计数器有4种工作方式,每种工作方式下,内部计数器的位数及功能有所不同。此时,定时/计数器内部的计数器为13位计数器,由THi提供高8位,TLi提供低5位。①作定时器用时,定时时间:②作计数器用时,计数值:C=28-计数初值=256-计数初值4.工作方式3当TMOD中的M1M0=11时,定时/计数器工作在方式3。T0工作在方式3时的定时/计数值计算与方式2相同。

定时/计数器有4种工作方式,每种工作方式下,内部计数器的位数及功能有所不同。

1.工作方式0

当TMOD中的M1M0=00时,定时/计数器工作在方式0。此时,定时/计数器内部的计数器为13位计数器,由THi提供高8位,TLi提供低5位。若在THi和TLi中设置好计数初值,且启动定时/计数器就可以进行加法计数。TLi低5位计数满时直接向THi进位,当13位计数器计数满时,定时器溢出中断请求标志位TF i置1。此种工作方式下内部计数器的最大计数值为213=8 192。定时时间及计数值可按如下公式计算。

①作定时器用时,定时时间:

②作计数器用时,计数值:

C=213-计数初值=8 192-计数初值

2.工作方式1

当TMOD中的M1M0=01时,定时/计数器工作在方式1。此时,定时/计数器内部的计数器为16位计数器,由THi提供高8位,TLi提供低8位。在THi和TLi中设置好计数初值,启动定时/计数器就可以进行加法计数。当16位计数器计数满时,定时器溢出中断请求标志位TF i置1。此种工作方式下内部计数器的最大计数值为216=65 536。定时时间及计数值可按如下计算。

①作定时器用时,定时时间:

②作计数器用时,计数值:

C=216-计数初值=65 536-计数初值

例如:当fosc=6 MHz时,计数初值为0FF06H(65 286),则定时时间为(https://www.xing528.com)

3.工作方式2

当TMOD中的M1M0=10时,定时/计数器工作在方式2。此时,定时/计数器内部的计数器为自动重装初值的8位计数器。两个8位计数器THi和TLi中的TLi作加法计数器,THi作为预置常数寄存器。当TLi计数满时,将中断请求TF i置1,同时将THi中的计数初值以硬件方法自动装入TLi。此种工作方式下内部计数器的最大计数值为28=256。定时时间及计数值可按如下计算。

①作定时器用时,定时时间:

②作计数器用时,计数值:

C=28-计数初值=256-计数初值

4.工作方式3

当TMOD中的M1M0=11时,定时/计数器工作在方式3。此时定时/计数器T0可拆成两个独立的8位定时/计数器使用,T1不变。当定时/计数器工作在方式3时,T0、T1的设置和使用方法是不同的。

定时/计数器T0中的两个8位计数器TH0、TL0拆分为两个独立的计数器后,TL0所对应的定时/计数器使用T0原有控制资源,即使用TR0控制启停,TF0作为溢出标志。TH0所对应的定时/计数器只能作8位定时器用,借用T1的资源TR1、TF1。

T0工作在方式3时的定时/计数值计算与方式2相同。

定时/计数器T1仍然可工作于方式0~方式2下,只是由于其TR1、TF1被T0的TH0占用,因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。

微课:定时器初始化程序设计

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

我要反馈