atmega8 例程:T1定时器 CTC模式 10ms定时器 1s连续定时

 
/*******************************************************************
*  函数库说明:ATMEGA8 T1定时器 CTC模式 10ms定时器 1s连续定时
*  版本:      v1.00									       
*  修改:      庞辉    芜湖联大飞思卡尔工作室             									       
*  修改日期:  2011年08月08日 							   
*			   											   
*  说明:	   相当于51自动重载模式
*                                                          
*  版本更新:  详见readme.txt
*
*              20110805  V1.02                                            
*                                                                                          
********************************************************************
*注意: 6M外部晶振
********************************************************************/

#include <avr/io.h>
#include <avr/interrupt.h>

int main(void)
{
    DDRC |= (1 << DDC5);
    //10ms定时
    ICR1 = 7500;
    //OCR1A = 7500;
    //使能比较匹配A中断
    TIMSK |= (1 << OCIE1A);
    //开总中断
    sei();
    //CTC ICR1模式 8分频 启动CTC 
    TCCR1B |= (1 << WGM13) | (1 << WGM12) | (1 << CS11);
    //TCCR1B |= (1 << WGM12) | (1 << CS11);
    
    return 0;  
}

volatile int i = 0;

SIGNAL(SIG_OUTPUT_COMPARE1A)
{
    i++;

    if(i == 100)
    {
        i = 0;
        PORTC ^= (1 << PC5);
    }
}

你可能感兴趣的:(工作,Signal,output)