//tmr2
if(TMR2IF==1) //TIME2 10MS INTERRUPT中断
{TMR2IF=0;
TMR2=100; //10ms初值
if(HEAT_ON_FLAG)
{
C_HEAT=0;
// asm("nop");
// asm("nop");
// asm("nop");
// C_HEAT=1;
}
else
{} //关闭加热 //关闭
}
else
{}
//CCP2
if(CCP2IF==1) //CCP2 INTERRUPT中断
{CCP2IE=0; //CCP2停止
C_HEAT=1;
if(RF_UPLEFT_FLAG==1) //20MS一个周期,扑捉到一个上升沿 13ms
{ RF_UPLEFT_FLAG=0;
CCP2CON=0x04; // 扑捉模式 向下
}
else
{
RF_UPLEFT_FLAG=1; //扑捉到一个下降沿 7ms
CCP2CON=0x05; //扑捉模式 向上
if(HEAT_ON_FLAG)
{
TMR2IF=0;
TMR2=heat_tim_data; //设置初值 导通时间
TMR2IE=1;
}
else
{}
}
CCP2IF=0;
CCP2IE=1;
}
else
{}
不延时波形可以跟随, 延时跟随不了 求助 |