/*--------------------------------------------------------
Atiny24-PWM: 此版本使用T1的两路PWM输出
PWM mode:
TCCR0A: COM0A1-COM0A0-COM0B1-COM0B0 - - WGM01-WGM00
TCCR0B: FOC0A-FOC0B - - WGM02-CS02-CS01-CS00
TCCR1A: COM1A1-COM1A0-COM1B1-COM1B0 - - WGM11-WGM10
TCCR1B: ICNC1-ICES1 - WGM13-WGM12-CS12-CS11-CS10
---------------------------------------------------------*/
#include "iot24v.h"
#include "macros.h"
#include "selffile.h"
unsigned int OCR1A_temp,OCR1B_temp;
/*----------------------------------------
主程序
----------------------------------------*/
void main(void)
{
NOP();
CLI();
//WTCHDOG_init();
OCR1A_temp=0;
OCR1B_temp=0;
MCU_init();
SEI();
while(1)
;
/*{
Delay_nms(200);
OCR1A_temp+=2;
OCR1B_temp+=4;
if(OCR1A_temp>=0x3ff)
OCR1A_temp=0;
if(OCR1B_temp>=0x3ff)
OCR1B_temp=0;
OCR1A=OCR1A_temp;
OCR1B=OCR1B_temp;
}*/
}
/*----------------------------------------
系统初始化
----------------------------------------*/
void timer1_init(void)
{
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x01;
OCR1AL=0x99;
OCR1BH=0x02;
OCR1BL=0x65;
TIMSK1=0x00;
TCCR1A=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM10)|(1<<WGM11);
TCCR1B=(1<<CS10); //不分频,否则波形较差
}
void MCU_init(void)
{
DDRA=(1<<PA6)|(1<<PA5);
MCUCR = 0x00;
GIMSK = 0x00;
timer1_init();
}
/*----------------------------------------
看门狗设置
----------------------------------------*/
/*void WTCHDOG_init(void) //WTCHDOG: use the least frequency,about 2S
{
WDR();
WDTCSR=0x9f;
WDTCSR=0x0f;
}*/