📄 main.c~
字号:
if( (Get_Key_bit) )
{
Count_NoKey=0;//has keyboard operation
if(Bit_Sign_Key_Get)
{
key_out=Key;
}
else
{
key_out=0xff;
Bit_Sign_SettingPara=0;////对于设定参数而言
}
if(!Bit_Sign_Key_Get)
{
Bit_Sign_Key_Get=1;
}
}// if( (Get_Key_bit) )
else
{
Bit_Sign_Key_Get=0;
key_out=0xff;
}
// Bit_Sign_Key_Get=1;
GetKey_Count=0;//for time
/////////////anytime output zhishi
Output_Zhishi(Temp_Output);
}///if((GetKey_Count>150))
/////////////////////////此过程表示停机
if( GetKey_Count_ForUse_Stop>200)
{
if( (key_out==TINGJI))//for stop
{
Bit_OilValve_Start=0;//启动机组
Bit_Stop=1;//停机
Bit_Stop_Sure=1;
Count__Stop_Sure=0;
Temp_Output=Temp_Output|0x10;//jidianqi
// Display_Acord_Value( 0x8000,456,0 );
// Output_Sign();
}
else
{
Bit_OilValve_Start=0;//启动机组
Bit_Stop=0;//停机
// Temp_Output=Temp_Output&0xef;
GetKey_Count_ForUse_Stop=0;
// Get_Key_bit=0;
// Output_Sign();
}
// XBYTE[0x8008]=Temp_Output;
}
if( (Bit_Stop_Sure)&&(Count__Stop_Sure> (Para_Setting_Stop_SureTime*1000) ) )
{
Temp_Output=Temp_Output&0xef;
// XBYTE[0x8008]=Temp_Output;
Bit_Stop_Sure=0;
}
/////////////anytime output zhishi
// Output_Zhishi(Temp_Output);
// Delay_Ms()
if(Capture_Count>1000)//capture one time
{
for( i=0;i<4;i++)
{
AD_init(0);
Tem_Oil[i]=Calculate_Tem ( GET_AD_Result() ,1);
AD_init(1);
Pre_Oil[i]=Calculate_Pre (GET_AD_Result() );
AD_init(2);
Tem_Water[i]=Calculate_Tem ( GET_AD_Result(),0);
}
Tem_Water[4]= ( (int)((float)(Tem_Water[0]+Tem_Water[1]+Tem_Water[2]+Tem_Water[3])/4)) ;//;//;
Pre_Oil[4]=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
Tem_Oil[4]= ( (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) ) ;//;//;
// T0=0;
Display_Acord_Value(1,Speed,0);
Display_Acord_Value(2, Pre_Oil[4],0);
Display_Acord_Value(3,Tem_Water[4],0);
Display_Acord_Value(4,Tem_Oil[4],0);
// T0=1;
Capture_Count=0;
}
}
///if(Count_Start_Machine_15s>2999)
if(Count_Start_Machine_15s>14995)
{
Count_Start_Machine_15s=0;
Bit_Protection_Start=0;//没有进行启动保护
}
Get_Key_bit=0;
}//大于 300转 时,处于 启动过程 中
else
{
Bit_Protection_Start=1;//启动保护 开启
}
}
//}
//while(1)
//{
/////test motorsign 检测机组的状态 (运行或停机)
else////////////////没有在启动保护状态 中
{
if( (Speed>Para_Setting_ReferenceSpeed_StopStart) )//处于运行状态
{
Bit_Sign_Running=1;
Bit_Sign_SettingParaDisplay=0;
Bit_Sign_SettingPara_Sure=0;
Bit_Sign_InputCode=0;
Bit_Sign_SettingPara_Normal=0;
Bit_Sign_Modify=0;
{
if(Value_Test_24v< 28.0 )
{ ////////////////////充电
// if((!Bit_Sign_Charging))
// {
Temp_Output=Temp_Output&0xfd;//lamp
Temp_Output=Temp_Output|0x08;//jidianqi
Bit_Sign_Charging=1;
// }
}
if(Value_Test_24v > 28.4 )
{ // duan dian
// if(Bit_Sign_Charging)
// {
Temp_Output=Temp_Output&0xf7;//jidianqi
Temp_Output=Temp_Output|0x02;//lamp
Bit_Sign_Charging=0;
// }
}
// Temp_Output=Temp_Output&0xbd;//lamp
// Temp_Output=Temp_Output|0x40;//jidia
}
///////////////////////////运行灯
Temp_Output=Temp_Output&0xfe;//lamp
}
else
{
Bit_Sign_Running=0;
Temp_Output=Temp_Output|0x01;//lamp运行灯
Temp_Output=Temp_Output|0x02;//lamp
if(Speed<300)
{
Bit_Protection_Start=1;//停机,可以重新进行启动
Byte_Sign_First_Alarm_StartStop=0;
Temp_Output=Temp_Output&0xef;//tingji
Temp_Output=Temp_Output&0x7f;//D7\
Temp_Output=Temp_Output&0xdf;//\D5
}
}
/// XBYTE[0x8008]=Temp_Output;///////输出
if(!Bit_Sign_DisplaySetting_Sure)//没有设定参数///////////**********************
{
///////////////////////////////时间显示
if( (Bit_Sign_DisplayTime)&&(Byte_Sign_DisplayTime==1) )//for time display时间显示,第一次按下时间按钮
{
Bit_Sign_Display_Time=1;////////***********
Count_DisplayTime_5s=0;
Bit_Sign_DisplayTime=0;
Byte_Sign_DisplayTime=2;
Bit_Sign_DisplayTime_OilPre=1;
// unsigned int Temp_Time_Display;
if(Time_Hours_Running<100)
{
Temp_Time_Display=Time_Minutes_Running+Time_Hours_Running*100;
Display_Acord_Value( 2,Temp_Time_Display,1);//
}
else
{
Temp_Time_Display=Time_Hours_Running;
Display_Led_OilPre_NoPiont(0x8004,Temp_Time_Display);
}
}
if((Bit_Sign_DisplayTime)&&(Byte_Sign_DisplayTime==2))////for time display时间显示,第二次按下按键
{
Count_DisplayTime_5s=0;
Bit_Sign_DisplayTime=0;
Byte_Sign_DisplayTime=3;
// unsigned int Temp_Time_Display;
if(Time_Hours_Add<100)
{
Temp_Time_Display=Time_Minutes_Add+Time_Hours_Add*100;
Display_Acord_Value( 2,Temp_Time_Display,1);//
}
else
{
Temp_Time_Display=Time_Hours_Add;
Display_Led_OilPre_NoPiont(0x8004,Temp_Time_Display);
}
// Display_Acord_Value( 0x8004,Temp_Time_Display,0);//
}
if((Bit_Sign_DisplayTime)&&(Byte_Sign_DisplayTime==3))//for time display时间显示,
{
Byte_Sign_DisplayTime=1;
Bit_Sign_DisplayTime=0;
Display_Acord_Value( 2,Pre_Oil[4],0);
Count_DisplayTime_5s=0;
Bit_Sign_Display_Time=0;////////***********
}
// if(Count_DisplayTime_5s>1000)
// if(Count_DisplayTime_5s>1000)///////////显示时间保持时间
if( (Count_DisplayTime_5s>(Para_Setting_KeepTime*1000))&&(!Signed_Test) )
{
Byte_Sign_DisplayTime=1;
Bit_Sign_DisplayTime_OilPre=0;
Display_Acord_Value( 2,Pre_Oil[4],0);
Count_DisplayTime_5s=0;
Bit_Sign_DisplayTime_OilPre=0;
Bit_Sign_Display_Time=0;////////***********
}
}/////if(!Bit_Sign_DisplaySetting_Sure)//没有设定参数
//if(Count_Charging_TestVol>12000)
{
// Value_Test_24v=read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.1304 +1;
//每分钟采集一次电压值
// Count_Charging_TestVol=0;
//
}
////////////////////////////////time display显示的时间计算
if(Count_RunningTime>60000)//超过一分钟,进行油机计时操作
///if(Count_RunningTime>12000)//超过一分钟,进行油机计时操作
{
// Value_Test_24v=read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.16163+1;
//每分钟采集一次电压值
Count_RunningTime=0;
Time_Minutes_Running++;//当前分钟计数
if(Time_Minutes_Running>60)
{
Time_Hours_Running++;
Time_Minutes_Running=Time_Minutes_Running%60;
}
Time_Minutes_Add++; //总分钟计数
if(Time_Minutes_Add>60)
{
Time_Hours_Add++;
Time_Minutes_Add=Time_Minutes_Add%60;
}
/////////////超过设定值清零
if(Time_Hours_Add>Para_Setting_AddTimeZero)
{
Time_Hours_Add=0;
Time_Minutes_Add=0;
}
/// Write_Para_SetSelf();//写ROM
Write_Para();
}
if(!Signed_Test)// if not test system
{
if(Alarm_Count>150)//100ms
{
if((Sign_Speed))
{
//P1_1=1;
if(Sign_Alarm_Speed==1)
{
Sign_Alarm_Speed=0;
Byte_Try=Display_Lookup_Table(11);
// Set_Display(1,Byte_Try,0x8000);
// Set_Display(2,Byte_Try,0x8000);
// Set_Display(3,Byte_Try,0x8000);
//Set_Display(4,Byte_Try,0x8000);
T0=0;
Value_For_Display[4]=Byte_Try;
Value_For_Display[5]=Byte_Try;
Value_For_Display[6]=Byte_Try;
Value_For_Display[7]=Byte_Try;
T0=1;
}
else
{
Sign_Alarm_Speed=1;
// if(!Bit_Sign_SettingParaDisplay)
if((!Bit_Sign_DisplayTime_OilPre)&&(!Bit_Sign_SettingParaDisplay)&&(!Bit_Sign_DisplaySetting_Sure) )
if(!Bit_Sign_Display_Setting)
Display_Acord_Value( 1,Alarm_Speed,0 );
}
}
if((Sign_Pre_Oil))
{
//P1_1=1;
if(Sign_Alarm_OilPre==1)
{
Sign_Alarm_OilPre=0;
Byte_Try=Display_Lookup_Table(11);
// Set_Display(1,Byte_Try,0x8004);
// Set_Display(2,Byte_Try,0x8004);
// Set_Display(3,Byte_Try,0x8004);
// Set_Display(4,Byte_Try,0x8004);
T0=0;
Value_For_Display[8]=Byte_Try;
Value_For_Display[9]=Byte_Try;
Value_For_Display[10]=Byte_Try;
Value_For_Display[11]=Byte_Try;
T0=1;
}
else
{
Sign_Alarm_OilPre=1;
// if((!Bit_Sign_DisplayTime_OilPre)&&(!Bit_Sign_SettingParaDisplay))
if((!Bit_Sign_DisplayTime_OilPre)&&(!Bit_Sign_DisplaySetting_Sure) )
if( (!Bit_Sign_Display_Setting)&&(!Bit_Sign_Display_Time) )
Display_Acord_Value( 2 ,Alarm_Pre_Oil,0);
}
}
if((Sign_Tem_Oil))
{
//P1_1=1;
if(Sign_Alarm_OilTem==1)
{
Sign_Alarm_OilTem=0;
Byte_Try=Display_Lookup_Table(11);
// Set_Display(1,Byte_Try,0x800D);
// Set_Display(2,Byte_Try,0x800D);
// Set_Display(3,Byte_Try,0x800D);
T0=0;
Value_For_Display[12]=Byte_Try;
Value_For_Display[13]=Byte_Try;
Value_For_Display[14]=Byte_Try;
T0=1;
// Set_Display(4,Byte_Try,0x800C);
}
else
{
Sign_Alarm_OilTem=1;
Display_Acord_Value( 4 ,Alarm_Tem_Oil,0);
}
}
if((Sign_Tem_Water))
{
//P1_1=1;
if(Sign_Alarm_Water==1)
{
Sign_Alarm_Water=0;
Byte_Try=Display_Lookup_Table(11);
// Set_Display(1,Byte_Try,0x800A);
// Set_Display(2,Byte_Try,0x800A);
// Set_Display(3,Byte_Try,0x800A);
T0=0;
Value_For_Display[1]=Byte_Try;
Value_For_Display[2]=Byte_Try;
Value_For_Display[3]=Byte_Try;
T0=1;
// Set_Display(4,Byte_Try,0x8009);
}
else
{
Sign_Alarm_Water=1;
Display_Acord_Value( 3,Alarm_Tem_Water,0);
}
}
Alarm_Count=0;
// if()
}
/// if(Display_Count>200)
if(Display_Count>500)
{
// Value_Test_24v=read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.1304 +1;
//每分钟采集一次电压值
if( (Pre_Oil[4]<Para_Setting_PreOil)||(Tem_Oil[4]>Para_Setting_TemOil)||(Tem_Water[4]>Para_Setting_TemWater)
|| ( Speed> Para_Setting_Speed ) )
{
Bit_Sign_Alarm_NoKeyBoard=1;
// Bit_Sign_Alarm_Stop=1;//baojing tingji
if(Byte_Sign_First_Alarm_StartStop==0)
Byte_Sign_First_Alarm_StartStop=1;
if(Byte_Sign_First_Alarm_StartStop==1)
{
Byte_Sign_First_Alarm_StartStop=2;
Count_Alarm_Stop_Send=0;
}
if(Byte_Sign_First_Alarm_StartStop==2)
{
Byte_Sign_First_Alarm_StartStop=2;
}
if( !(Byte_Sign_First_Alarm_StartStop==3) )
{
Temp_Output=Temp_Output|0x10;//停机
}
if( (!Signed_Sound_Off) )
{
// P1_1=1;
// P1_4=1;
Temp_Output=Temp_Output|0x80;//D7
Temp_Output=Temp_Output|0x20;//D5
// Temp_Output=Temp_Output|0x10;
}
else
{
// P1_1=0;
// P1_4=0;
Temp_Output=Temp_Output&0x7f;//D7\
Temp_Output=Temp_Output&0xdf;//\D5
}
}//for if (sound)
else
{
Signed_Sound_Off=0;
// P1_1=0;
// P1_4=0;
Temp_Output=Temp_Output&0xdf;//\D5
Temp_Output=Temp_Output&0x7f;//D7\
Temp_Output=Temp_Output&0xdf;//\D5
// Temp_Output=Temp_Output&0xdf;//\D5
// Temp_Output=Temp_Output&0xdf;//\D5
// Temp_Output=Temp_Output&0xdf;//\D5
Byte_Sign_First_Alarm_StartStop=0;
// XBYTE[0x8008]=Temp_Output;//输出报警*************
}
// XBYTE[0x8008]=Temp_Output;//输出报警*************
///////////////////////////////////////////////////
if( (Byte_Sign_First_Alarm_StartStop==2)&&(Count_Alarm_Stop_Send> ( Para_Setting_Stop_SureTime*1000) ) )//一报警就停机
// if( (Bit_Sign_Alarm_Stop)&&(Count_Alarm_Stop_Send> 1000 ) )
{
Byte_Sign_First_Alarm_StartStop=3;
Temp_Output=Temp_Output&0xef;
Temp_Output=Temp_Output&0x7f;//D7\
Temp_Output=Temp_Output&0xdf;//\D5
Signed_Sound_Off=0;
// XBYTE[0x8008]=Temp_Output;
}
//if((!Bit_Sign_DisplayTime_OilPre)&&(!Bit_Sign_SettingParaDisplay))
if((!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -