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