9.5 定时器/计数器工作模式3的C51程序设计
51系列单片机的定时器/计数器工作模式3,是将16位计数器分成两个相互独立的8位计数器TL0和TH0。
9.5.1 定时器/计数器工作模式3
在工作模式0中,当置定时器/计数器T0寄存器TMOD的M1=1、M0=1时,T0就工作在模式0状态。定时器/计数器的工作模式3只适用于T0。对于T1,设置为模式3时,相当于使TR1=0,使其停止计数,没有什么实际意义。
在工作模式3下,TL0使用了T0的状态控制位、GATE、TR0、
和TF0。其操作情况与模式0和模式1相同,既可以按计数方式工作,也可以按定时方式工作。在定时器工作方式下,其定时时间=(28-T0初值)×时钟周期×12。
在工作模式3下,TH0被固定为一个只能按定时方式工作的8位定时器,即只对机器周期计数,其定时时间=(28-T0初值)×时钟周期×12。TH0使用了T1的状态控制位TR1和TF1,并占用了T1的中断。因此TH0由TR1控制启动和停止,TH0溢出时将置位TF1。
一般来说,当计数范围较小且要求增加一个附加的8位定时器时,可以使用定时器的工作模式3,此时单片机具有3个定时器/计数器。例如,有些系统中需要两个计数范围在256以内的定时器/计数器,同时又需要使用串行通信。这时,可以将T0设置为工作模式3,TH0控制了T1的中断,此时T1可以设置为模式0、模式1或模式2,用在作为串行通信接口的波特率发生器。