Atmega16 定時器T0的應用
定時器工作模式:工作模式- T/C 和輸出比較引腳的行為- 由波形發(fā)生模式(WGM21:0) 及比較輸出模式
本文引用地址:http://2s4d.com/article/201611/316483.htm(COM21:0) 的控制位決定。比較輸出模式對計數(shù)序列沒有影響,而波形產(chǎn)生模式對計數(shù)序
列則有影響。COM21:0 控制PWM 輸出是否反極性。非PWM 模式時COM21:0 控制輸
出是否應該在比較匹配發(fā)生時置位、清零,或是電平取反(P113 " 比較匹配輸出單元" )。
普通模式:普通模式(WGM21:0 = 0) 為最簡單的工作模式。在此模式下計數(shù)器不停地累加。計到8
比特的最大值后(TOP = 0xFF),由于數(shù)值溢出計數(shù)器簡單地返回到最小值0x00 重新開
始。在TCNT0 為零的同一個定時器時鐘里T/C 溢出標志TOV2 置位。此時TOV2 有點象
第9 位,只是只能置位,不會清零。但由于定時器中斷服務程序能夠自動清零TOV2,因
此可以通過軟件提高定時器的分辨率。在普通模式下沒有什么需要特殊考慮的,用戶可以
隨時寫入新的計數(shù)器數(shù)值。
輸出比較單元可以用來產(chǎn)生中斷。但是不推薦在普通模式下利用輸出比較產(chǎn)生波形,因為
會占用太多的CPU 時間。
T/C 時序圖:
8 位T/C 寄存器說明
T/C 控制寄存器- TCCR2
?Bit 7 – FOC2: 強制輸出比較
FOC2僅在WGM指明非PWM模式時才有效。但是,為了保證與未來器件的兼容性,使用
PWM 時,寫TCCR2 要對其清零。寫1 后,波形發(fā)生器將立即進行比較操作。比較匹配輸
出引腳 OC2 將按照COM21:0 的設置輸出相應的電平。要注意FOC2 類似一個鎖存信號,
真正對強制輸出比較起作用的是COM21:0 的設置。
FOC2 不會引發(fā)任何中斷,也不會在使用OCR2 作為TOP 的CTC 模式下對定時器進行清
零。
讀FOC2 的返回值永遠為0。
? Bit 6, 3 – WGM21:0: 波形產(chǎn)生模式
這幾位控制計數(shù)器的計數(shù)序列,計數(shù)器最大值TOP 的來源,以及產(chǎn)生何種波形。T/C 支
持的模式有:普通模式,比較匹配發(fā)生時清除計數(shù)器模式(CTC),以及兩種PWM 模式,
詳見 Table 50 與P114" 工作模式" 。
? Bit 5:4 – COM21:0: 比較匹配輸出模式
這些位決定了比較匹配發(fā)生時輸出引腳OC0 的電平。如果COM01:0 中的一位或全部都
置位, OC0 以比較匹配輸出的方式進行工作。同時其方向控制位要設置為1 以使能輸出
驅動。
當OC0 連接到物理引腳上時, COM01:0 的功能依賴于WGM01:0 的設置。Table 51 給
出了當WGM01:0 設置為普通模式或CTC 模式時COM01:0 的功能。
二、在進行相應的應用的時候請注意
不能對定時器TO賦初值,否則應用普通模式時,定時時間非常不準確。
定時時間的改變只能通過時鐘源和分頻系數(shù)確定
最后說一句:Atmega16數(shù)據(jù)手冊做得很好,中文資料也多,非常容易去學習?。。。。。。。。。?!
評論