【原创】调光程序!
0赞
发表于 10/22/2011 9:29:12 AM
阅读(3359)
使用AVR芯片,用到3个中断,分别是外部中断,定时器0,1中断,代码如下
//-----------------------------外部中断
ISR(SIG_PIN_CHANGE0)
{
MOC302X_L();
OPEN_INT_T1();//开定时器1
TCNT1H=0xfe;//延时时间
TCNT1L=0xdd;
}
//-----------------------------定时器0中断--溢出中断
ISR(SIG_OVERFLOW0)
{
TCNT0=0xfe;
CLOSE_INT_T0();
MOC302X_L();
}
//-----------------------------定时器1中断--溢出中断
ISR(SIG_OVERFLOW1)
{
TCNT1H=0xfe;
TCNT1L=0xdd;
cnt++
if(cnt >=DELAY)//DELAY可修改,改变其值,就可以改变灯的明暗
{
CLOSE_INT_T1();
OPEN_INT_T0();
TCNT0=0xDA;
MOC302X_H();
cnt=0;
}
}
主要是对其定时器中断的开关,其延时时间的控制,其他的没什么难点。
PS:之前一个项目用到国产的芯片,读取的寄存器值不稳定,感觉不是在整芯片,而是芯片整我!悲叹呀!
