定时/计数器T0有方式3,而T1没有(只有方式0~2)。当寄存器TMOD低4位中的M1=1、M0=1时,定时/计数器T0工作在方式3。在方式3时,定时/计数器T0用作计数器或定时器。
1.在方式3时,定时/计数器T0的工作原理
在方式3时,定时器,计数器T0用作计数器或定时器,在该方式下T0的电路结构如图5-8所示。
从图中可以看出,在方式3时,T0被分成TL0、TH0两个独立的8位计数器,其中TL0受T0的全部控制位控制(即原本控制整个T0的各个控制位,在该方式下全部用来控制T0的TL0计数器),而TH0受T1的部分控制位(TR1位和TF1位)控制。在方式3时,TL0既可用作8位计数器(对外部信号计数),也可用作8位定时器(对内部信号计数);TH0只能用作8位定时器,它的启动受TR1的控制(TR1原本用来控制定时/计数器T1),当TR1=1时,TH0开始工作,当TR1=0时,TH0停止工作,当TH0计数产生溢出时会向TF1置位。
2.在方式3时,定时/计数器T1的工作原理
当T0工作在方式3时,它占用了T1的一些控制位,此时T1还可以工作在方式0~2(可通过设置寄存器TMOD高4位中的M1、M0的值来选择),T1在这种情况下一般用作波特率发生器。当T0工作在方式3时,T1工作在方式1和方式2的电路结构分别如图5-9a、b所示。
(www.xing528.com)
图5-8 定时/计数器T0在方式3时的电路结构
图5-9 T0在方式3时T1工作在方式1和方式2的电路结构
a)T1模式(或模式0) b)T1模式2
图5-9a是定时/计数器T1工作在方式1时的电路结构。在该方式下,T1是一个16位计数器,由于TR1控制位已被借用来控制T0的高8位计数器TH0,所以T1在该方式下无法停止,一直处于工作状态,另外由于TF1位也借给了TH0,所以T1溢出后也不能对TF1进行置位产生中断请求信号,T1溢出的信号只能输出到串行通信口,此方式下的T1为波特率发生器。
图5-9b是定时/计数器T1工作在方式2时的电路结构。在该方式下,T1是一个8位自动重装计数器,除了具有自动重装载功能外,其他与方式1相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。