1.前言
這里將介紹另一款定時(shí)器TMR2模塊,TMR2與前面介紹的TMR0和TMR1相比,最大的差別是只能工作于定時(shí)模式,因此稱它為“定時(shí)器TMR2”。
2.TMR2的特性
TMR2為8位寬,附帶二個(gè)4位寬的分頻器:一個(gè)“預(yù)分頻器”和一個(gè)“后分頻器”,一個(gè)可編程的8位周期寄存器PR2。其主要用途:
1. 可以用作時(shí)間定時(shí)器,但是不能作為計(jì)數(shù)器;
2. 可以為同步串行端口MSSP模塊提供波特率時(shí)鐘;
3. 可以與CCP模塊配合使用,實(shí)現(xiàn)脈寬調(diào)制PWM功能。
TMR2的核心是一個(gè)可以由軟件讀/寫的8位寬的計(jì)數(shù)器,它也是按遞增計(jì)數(shù),從某一初值(缺省為0)開(kāi)始遞增,直到與周期寄存器PR2中內(nèi)容匹配之后,在下一次遞增時(shí)則返回到00H,并且會(huì)產(chǎn)生匹配信號(hào),該匹配信號(hào)將作為“后分頻器”的計(jì)數(shù)脈沖。
只有在后分頻器產(chǎn)生溢出時(shí),才會(huì)將溢出中斷標(biāo)志位TMR2IF(PIR1的bit1)置1。如果此時(shí)相關(guān)的中斷使能位都置位,則會(huì)引起CPU的中斷響應(yīng)。通過(guò)對(duì)中斷使能位TMR2IE的置位或復(fù)位,即可允許或禁止CPU響應(yīng)TMR2產(chǎn)生的中斷請(qǐng)求。
需要注意的是:
1. TMR2和RAM空間統(tǒng)一編址,地址為11H;
2. 可用軟件方式直接讀/寫TMR2的內(nèi)容;
3. 有一個(gè)4位的預(yù)分頻器和一個(gè)4位的后分頻器;
4. 有一個(gè)8位周期寄存器;
5. 累加計(jì)數(shù)的觸發(fā)信號(hào)只能選擇內(nèi)部系統(tǒng)時(shí)鐘;
3. TMR2相關(guān)的寄存器
與TMR2有關(guān)的寄存器共有6個(gè),如下表所示。這6個(gè)寄存器中的前3個(gè)寄存器的功能可以查看“中斷系統(tǒng)”。在此介紹TMR2控制寄存器T2CON。
TMR2控制寄存器T2CON是一個(gè)只用到低7位的可讀/寫寄存器,最高位未用,其余各位的含義如下:
1. TOUT-PS3~TOUT-PS0:TMR2后分頻器分頻比選擇位,如下表所列:
2. TMR2-ON:TMR2使能控制位。1=啟用TMR2;0=關(guān)閉TMR2,可以降低功耗。
3. T2CK-PS1~T2CK-PS0:預(yù)分頻器分頻比選擇位。
4. TMR2的電路結(jié)構(gòu)
TMR2的內(nèi)部結(jié)構(gòu),如下圖所示,包含5個(gè)組成部分。下面分析各個(gè)部分的功能和組成關(guān)系。
核心部分就是一個(gè)8位寬的累加計(jì)數(shù)器TMR2。其復(fù)位值是00H,也可以是在00H~FFH范圍內(nèi)由用戶設(shè)定的一個(gè)起始值。
4位寬的預(yù)分頻器,對(duì)于進(jìn)入TMR2的時(shí)鐘信號(hào)進(jìn)行預(yù)先分頻,允許選擇3種不同的分頻比(1:1、1:4或1:16)。
注意:在對(duì)TMR2或控制寄存器進(jìn)行寫操作時(shí),都可以使預(yù)分頻器清0;在用任何方式復(fù)位時(shí),都會(huì)對(duì)預(yù)分頻器清0。
周期寄存器PR2也是一個(gè)8位可讀/寫寄存器。用來(lái)預(yù)置一個(gè)作為TMR2一次計(jì)數(shù)過(guò)程結(jié)束的周期值。芯片復(fù)位后PR2寄存器被自動(dòng)設(shè)置為全1(FFH)。
比較器是一個(gè)8位寬的按位比較邏輯電路,只有當(dāng)參加比較的兩組數(shù)據(jù)完全相同之后,下一次遞增時(shí),“匹配”輸出端才會(huì)送出高電平,其他情況下該輸出端均保持低電平。
4位寬的后分頻器,對(duì)于比較器的輸出信號(hào)進(jìn)行后續(xù)分頻,允許連續(xù)選擇16種分頻比,其輸出信號(hào)頻率是輸入信號(hào)頻率的1/N (N=1~16) 。
TMR2的工作是可控的,所以還包含一個(gè)控制門G1。只有當(dāng)TMR2使能位TMR2ON置1,系統(tǒng)時(shí)鐘才能通過(guò)G1,TMR2也才能進(jìn)入活動(dòng)狀態(tài)。
5.TMR2的工作原理
TMR2只有一種工作方式:定時(shí)器方式,其觸發(fā)鐘信號(hào)也只能從內(nèi)部系統(tǒng)時(shí)鐘4分頻后得到。
5.1 禁止TMR2工作
TMR2也比TMR0多了一種選擇,即可以被用戶程序關(guān)閉而節(jié)電,此點(diǎn)類似于TMR1。具體方法是將TMR2使能控制位TMR2ON清0。此時(shí)與門G1的一只引腳被低電平封鎖,其輸出端均保持低電平;因此使得累加計(jì)數(shù)器TMR2不能活動(dòng)。
5.2 定時(shí)工作方式
TMR2只有定時(shí)工作模式,該模式可以被用來(lái)實(shí)現(xiàn)一般的延時(shí)或定時(shí)。但是,TMR2的主要目的并不是把它用作普通的定時(shí)器,而是為CCP模塊或MSSP模塊提供周期可調(diào)的時(shí)基信號(hào)。
用作周期可調(diào)的時(shí)基發(fā)生器
當(dāng)TMR2被用作周期可調(diào)的時(shí)基發(fā)生器時(shí),可以為CCP模塊或MSSP模塊提供周期可調(diào)的時(shí)基信號(hào)。
這時(shí),應(yīng)該將中斷使能位TMR2IE清0,即屏蔽TMR2的中斷功能,相當(dāng)于把后分頻器的作用也屏蔽了;通過(guò)對(duì)周期寄存器PR2設(shè)置不同的值,以及給預(yù)分頻器設(shè)定不同的分頻比,來(lái)靈活調(diào)整TMR2輸出端的信號(hào)周期TTMR2 。該周期的計(jì)算式為:
TTMR2=(4/fosc)*N1*(PR2+1)
其中:fosc為系統(tǒng)時(shí)鐘頻率;N1為預(yù)分頻器的分頻比(取1、4或16);PR2為周期寄存器預(yù)賦值;PR2+1是因?yàn)樵赥MR2與PR2匹配后的下一次增量時(shí)TMR2才回00H。
用作延遲時(shí)間可調(diào)周期性定時(shí)器
把TMR2作為延遲時(shí)間可調(diào)的周期性定時(shí)器,會(huì)比TMR0的定時(shí)方式更加節(jié)省軟件開(kāi)銷。
TMR2不必像TMR0那樣,每次溢出后,都要給寄存器TMR2賦初值。只要一次性設(shè)定溢出周期(通過(guò)設(shè)定預(yù)分頻器、后分頻器以及PR2來(lái)實(shí)現(xiàn)),TMR2就將會(huì)周期性地按預(yù)先設(shè)定的溢出周期產(chǎn)生超時(shí)中斷。該超時(shí)溢出周期的計(jì)算式為 :
TTMR2IF=(4/fosc)*N1*(PR2+1)*N2
其中,N2為后分頻器的分頻比(連續(xù)可取1~16)。這時(shí)的簡(jiǎn)化電路如下圖所示:
用作普通定時(shí)器
TMR2也可以像TMR0那樣用作普通的定時(shí)器,這樣使用時(shí),可以將后分頻器的分頻比設(shè)定為1:1,PR2的值設(shè)定為最大值FFH,就相當(dāng)于把后分頻器、周期寄存器以及比較器的功能禁止掉了,使得它們不發(fā)揮作用。
從而使TMR2簡(jiǎn)化為類似于TMR0一樣,帶有一個(gè)分頻比可設(shè)定為1:1、1:4或1:16的4位預(yù)分頻器。這時(shí)超時(shí)溢出周期的計(jì)算式為:
TTMR2IF=(4/fosc)*N1*(256-M)
其中,M為TMR2的初始值。簡(jiǎn)化電路如下圖所示:
采用這種用法時(shí),需要在TMR2每次超時(shí)溢出時(shí),都要給TMR2賦一次初始值。累加計(jì)數(shù)寄存器TMR2,就會(huì)以該初始值為起點(diǎn)開(kāi)始增量,直到遞增到FFH,之后再出現(xiàn)一個(gè)計(jì)數(shù)脈沖,就會(huì)將TMR2復(fù)位清0,并且發(fā)出中斷請(qǐng)求(TMR2IF被置1)。如果想把預(yù)分頻器的功能禁止掉,可以把它的分頻比也設(shè)置為1:1,這樣就相當(dāng)于把預(yù)分頻器給短路掉了。
-
定時(shí)器
+關(guān)注
關(guān)注
23文章
3255瀏覽量
115376 -
TMR2
+關(guān)注
關(guān)注
0文章
2瀏覽量
6934
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
伺服控制TMR2
探討一下PIC單片機(jī)定時(shí)器TMR2
計(jì)數(shù)器的結(jié)構(gòu)和工作原理
CH579清除TMR2中斷標(biāo)志位失效是為什么?怎么處理?
定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)和工作原理
![<b class='flag-5'>定時(shí)器</b>/計(jì)數(shù)<b class='flag-5'>器</b>的<b class='flag-5'>結(jié)構(gòu)</b>和<b class='flag-5'>工作原理</b>](https://file1.elecfans.com//web2/M00/A4/AA/wKgZomUMNTOATgnNAABLRodg_Hs583.jpg)
PIC單片機(jī)定時(shí)器模塊應(yīng)用
![PIC單片機(jī)<b class='flag-5'>定時(shí)器</b>模塊應(yīng)用](https://file.elecfans.com/web2/M00/48/DB/pYYBAGKhtCmAW0AJAAAKQu2PrgQ469.jpg)
單片機(jī)計(jì)數(shù)器_定時(shí)器工作原理_
PIC單片機(jī)的定時(shí)器TMR2的資料簡(jiǎn)介
![PIC單片機(jī)的<b class='flag-5'>定時(shí)器</b><b class='flag-5'>TMR2</b>的資料簡(jiǎn)介](https://file.elecfans.com/web1/M00/A8/29/pIYBAF2J6BmAD0U8AABm_nJeBbE319.png)
51單片機(jī)之定時(shí)器\計(jì)數(shù)器的工作原理
![51單片機(jī)之<b class='flag-5'>定時(shí)器</b>\計(jì)數(shù)<b class='flag-5'>器</b>的<b class='flag-5'>工作原理</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
PIC單片機(jī)學(xué)習(xí) TMR2
![PIC單片機(jī)學(xué)習(xí) <b class='flag-5'>TMR2</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
51單片機(jī)(十七)—— 定時(shí)器2寄存器介紹及功能描述
![51單片機(jī)(十七)—— <b class='flag-5'>定時(shí)器</b><b class='flag-5'>2</b><b class='flag-5'>寄存器</b>介紹及功能描述](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
(指南者)(二)寄存器、定時(shí)器和中斷
![(指南者)(二)<b class='flag-5'>寄存器</b>、<b class='flag-5'>定時(shí)器</b>和中斷](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32 使用定時(shí)器計(jì)數(shù) 寄存器版本
![STM32 使用<b class='flag-5'>定時(shí)器</b>計(jì)數(shù) <b class='flag-5'>寄存器</b>版本](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論