void INT2Interrupt()interrupt 10 //负责检测过零信号
{
if(Zero)
{
SCRTimeStat=1;
}
else
{
SCRTimeStat=1;
}
}
//------------------------------------------------------------------------------------------------------------
oid Timer1Interrupt() interrupt 3 //捕捉到过零信号后开始计时,通过了若干时间即打开可控硅,然后关闭它。
{
if(SCRTimeStat)SCRTimeStat++;
if(SCRTimeStat==40)SCROn=1;//打开可控硅
else if(SCRTimeStat==45)//延时一定时间后
{
SCROn=0;//关闭可控硅
SCRTimeStat=0;//停止计时,等待过零信号电平改变,将值赋1,又开始计时
}
}
|