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