3.1.2  定时器/计数器的工作模式

更新于 2026年10月10日 版权声明
3.1.2 定时器 /计数器的工作模式

1.工作模式0

TMOD中的M1和M0都为0值时设为工作模式0,由THx的全8位和TLx的低5位(高3位未用)组成13位计数器,最大计数值为213=8192。THx计数溢出时置位TFx=1,并向CPU申请中断或作查询用。

1)软件置图示,属定时器方式。定时时间T为:

T=(213-计数初值)×机器周期

2)软件置图示,属计数器方式,计数值N为:

N=213-计数初值

2.工作模式1

TMOD中的M1和M0分别为0和1时设为工作模式1,由THx和TLx全8位组成16位计数器,最大计数值为216=65536,工作原理与工作模式0相同。(https://www.daowen.com)

定时时间T为:T=(216-计数初值)×机器周期

计数值N为:N=216-计数初值

3.工作模式2

TMOD中的M1和M0分别为1和0时设为工作模式2(8位自动重装模式),自动重装初值逻辑结构部分见图3-3,其余未画出的部分与图3-2的左侧相同。

TLx用作8位计数器,THx用作自动重装初值,两者由软件预置相同初值(范围为1~256)。TLx计数溢出使TFx置位,同时发出重装初值的控制信号使三态门导通,自动把THx初值送入TLx并重新计数。常用作串行口通信的波特率发生器。

定时时间T为:T=(28-计数初值)×机器周期

计数值N为:N=28-计数初值

图示

图3-3 自动重装初值逻辑结构部分

4.工作模式3

TMOD中的M1和M0均为1时设为工作模式3(仅限于T0)。把TH0和TL0分成两个独立的8位计数器,TL0使用了自身的启/停控制位TR0和溢出标志位TF0;此时TH0因不能接收计数脉冲,只能作8位定时器用,且借用T1的启/停控制位TR1和溢出标志位TF1。T1在模式0、1和2中因没有溢出标志位TF1可用,在不需中断的场合可作波特率发生器并按设定的方式自动运行。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)