"MCS的定时器计数器-两个可编程的定时器计数器TT"
MCS的定时器计数器是单片机 MCS-51 中的两个可编程的定时器计数器,分别称为 T0 和 T1。它们可以工作在四种不同的工作方式下,每种方式都有其独特的应用场景。
定时器/计数器的结构
定时器/计数器的结构主要由两个寄存器组成:TMOD 和 TCON。TMOD 寄存器用于选择定时器/计数器的工作模式和工作方式,TCON 寄存器用于控制定时器/计数器的启动和停止计数,同时包含了定时器/计数器的状态信息。
工作方式控制寄存器 TMOD
TMOD 寄存器的高 4 位控制 T1 的工作方式,而低 4 位控制 T0 的工作方式。M1 和 M0 位决定了定时器/计数器的工作方式,有四种不同的工作方式:
* 方式 0:13 位定时器/计数器
* 方式 1:16 位定时器/计数器
* 方式 2:8 位自动重新装载
* 方式 3:仅适用于 T0,T0 分成两个 8 位计数器
定时器/计数器控制寄存器 TCON
TCON 寄存器的低 4 位与外部中断有关,而高 4 位的功能如下:
* TF1 和 TF0:计数溢出标志位
* TR1 和 TR0:计数运行控制位
四种工作方式
定时器/计数器有四种工作方式:
* 方式 0:13 位定时器/计数器
* 方式 1:16 位定时器/计数器
* 方式 2:8 位自动重新装载
* 方式 3:仅适用于 T0,T0 分成两个 8 位计数器
方式 0
方式 0 是一个 13 位定时器/计数器,在此方式下,C/T* 位决定工作模式,0 为定时器模式,1 为计数器模式。GATE 位决定定时器/计数器的运行取决于 TR1 和 INT* 的状态。
方式 1
方式 1 是一个 16 位定时器/计数器,在此方式下,C/T* 位决定工作模式,0 为定时器模式,1 为计数器模式。
方式 2
方式 2 是一个 8 位自动重新装载的定时器/计数器,在此方式下,TLX 作为常数缓冲器,当 TLX 计数溢出时,自动将 THX 中的初值送至 TLX,使 TLX 从初值开始重新计数。
方式 3
方式 3 仅适用于 T0,T0 分成两个 8 位计数器:TL0 和 TH0。TL0 使用 T0 的状态控制位 C/T*、GATE、TR0,而 TH0 被固定为一个 8 位定时器(不能作外部计数模式)。
定时器/计数器对输入信号的要求
定时器/计数器对输入信号的要求是,输入信号的最高频率为系统振荡器频率的 1/24,例如选择 12MHz 频率的晶体,则可输入 500KHz 的外部脉冲。输入信号的高、低电平至少要保持一个机器周期。
定时器/计数器的编程和应用
定时器/计数器可以应用于各种实际场景,例如生成方波、产生时钟信号等。在实际应用中,一般不使用方式 0,而采用方式 1。