定時/計(jì)數(shù)器結(jié)構(gòu)(T0和T1)
定時器的區(qū)別:
T0可分成2個獨(dú)立的8位定時器,而定時器1則不能;
T1可作為串口的波特率發(fā)生器,而定時器0則不能。
定時器:脈沖來源是由系統(tǒng)的時鐘晶振器輸出脈沖源提供
計(jì)數(shù)器:脈沖來源是由T0或T1引腳(P3.4或P3.5)輸入的外部脈沖源提供
用途:定時器和計(jì)數(shù)器
核心:加1計(jì)數(shù)器
原理:每來一個脈沖則加1計(jì)數(shù)器加1,當(dāng)加到全1時再來一個脈沖使加1計(jì)數(shù)器歸零,同時加1計(jì)數(shù)器的溢出使TCON寄存器中的TF0(或TF1)置1,向CPU發(fā)出中斷請求
脈沖來源:
注:T0或T1都不能同時既做定時器也做計(jì)數(shù)器
補(bǔ)充:
計(jì)數(shù)器工作原理:
用作計(jì)數(shù)器時,對T0或T1引腳的外部脈沖計(jì)數(shù),如果前一個機(jī)器周期采樣值為1,后一個機(jī)器周期采樣值為0 ,則說明有一個脈沖,計(jì)數(shù)器加1。
在每個機(jī)器周期的S5P2期間采樣引腳輸入電平。新的計(jì)數(shù)初值于下一個機(jī)器周期的S3P1期間裝入計(jì)數(shù)器。
此種方式需要兩個機(jī)器周期來檢測一個1->0負(fù)跳變信號,因此最高的計(jì)數(shù)頻率為時鐘頻率的1/24。
S5P2:
S5P2指的是第5個時鐘周期的相位2。
晶體振蕩器的振蕩信號從XTAL2端輸入到片內(nèi)的時鐘發(fā)生器上,時鐘發(fā)生器是一個二分頻觸發(fā)器電路,它將振蕩器的信號頻率除以2,向CPU提供了兩相時鐘信號P1和P2。時鐘信號的周期稱為機(jī)器狀態(tài)時間S,它是振蕩周期的2倍。在每個時鐘周期(即機(jī)器狀態(tài)時間S)的前半周期,相位1(即P1信號)有效,在每個時鐘周期的后半周期,相位2(即P2信號)有效。
使用的寄存器
TCON控制寄存器:啟動和停止定時/計(jì)數(shù)器的計(jì)數(shù),并控制定時器的工作狀態(tài),不能按位尋址
TMOD方式寄存器:設(shè)置定時器的工作方式,選擇定時或計(jì)數(shù)的功能,可以按位尋址。(和中斷共用寄存器,高四位為定時計(jì)數(shù)器使用,低四位為中斷使用)
注:GATE邏輯結(jié)構(gòu)此處略過
工作方式:
方式0
計(jì)算公式:
最大計(jì)數(shù):8192個機(jī)器周期
工作原理:13位計(jì)數(shù)器,使用TL0的低5位和TH0的高8位組成,TL0的低5位溢出時向TH0進(jìn)位。TH0溢出時發(fā)出中斷請求。
方式1
計(jì)算公式:
最大計(jì)數(shù):65536個機(jī)器周期
工作原理:16位計(jì)數(shù)器,TL0作為低8位,TH0作為高8位
方式2:自動重裝初值的8位計(jì)數(shù)方式
計(jì)算公式:p.s.晶振頻率必須選擇12的整數(shù)倍,因?yàn)槎〞r器的頻率是晶振頻率的1/12。
最大計(jì)數(shù):256個機(jī)器周期
優(yōu)點(diǎn):適合做比較精準(zhǔn)的脈沖信號發(fā)生器
缺點(diǎn):
工作原理:計(jì)數(shù)器溢出后,計(jì)數(shù)器自動將上次設(shè)置的初值重裝。
方式3:p.s.只能用于定時/計(jì)數(shù)器T0,T0工作在方式3時,T1不要使用在有中斷的場合。通常該種情況下T1用作串口波特率發(fā)生器
工作原理:將T0分成兩個獨(dú)立的8位定時/計(jì)數(shù)器TL0和TH0。
TL0為正常的8位定時/計(jì)數(shù)器,計(jì)數(shù)器溢出后置位TF0,申請中斷,之后重裝初值。
TH0也是8位定時/計(jì)數(shù)器,但由于TL0占用了TF0和TR0,因此TH0占用定時器TF1和TR1(所以T1不能用)
時鐘周期/機(jī)器周期計(jì)算:
定時/計(jì)數(shù)器初始化
對TMOD賦值,確定T0和T1的工作方式
計(jì)算初值,并將其寫入TH.x和TL.x
使用中斷方式時對IE寄存器賦值開發(fā)中斷
使TR0或TR1置位,啟動定時/計(jì)數(shù)器
-
脈沖
+關(guān)注
關(guān)注
20文章
892瀏覽量
95658 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94679
原文標(biāo)題:51單片機(jī) | 定時/計(jì)數(shù)器原理及結(jié)構(gòu)
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論