上篇文章太長了,快上4K字了,我要新開一篇繼續(xù)寫。
繼續(xù)寫這個定時器,注意的是,崽每個機(jī)器周期完成的時候計數(shù)。S5P2的時候如果采樣到高變低的情況,認(rèn)為是個脈沖。在下一個機(jī)器周期的S3P1進(jìn)行計數(shù)。
除12,計數(shù)頻率就是1Mhz,也就是微妙的級別
反過來就是裝載值
結(jié)構(gòu)框圖
TH,TL X2+TMOD+TCON,就這點東西。
TH 高8位,TL 低8位。,合起來就是16位的寄存器。
用來放T1計數(shù)器的初值,T1可以當(dāng)作波特率的生成器
是一個單獨(dú)的器件
8位的寄存器,44分開,高走1,低走0,M1M0搭配選功能
CT這里就是選擇定時器的作用,GATE是外部引腳的干預(yù)
還有的就是TCON,TF是溢出標(biāo)志位,可以用軟件查這位,滿的時候為1,查完寫0?,中斷的時候為中斷標(biāo)志位,自動清0.
TR是啟動位置,ET是中斷控制。
方式0
此時為13位的定時器,低5高8,低5溢出的時候向高8進(jìn)位,高8滿的時候,觸發(fā)TF位。
CT是決定工作模式
0的位置是,12分頻后的計數(shù)信號。1是計時器。
還有門
GATE恒為0,A的點位恒為1,B點就取決于TR1這個位置。
計數(shù)脈沖加到T1的時候,允許T1計數(shù),TRX為0,B為低電位,電子開關(guān)斷開,禁止T1計數(shù)。
其實就是開關(guān),前面不管多亂,后面就在安安靜靜的數(shù)數(shù),一個倆個
方式1的話,就是TL,TH都啟用了,全16位。剩下都一樣了。
方式2?,感覺很高級的一種
0,1方式在溢出后,計數(shù)器為0,在循環(huán)定時的時候需要重新裝載這個計數(shù)器的初值。這個動作要耗費(fèi)時間,而且你看,編程也麻煩。
那就有了這第二種做法,自動的裝載初值。
TH高位做常數(shù)緩存器,低位溢出的時候,在把這個溢出的信號(TF=1)送出的時候,自動把TH中的常數(shù)送給TL,TL現(xiàn)在就有開始工作了。
好好記住是TL位置溢出的時候,TH裝載
最后一種我就不說了,感覺現(xiàn)在說了沒有意義。
。。。還是說了吧,0,1,2其實都是一個定時器搭配的使用。
這個模式就對T0生效,TL0和TH0就相當(dāng)于2個八位的定時器。
現(xiàn)在有三個定時器了
此時T1做波特率發(fā)生器,同時把TF1的溢出位也占用了。
由于確定一次負(fù)跳變,需要兩個機(jī)器周期,因此外部的脈沖頻率最高位為1/24,12Mhz的晶體,可以輸入的脈沖是500KHz,占空比沒有限制,不過為了在給點電平變化前采樣一次,這一電平至少也得保持一個機(jī)器周期。
Tcy是一個機(jī)器周期
如何輸出一個方波,使用定時器。周期使用定時器T0來確定,使用中斷。
在T0里面設(shè)置一個時間的常數(shù)(初值),沒1ms中斷一次,CPU響應(yīng)以后,在ISR里面給IO取反。
初值的計算,機(jī)器周期=12/頻率。
公式:(216– X)× 12 ÷ 晶振頻率 = 定時時間(默認(rèn)單位us)
———————————————————————————————
X是未知量
———————————————————————————————
216是根據(jù)方式選擇的,可以自行選擇,方式1為16位
方式0 :213 (少用)
方式1 :216 (最常用)
方式2 :28 (常用)
?
1s=1000ms,1ms=1000us
定時器T0工作在方式一,晶振頻率為11.0592MHZ,需要定時時間0.5s怎么做?
1. 1s=1000ms,1ms=1000us。
2. 此時計算最大的計數(shù)間隔(216-0)× 12 ÷ 11.0592=71ms,定時時間最大只能算到71ms,而0.5s=500ms,距離需要的時間還差429ms
3. 所以算5ms再循環(huán)個100次,這樣就可以得到5ms*100=500ms(0.5s)
500ms先換算成us單位就是5000us公式:(216-X)× 12 ÷ 11.0592=5000(us)
?X=60928把十進(jìn)制60928轉(zhuǎn)換為16進(jìn)制=0xee00,分配高8位TH=0xee,低8位TL=0x00
開始使用自減結(jié)構(gòu),減完做判斷,在100次完成后,重新裝載i值。
剩下就是具體應(yīng)用的細(xì)節(jié),我當(dāng)然還會繼續(xù)寫。
接下來可能會寫ESP32的定時器或是ESP8266的,不管怎么說,有了51的基礎(chǔ),剩下的都是So easy。
明顯就是一個現(xiàn)代的MCU的定時器配置了
審核編輯: 劉清
評論
查看更多