1、 方式0
當位M1M0=00時。T為13位計數(shù)器,THi是高8位,TLi是低5位。
設計數(shù)值為N,則計數(shù)初值X=2^13-N;2^13=8192=2000H
例1:設fosc=6MHz,要求用T1的方式0定時10ms,求TH1、TL1的初值。
設計數(shù)初值為X;由已知條件得:1個機器周期=12/fosc=2us;
10,000us=12/fosc*(2^13-X)us
X=2^13-10000/2=8192-5000=3192=0C78H
得:TL1=18H,TH1=63H
2、 方式1
當位M1M0=01時。T為16位計數(shù)器,THi是高8位,TLi是低8位。
設計數(shù)值為N,則計數(shù)初值X=2^16-N;2^16==65536=10000H
例2:設fosc=6MHz,要求用T1的方式1定時100ms,求TH1、TL1的初值。
設計數(shù)初值為X;由已知條件得:1個機器周期=12/fosc=2us;
100,000us=12/fosc*(2^16-X)us
X=2^16-100000/2=65536-50000=15536=3CB0H
得:TH1=3CH,TL1=0B0H
3、 方式2
當位M1M0=10時。T為自動重裝初值的8位計數(shù)器,計數(shù)在TLi ,當TL溢出時,不僅使TF=1,同時將TH中的值自動送到TL,且TH的值不變。
設計數(shù)值為N,則計數(shù)初值X=2^8-N;2^8=256=100H
例3:設fosc=6MHz,要求用T1的方式2定時500us,求TH1、TL1的初值。
設計數(shù)初值為X;由已知條件得:1個機器周期=12/fosc=2us;
500us=12/fosc*(2^8-X)us
X=2^8-500/2=256-250=6
得:TH1=6H,TL1=6H,實際上只要給TH賦初值就行。
4、 方式3
當位M1M0=11時。只有T0才有方式3。若設T1為方式3,則使其停止工作。
T0為方式3時,TH0、TL0成為兩個獨立的8位計數(shù)器;TL0使用T0的控制資源:GATE、C//T、TR0、TF0、/INT0引腳等,可作為8位定時/計數(shù)器,而TH0占用T1的TR1、TF1,為固定的8位定時器。此時T1由方式位控制,方式3停止,方式0~2允許工作,但計數(shù)溢出時并不置TF1為1,即不能產(chǎn)生中斷請求。此情況下,一般是把T1用作串行口的波特率發(fā)生器。