9.4 定时器/计数器工作模式2的C51程序设计

51系列单片机的定时器/计数器工作模式2是8位自动重新装入的计数器,16位计数器分成独立的两个部分,其中TH0(或TH1)作为计数初值寄存器,用于存放和保持初值,初值在程序中设置。

9.4.1 定时器/计数器工作模式2

在工作模式2中,定时器/计数器T1和T0的组成结构与功能完全相同。当置寄存器TMOD的M1=1、M0=0时,T0和T1就工作在模式2状态。这里以T0为例进行介绍,T1的使用类似。

模式2具有使8位计数器TL0(或TL1)自动重装初值的功能,在程序初始化时,为TH0、TL0赋同样的初值,此后TL0每次溢出都由TH0重新装入初值。在这个过程中,不会丢失计数信号,且重新再装入也不会影响TH0中存放的初值。

装入初值并启动定时/计数器后,TL0按加法计数器工作,当TL0溢出时,使溢出标志位TF0进位置1,并选通三态门,将TH0存放的初值重新装入到TL0中,使TL0从初值开始继续下一轮的计数,如此循环下去。作为额外的用途,溢出信号还将送到串行通信系统,设置并产生串行通信波特率。

由于模式2的自动重装初始值的特性,使其对定时控制很有用,特别适用于计数范围较小、较精确的脉冲信号发生器,常作为串行口波特率发生器使用。其周期=(28-T0初值)×时钟周期×12。