51單片機(jī)定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和原理
T0由2個(gè)定時(shí)寄存器TH0和TL0構(gòu)成,T1則由TH1和TL1構(gòu)成,它們都分別映射在特殊功能寄存器中,從而可以通過(guò)對(duì)特殊功能寄存器中這些寄存器的讀寫(xiě)來(lái)實(shí)現(xiàn)對(duì)這兩個(gè)定時(shí)器的操作。作定時(shí)器時(shí),每一個(gè)機(jī)器周期定時(shí)寄存器自動(dòng)加l,所以定時(shí)器也可看作是計(jì)量機(jī)器周期的計(jì)數(shù)器。由于每個(gè)機(jī)器周期為12個(gè)時(shí)鐘振蕩周期,所以定時(shí)的分辨率是時(shí)鐘振蕩頻率的1/12。作計(jì)數(shù)器時(shí),只要在單片機(jī)外部引腳T0(或T1)有從1到0電平的負(fù)跳變,計(jì)數(shù)器就自動(dòng)加1。計(jì)數(shù)的最高頻率一般為振蕩頻率的l/24。
工作方式:
T0或T1無(wú)論用作定時(shí)器或計(jì)數(shù)器都有4種工作方式:方式0、方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作狀態(tài)。下面以T1為例,分述各種工作方式的特點(diǎn)和用法。
1、工作方式0:
13位方式由TL1的低5位和TH1的8位構(gòu)成13位計(jì)數(shù)器(TL1的高3位無(wú)效)。工作方式0的結(jié)構(gòu)見(jiàn)下圖:
圖中,C/T為定時(shí)/計(jì)數(shù)選擇:C/T=0,T1為定時(shí)器,定時(shí)信號(hào)為振蕩周期12分頻后的脈沖;C/T=l,T1為計(jì)數(shù)器,計(jì)數(shù)信號(hào)來(lái)自引腳T1的外部信號(hào)。
定時(shí)器T1能否啟動(dòng)工作,還受到了R1、GATE和引腳信號(hào)INT1的控制。由圖中的邏輯電路可知,當(dāng)GATE=0時(shí),只要TR1=1就可打開(kāi)控制門(mén),使定時(shí)器工作;當(dāng)GATE=1時(shí),只有TR1=1且INT1=1,才可打開(kāi)控制門(mén)。GATE,TR1,C/T的狀態(tài)選擇由定時(shí)器的控制寄存器TMOD,TCON中相應(yīng)位狀態(tài)確定,INT1則是外部引腳上的信號(hào)。
在一般的應(yīng)用中,通常使GATE=0,從而由TRl的狀態(tài)控制Tl的開(kāi)閉:TRl=1,打開(kāi)T1;TRl=0,關(guān)閉T1。在特殊的應(yīng)用場(chǎng)合,例如利用定時(shí)器測(cè)量接于INT1引腳上的外部脈沖高電平的寬度時(shí),可使GATE=1,TRl=1。當(dāng)外部脈沖出現(xiàn)上升沿,亦即INT1由0變1電平時(shí),啟動(dòng)T1定時(shí),測(cè)量開(kāi)始;一旦外部脈沖出現(xiàn)下降沿,亦即INT1由l變O時(shí)就關(guān)閉了T1。
定時(shí)器啟動(dòng)后,定時(shí)或計(jì)數(shù)脈沖加到TLl的低5位,從預(yù)先設(shè)置的初值(時(shí)間常數(shù))開(kāi)始不斷增1。TL1計(jì)滿(mǎn)后,向THl進(jìn)位。當(dāng)TL1和THl都計(jì)滿(mǎn)之后,置位T1的定時(shí)器回零標(biāo)志TFl,以此表明定時(shí)時(shí)間或計(jì)數(shù)次數(shù)已到,以供查詢(xún)或在打開(kāi)中斷的條件下,可向CPU請(qǐng)求中斷。如需進(jìn)一步定時(shí)/計(jì)數(shù),需用指令重置時(shí)間常數(shù)。
2、工作方式1:
16位方式。與工作方式0基本相同,區(qū)別僅在于工作方式1的計(jì)數(shù)器TL1和TH1組成16位計(jì)數(shù)器,從而比工作方式0有更寬的定時(shí)/計(jì)數(shù)范圍。工作方式1的結(jié)構(gòu)見(jiàn)下圖。
3、工作方式2
8位自動(dòng)裝入時(shí)間常數(shù)方式。由TLl構(gòu)成8位計(jì)數(shù)器,THl僅用來(lái)存放時(shí)間常數(shù)。啟動(dòng)T1前,TLl和THl裝入相同的時(shí)間常數(shù),當(dāng)TL1計(jì)滿(mǎn)后,除定時(shí)器回零標(biāo)志TFl置位,具有向CPU請(qǐng)求中斷的條件外,THl中的時(shí)間常數(shù)還會(huì)自動(dòng)地裝入TLl,并重新開(kāi)始定時(shí)或計(jì)數(shù)。所以,工作方式2是一種自動(dòng)裝入時(shí)間常數(shù)的8位計(jì)數(shù)器方式。由于這種方式不需要指令重裝時(shí)間常數(shù),因而操作方便,在允許的條件下,應(yīng)盡量使用這種工作方式。當(dāng)然,這種方式的定時(shí)/計(jì)數(shù)范圍要小于方式0和方式1。工作方式2的結(jié)構(gòu)見(jiàn)下圖.
4、工作方式3
2個(gè)8位方式。工作方式3只適用于定時(shí)器0。如果使定時(shí)器1為工作方式3,則定時(shí)器1將處于關(guān)閉狀態(tài)。
當(dāng)T0為工作方式3時(shí),THo和TL0分成2個(gè)獨(dú)立的8位計(jì)數(shù)器。其中,TL0既可用作定時(shí)器,又可用作計(jì)數(shù)器,并使用原T0的所有控制位及其定時(shí)器回零標(biāo)志和中斷源。TH0只能用作定時(shí)器,并使用T1的控制位TRl、回零標(biāo)志TFl和中斷源,見(jiàn)下圖。
通常情況下,T0不運(yùn)行于工作方式3,只有在T1處于工作方式2,并不要求中斷的條件下才可能使用。這時(shí),T1往往用作串行口波特率發(fā)生器(見(jiàn)1.4),TH0用作定時(shí)器,TL0作為定時(shí)器或計(jì)數(shù)器。所以,方式3是為了使單片機(jī)有1個(gè)獨(dú)立的定時(shí)器/計(jì)數(shù)器、1個(gè)定時(shí)器以及1個(gè)串行口波特率發(fā)生器的應(yīng)用場(chǎng)合而特地提供的。這時(shí),可把定時(shí)器l用于工作方式2,把定時(shí)器0用于工作方式3。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
評(píng)論