PIC16F877的Timer1
Timer1 可以有三種工作模式:
• 同步定時器模式
• 同步計數(shù)器模式
• 異步計數(shù)器模式
Timer1 工作在定時器模式
將 TMR1CS (T1CON<1>) 清 0,選擇 TMR1 工作在定時器模式。在這種模式下,定時器的輸入時鐘是內(nèi)部時鐘頻率的4 分頻(FOSC/4)。因為內(nèi)部時鐘總是同步的,所以同步控制位 T1SYNC(T1CON<2>)此時不起作用。
Timer1 工作在同步計數(shù)器模式
將 TMR1CS(T1CON<1>) 置 1,選擇 TMR1 工作在計數(shù)器模式。在這種模式下,計數(shù)器在引腳T1OSI (T1OSCEN置1時)或T1OSO/T1CK (T1OSCEN清0時)輸入時鐘的每個上升沿遞增。如果 T1SYNC 位清 0,那么外部時鐘輸入與內(nèi)部相位時鐘同步,同步是在預(yù)分頻器后完成的。預(yù)分頻器是一個異步脈動計數(shù)器。在同步計數(shù)器模式下,當工作于休眠方式時,即使使用的是外部時鐘,Timer1 也不會遞增,因為同步電路已被關(guān)閉,但是預(yù)分頻器繼續(xù)遞增。當 Timer1 工作在同步計數(shù)器模式時,外部輸入的時鐘信號必須滿足一定的要求,這主要是因為要與內(nèi)部相位時鐘(TOSC) 同步。同步后,Timer1 的實際遞增計數(shù)與外部時鐘沿之間會產(chǎn)生一定的延時。當預(yù)分頻器的分頻比為1:1 時,外部輸入時鐘和預(yù)分頻器的輸出相同。T1CKI與內(nèi)部相位時鐘的同步是通過在相鄰的兩個Tosc內(nèi)部相位時鐘下對預(yù)分頻器的輸出進行采樣來實現(xiàn)的。因此,要求T1CKI引腳上的信號高、低電平分別至少保2Tosc ( 加上一小段 RC 延時 )。 當預(yù)分頻器的分頻比是除 1:1 外的其它情況時,外部輸入時鐘信號要先經(jīng)過異步脈動計數(shù)器預(yù)分頻器的分頻,而使預(yù)分頻器的輸出對稱。為了使外部時鐘滿足采樣要求,必須將脈動計數(shù)器考慮
在內(nèi)。因此,要求 T1CKI 引腳上的信號至少保持4Tosc(加上一小段 RC延時)供預(yù)分頻器分頻。此外,T1CKI引腳上的時鐘信號還必須滿足高低電平的最小脈寬要求。
Timer1 工作在異步計數(shù)器模式
當T1SYNC (T1CON<2>)位置1時,外部時鐘輸入就不同步。Timer1 繼續(xù)進行異步于內(nèi)部相位時鐘的遞增計數(shù)。在休眠狀態(tài)下,Timer1將繼續(xù)運行,并在計滿溢出時產(chǎn)生中斷,喚醒處理器。但在軟件中應(yīng)特別注意對Timer1的讀寫。異步計數(shù)器能在器件休眠時工作,因此Timer1 可用于實現(xiàn)一個實時時鐘。在異步計數(shù)器模式時,Timer1不能用作捕捉器或比較器的工作時基。
Timer1 振蕩器
在 T1OSI ( 放大器輸入 ) 和 T1OSO ( 放大器輸出 ) 引腳之間內(nèi)接有晶體振蕩器電路,通過將T1OSCEN控制位 (T1CON<3>)置位使能該電路。該振蕩器是一個低功耗的振蕩器,頻率可達200kHz。它在休眠狀態(tài)下可以繼續(xù)工作。一般建議的使用頻率為32kHz,這是一個產(chǎn)生實時時鐘的理想頻率。表12-1所示為不同頻率的晶體振蕩器所需的外接電容。Timer1的振蕩器是一種低速低功耗(LP)振蕩器,用戶應(yīng)在 Timer1 的振蕩器剛開始工作時,使
用一定的軟件延時,以確保振蕩器先可靠起振。
表 12-1: Timer1振蕩器的電容器選擇表
注: 這使得計數(shù)器在休眠模式下仍然繼續(xù)工作(遞增) ,因此Timer1 可用于產(chǎn)生一個實時時鐘。
振蕩類型
經(jīng)測試的晶體:
32.768 kHz Epson C-001R32.768K-A ± 20 PPM
100 kHz Epson C-2 100.00 KC-P ± 20 PPM
200 kHz STD XTL 200.000 kHz ± 20 PPM
注 1:增加電容容量可提高振蕩器的穩(wěn)定性,但是同時也延長了振蕩器的起振時間。
2:由于每個諧振器/ 晶體均有其自身的特性,用戶應(yīng)向諧振器/晶體廠商咨詢適當?shù)耐獠吭?/p>
跟Timer1有關(guān)的寄存器
評論