×
单片机 > 单片机程序设计 > 详情

atmega8 例程:定时器T1 普通模式

发布时间:2020-08-21 发布时间:
|
/*
*  函数库说明:ATMEGA8 定时器T1 普通模式
*  版本:      v1.00
*  修改:      庞辉    芜湖联大飞思卡尔工作室             									       
*  修改日期:  2011年08月11日 							   
*			   											   
*  说明:	   6M外部晶振    10ms定时
*                                                          
*  版本更新:  详见readme.txt
*
*              20110805  V1.02                                            
*                                                                                          

*注意: LED   PC5
/

#include 
#include 

int main(void)
{
    //LED设置为输出
    DDRC |= (1 << DDC5);
    
    //6M / 8 * 7500 = 10ms
    TCNT1 = 65535 - 7500;
    //开定时器T1溢出中断
    TIMSK |= (1 << TOIE1);
    //开总中断
    sei(); 
    //T1定时器普通模式、8分频,并开启定时器
    TCCR1B |= (1 << CS11);

    while(1);

    return 0;
}  

volatile int i = 0;

SIGNAL(SIG_OVERFLOW1)
{
    i++;
    TCNT1 = 65535 - 7500;
    //LED电平取反

    //当i累加到100时,即1s
    if(i == 100)
    {
        i = 0;
        PORTC ^= (1 << PC5);
    }
}


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址