AVR 单片机定时器0中断没执行

来源:百度知道 编辑:UC知道 时间:2024/05/12 09:18:26
用的是PROTUES仿真,C口接有LED,为低电平时点亮,
#include"avr/io.h"

#include"avr/interrupt.h"
//#include"avr/signal.h"

int main()
{
unsigned int i;
DDRC=0XFF;
PORTC=0XFF;

TCCR0=0X05;//1024预分频
TIMSK=0X01;//开定时器
TCNT0=0x10;//初始赋值
// OCR0=0x7D;
sei(); //开全局

while(1);

}

void SIGNAL(SIG_OVERFLOW0)
{
TCNT0=10;//重新赋值
PORTC=0X00;//点亮LED
// OCR0=0x7D;
}
楼下的,void SIGNAL(SIG_OVERFLOW0)
这个就是中断程序,我用的是GCC,不是ICC。
___________
谢谢2楼的回答。
但是我重写了,还是没有解决问题。
我的QQ370215970,恳请赐教

我用你的程序编译了一下,发现有错误,void SIGNAL(SIG_OVERFLOW0)
这地方有错,擦掉重写就没事了,我用proteus测试正常,中断可以进入,
另外,你的程序原本led就只能一直亮下去的,不要以为程序出错

还是没定义中断服务程序。
系统产生中断申请后,没有找到中断服务程序。