★5.2.3  方式2(模式2)

★5.2.3 方式2(模式2)

当M1、M0的两个D1、D0位为10时,定时/计数器T0被选为工作方式2,为8位计数器,其逻辑结构如图5-5所示。TL0作为8位计数器,TH0作为重置初值的缓冲器,在程序初始化时,由软件赋予同样的初值,一旦计数器溢出便置位TF0,同时自动将TH0中的初值再装入TL0,从而进入新一轮的计数,如此循环不止,而TH0中的初值始终不变。最大计数值为28=256。其一次定时时间为(28-初值)×时钟周期×12。方式2仅用TL0计数,计数满溢出后,一方面进位TF0,使溢出标志TF0=1,请求中断;另一方面,使原来装在TH0中的初值装入TL0。所以方式2能自动恢复定时器/计数器初值。而在方式0、方式1时,定时/计数器的初值不能自动恢复,必须用指令重新给TH0、TL0赋值。所以方式2既有优点又有缺点。优点是定时初值可自动恢复,缺点是计数范围小。

978-7-111-54295-7-Chapter05-19.jpg

图5-5 T0方式2逻辑结构

方式2适用于需要重复定时,而定时范围不大的应用场合。具有初值自动装入的功能,可以避免在程序中因重新装入初值而对定时精度的影响,适用于需要产生高精度的定时时间的应用场合,常用作串行接口波特率发生器。