////////////////////////////////
t1=T_phase;
if((GateDegreeCode_now<=(back_check_mark))&&(GateDegreeCode_now>=90)&&(open_1st!
=is_1st)&&(chongqi==0)){if(t1>t0){if((t1-t0)>100){change_phase_EN=0;}}}
if((GateDegreeCode_now<=(back_check_mark))&&(GateDegreeCode_now>=90)&&(open_1st!
=is_1st)&&(chongqi==0)){if(t1>Motor_CMD_speed){if((t1-Motor_CMD_speed)>40)pid1++;}}
if(pid1>18)change_phase_EN=0;
t0=T_phase;
//////////////////////////////////////////////
if(T_phase>Motor_CMD_speed)//马达速度偏小
{
PWM_Duty_Temp=250-CCPR1L;
PWM_Duty_Temp*=T_phase-Motor_CMD_speed;
PWM_Duty_Temp/=T_phase;
PWM_Duty_Temp/=10;
//比例因子
if((GateDegreeCode_now<(back_check_mark))&&(GateDegreeCode_now>=530)){if(PWM_Duty_Temp>11){if((sqi==0)&&(chongqi==0))change_phase_EN=0;}}
//if(sqi==0){if(PWM_Duty_Temp>5)PWM_Duty_Temp=5;}
CCPR1L=PWM_Duty_Temp+CCPR1L;
//if((GateDegreeCode_now>=(back_check_positon))&&(GateDegreeCode_now<(GateDegreeCode_MAX-12)))CCPR1L=CCPR1L+2;
if((GateDegreeCode_now>=(back_check_positon-28)))CCPR1L=CCPR1L+2;
}
else
{
if(CCPR1L>0)
{
PWM_Duty_Temp=CCPR1L;
PWM_Duty_Temp*=Motor_CMD_speed-T_phase;
PWM_Duty_Temp/=Motor_CMD_speed;
PWM_Duty_Temp/=10;
//if(PWM_Duty_Temp>4)PWM_Duty_Temp=4;
//if(GateDegreeCode_now>(code_ABS_MAX-5))CCPR1L=CCPR1L-6;
if(chongqi==1){if(PWM_Duty_Temp>4)PWM_Duty_Temp=4;}
CCPR1L=CCPR1L-PWM_Duty_Temp;
if(GateDegreeCode_now>=(back_check_mark+1)){if(CCPR1L<50)CCPR1L=50;}
}
}
//firstphase=
closephase=T_phase;
}
if(code_direction==direction)
{
closephase=T_phase;
if(direction==direction_close)
{
//ek1=ek;
//if(shuan>closephase)ek=shuan-closephase;
if(pid==0)
{
Close_speed=0;
if(shuan>(closephase*3/9))
{
//Close_speed+=2;
if(Close_speed>=255)Close_speed=255;
pid=1;
//Close_speed=200-Close_speed;
Close_speed=200;
}
}
//if(
pid1+=1;
//if(GateDegreeCode_now<50)Close_speed=255;
if(pid1==4){Close_speed=Close_speed+1;pid1=0;if(Close_speed>255)Close_speed=255;}
if(shuan>closephase){Close_speed+=2;if(Close_speed>255)Close_speed=255;}
//if((pid==1)&&(pid1==0)){
//if(shuan>(closephase+3))
//{
//ek1=ek;
//pid1=1;
//ek=shuan-closephase;
//if(ek1>=ek)Close_speed=1*(ek1-ek)/4+Close_speed;
//else
//Close_speed=(ek-ek1)+Close_speed;
//if(Close_speed<225)
//Close_speed=Close_speed+1;
//if(Close_speed>255)Close_speed=255;
//NOP();
//}
//}
if((closephase>(shuan+3)))
{
yanshi+=1;
//ek1=ek;
//if(yanshi>6)
//{
//if(closephase>shuan)ek=closephase-shuan;
//if(ek1>=ek)Close_speed=-(ek1-ek)-ek+Close_speed;
//else
//Close_speed=-2*(ek-ek1)-ek+Close_speed;
//yanshi=0;
//}
//closephase=shuan-closephase;
//shuan=shuan/5;
//closephase=closephase*5;
//CCPR1L=CCPR1L-closephase;
if(yanshi>4){if(Close_speed>4)Close_speed=Close_speed-2;yanshi=0;}
}
/*///////////////////////////////////////////////////////////////
if(pid==0)
{
Close_speed=0;
if(shuan>(closephase*3/7))
{
Close_speed+=2;
if(Close_speed>=255)Close_speed=255;
pid=1;
Close_speed=220-Close_speed;
}
}
//if(
pid1+=1;
if(pid1==4){Close_speed=Close_speed+1;pid1=0;if(Close_speed>255)Close_speed=255;}
if(shuan>closephase){Close_speed+=3;if(Close_speed>255)Close_speed=255;}
//if((pid==1)&&(pid1==0)){
//if(shuan>(closephase+3))
//{
//ek1=ek;
//pid1=1;
//ek=shuan-closephase;
//if(ek1>=ek)Close_speed=1*(ek1-ek)/4+Close_speed;
//else
//Close_speed=(ek-ek1)+Close_speed;
//if(Close_speed<225)
//Close_speed=Close_speed+1;
//if(Close_speed>255)Close_speed=255;
//NOP();
//}
//}
if((closephase>(shuan+3)))
{
yanshi+=1;
//ek1=ek;
//if(yanshi>6)
//{
//if(closephase>shuan)ek=closephase-shuan;
//if(ek1>=ek)Close_speed=-(ek1-ek)-ek+Close_speed;
//else
//Close_speed=-2*(ek-ek1)-ek+Close_speed;
//yanshi=0;
//}
//closephase=shuan-closephase;
//shuan=shuan/5;
//closephase=closephase*5;
//CCPR1L=CCPR1L-closephase;
if(yanshi>3){if(Close_speed>2)Close_speed=Close_speed-1;yanshi=0;}
}
///////////////////////////////////////////////////
if(pid==0){if(closephase<=(shuan*2)){pid=1;Close_speed=250;}Close_speed=1;}
else
{
if(Close_speed<=250){if(GateDegreeCode_now%5==0)Close_speed=Close_speed+1;}
//if(GateDegreeCode_now==(GateDegreeCode_MAX-92))Close_speed=221;
//if(Close_speed<=250){if(GateDegreeCode_now%5==0)Close_speed=Close_speed+1;}
//Close_speed=Close_speed+shuan-closephase;
if(closephase>(shuan+8))
{
yanshi+=1;
//ek1=ek;
//if(yanshi>6)
//{
//if(closephase>shuan)ek=closephase-shuan;
//if(ek1>=ek)Close_speed=-(ek1-ek)-ek+Close_speed;
//else
//Close_speed=-2*(ek-ek1)-ek+Close_speed;
//yanshi=0;
//}
//closephase=shuan-closephase;
//shuan=shuan/5;
//closephase=closephase*5;
//CCPR1L=CCPR1L-closephase;
if(yanshi>6){if(Close_speed>2)Close_speed=Close_speed-2;yanshi=0;}
}
//if(closephase>(shuan+6))
//{
if(shuan>(closephase+1))
{
ek1=ek;
ek=shuan-closephase;
if(ek1>=ek)Close_speed