/******************************************************************* * 函数库说明:ATMEGA8 T1定时器 CTC模式 方波输出 * 版本: v1.00 * 修改: 庞辉 芜湖联大飞思卡尔工作室 * 修改日期: 2011年08月08日 * * 说明: OC1A每次比较匹配发生时改变逻辑电平,即50% 2ms频率的方波输出 * 此时要将OC1A设置为输出 * * 版本更新: 详见readme.txt * * 20110805 V1.02 * ******************************************************************** *注意: 作为方波输出时,无论使用OCR1A还是ICR1作为TOP值,输出脚都是OC1A * 6M外部晶振 ********************************************************************/ #includeint main(void) { //OC1A设置为输出,作为方波输出时,必须要设置为输出 DDRB |= (1 << PB1); //6M晶振 8分频 1ms电平取反一次,即方波频率2ms //OCR1A = 750; ICR1 = 750; //OC1A匹配取反 TCCR1A |= (1 << COM1A0); //CTC OCR1A模式,8分频 6M / 8 = 750khz 并启动CTC模式 //TCCR1B |= (1 << WGM12) | (1 << CS11); TCCR1B |= (1 << WGM13) | (1 << WGM12) | (1 << CS11); while(1); return 0; }