1.电路逻辑结构
在方式3下,定时器0分为两个独立的8位加1计数器TH0和TL0。其中TL0既可用于定时,也能用于计数;TH0只能用于定时。定时器/计数器0方式3逻辑结构如图5-8所示。
图5-8 定时器/计数器0方式3逻辑结构
加1计数器TL0占用了T0除TH0外的全部资源,与定时器/计数器T0相关的各个控制位和引脚信号均由它使用;与方式2相比,只是不能自动将定时初值或计数初值再装入TL0,而必须用程序来完成。加1计数器TH0只能用于简单的内部定时功能,它占用了原T1的控制位TR1和TF1,同时占用了T1中断源。
工作方式3下定时器/计数器0的另一半是TH0,只能作简单的定时器使用。而且由于寄存器TCON的定时器0的控制位已被TLO独占,因此,只能借用定时器1的控制位TR1和TF1为其服务。即用计数溢出置位TF1,而定时的启停则受TR1的状态控制。
由于TLO既能作定时器使用,也能作计数器使用,而TH0只能作定时器使用,所以在工作方式3下,定时器/计数器0可以分解为2个8位定时器或1个8位定时器和1个8位计数器。(www.xing528.com)
2.工作方式3下的定时器/计数器1
T1不能工作在方式3下,因为在T0工作在方式3下时,T1的控制位TR1、TF1和中断源被T0占用。T1可工作在方式0、方式1、方式2下,但其输出直接送入串行口。设置好T1的工作方式,T1就自动开始计数;若要停止计数,可将T1设为方式3。其使用方法如图5-9所示。
如果定时器/计数器0已经工作在工作方式3,则定时器/计数器1只能工作在方式0、方式1或方式2下,因为它的运行控制位TR1及计数溢出标志位TF1已被定时器/计数器0借用。其使用方法如图5-9所示。
这时,定时器/计数器1通常是作为串行口的波特率发生器使用。因为已没有计数溢出标志位TF1可供使用,因此只能把计数溢出直接送到串行口。作为波特率发生器使用时,只需设置好工作方式,便可自动运行。若要停止工作,只需向工作方式选择寄存器TMOD送入一个能把它设置为方式3的控制字就可以了。因为定时器/计数器1不能在方式3下使用,如果硬把它设置为方式3,就会停止工作。
图5-9 工作方式3下的定时器/计数器1使用方法
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。