專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

AVR定時器1的CTC模式設(shè)置

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年09月01日   【字體:

 

 
在CTC模式編程的時候,要執(zhí)行的步驟如下:
1. 將PD4~PD5 設(shè)置為輸出(默認(rèn)為低電平)。DDRD|=BIT(4)|BIT(5);
2. 決定比較輸出模式,試驗中為模式電平取反。TCCR1A=0x50;
3. 決定方波產(chǎn)生模式位,試驗中是模式4, 亦即WGM12=1。TCCR1B|=BIT(3);
4. 決定分頻N,這里就假設(shè)去1 吧,無預(yù)分頻。TCCR1B|=BIT(0);
5. 在步驟3 中,方波產(chǎn)生模式位為4,換句話說就是OCR1A 決定匹配的最大值。
CTC模式實際上就是比較輸出模式,輸出占空比相同的脈沖    頻率=時鐘晶振/2N(1+OCRnA)
如:四個指令就可以配置好CTC模式(8M,輸出2KHz):
   DDRD|=0X30;
   TCCR1A=0X50;
   TCCR1B=0X09;  
   OCR1A=1999;
 
#include <iom16v.h>
#include <macros.h>
void main()
{
   DDRD|=0X30; //set PD4 and PD5 iS out
   TCCR1A=0X50; //開啟OC1A OC1B
   TCCR1B=0X09; //配合TCCR1A,設(shè)置OC1A和OC1B為CTC模式,CTC時鐘源選擇系統(tǒng)8M時鐘
   OCR1A=999; //設(shè)置OC1A的輸出頻率為4KHZ
   OCR1B=59999; //設(shè)置OC1B的輸出頻率為200/3Hz
}
 
關(guān)閉窗口

相關(guān)文章