?? timer2.c
字號:
/******************************************/
//文件名:Timer2CTC.c
//功能: T/C2的CTC模式的應用
//作者: young
//時間: 2006.10.9
//目標MCU:ATmega8
//晶振: 8MHZ
/******************************************/
#include <iom8v.h>
#include <macros.h>
#include "Delay.h"
//初始化端口
void init_port(void)
{
DDRB = 0x08; //OC2(PB3)設為輸出
PORTB = 0xFF;
PORTC = 0x00;
DDRC = 0xFF;
PORTD = 0x00;
DDRD |= 0xFF;
}
//初始化T/C2
void init_timer2(void)
{
TCCR2 = 0x00; //T/C2工作于定時方式,先停止T/C2
TCNT2 = 0x00; //計數初始值0
OCR2 = 0xFD; //設置比較參考值
TIMSK|= 0x80; //打開TOV2的比較匹配中斷
//T/C2工作于定時方式CTC(WGM2[1:0]=2),
//比較匹配時觸發OC2取反(COM2[1:0]=1),
//系統時鐘256分頻(CS2[2:0]=0xC)
TCCR2|= (1<<WGM21)|(1<<COM20)|(1<<CS22)|(1<<CS21);
}
//初始化所以硬件
void init_devices(void)
{
CLI(); //關閉全局中斷
init_port();
init_timer2();
SEI(); //打開全局中斷
}
//主函數
void main(void)
{
init_devices();
while(1)
{
;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -