/*--------------------------------------------*/
开发环境:CVAVR
创建时间:2012-5-28
单片机::M16
晶振: 内部1M
/---------------------定时器0 --------------------------------/
/**************普通模式**************/
TCCR0 = 0x01;
TCNT0 = 0x00; //初值
OCR0 = 0x00;
TIMSK | = 0x01; //开启中断
#asm("sei")
/*中断入口*/
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0 = 0x00; //初值
} //->最长延时 240us
/*****CTC定时模式********************/
TCCR0=0x09;
TCNT0=0x00;
OCR0=100; //定时100us
TIMSK = 0x02;
#asm("sei")
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
}
/******计数模式********************/
TCCR0=(1<<CS02)|(1<<CS01)|(1<<CS00);/
TCNT0=0x00;
---------------------------------------------------
/*************CTC输出*********************/
TCCR0 = 0x19;
TCNT0 = 0x00;
OCR0 = 0x00; //调频 越大频率越低
DDRB| = 0x08;//对应端口配置为输出
/***********快速PWM******************/
TCCR0 = 0x69;
TCNT0 = 0xff;
OCR0 = 0x80; //调节占空比 f = 1/220 M = 4.55K 1M晶振
//与高电平时间成正比
DDRB| = 0x08;//对应端口配置为输出
/------------------定时器1 ---------------------------------/
/***************普通模式*****************/
TCCR1A = 0x00;
TCCR1B = 0x01; //无预分频
TCNT1H = 0xff;
TCNT1L = 0x9c;
TIMSK | = 0x04;
#asm("sei")
interrupt [TIM1_OVF] void timer0_ovf_isr(void)
{
TCNT1H = 0xff;
TCNT1L = 0x9c;
}