[AVR单片机] AVR ATmega8 的低温特性

[复制链接]
1153|5
 楼主| qiu257158 发表于 2015-12-17 09:36 | 显示全部楼层 |阅读模式
ATmega8 采用内部RC振荡器  默认1MHz;在零下20度时。定时器T0 计数明显的加快;我是1秒加一个数,但实际测试的时候发现计数器走的很快。什么原因?
ATmega8 工作温度-55~125度。求解!!
 楼主| qiu257158 发表于 2015-12-17 09:46 | 显示全部楼层
看数据手册上    1 MHz RC 振荡器频率和温度的关系的曲线 。应该是在低温影响不大   ;    在高温时(50~60度)震荡频率会明显的降低。
 楼主| qiu257158 发表于 2015-12-17 09:49 | 显示全部楼层
void timer1_init(void)
    {
     OCR1A=0Xff11;         //0XC2F6;//3D09;//0X7A11;
     TIMSK=0X10;            
     TCCR1B=0X0c;                   //64分频
    }
用的是  T1  定时器


SIGNAL(SIG_OUTPUT_COMPARE1A)
    {
     cli();
         
         if(Zijian == 1)
             node_data++;
               
         if(Zijian == 0)               
         node_data = readc_data(0xc7);   
               
     if(node_data > 100)
                 node_data = 100;
               
         //adc_Guzdata = read_adc(0xc6);       
     nop;
     sei();
    }

数据通过串口传给上位机显示
 楼主| qiu257158 发表于 2015-12-17 09:58 | 显示全部楼层
传送node_data 这个变量
shaoziyang 发表于 2015-12-17 10:17 | 显示全部楼层
RC振荡器会受到电压和温度的影响,如果不校正,最大误差可能会有20%。正常情况对定时器的影响不会那么大,可能与你中断里其他函数有关。
 楼主| qiu257158 发表于 2015-12-21 09:41 | 显示全部楼层
用同样的程序   在常温下  node_data  自加一  正常   ;   低温下明显速度加快。会不会 其他中断函数会影响定时器中断?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

40

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部