📄 main.c
字号:
Key=XBYTE[0x8009];
// XBYTE[0x8000]=0xc0;
}
//DeLay_ms(100);////
//if(Address[0x8009]==key)
// return key;
//else
// return key;
}
///Para_Pre_Oil_Zoom_k1
/*
void Write_Para(void)
{
write(0x0000, 0);
write(0x0001, CPU_NO);
write(0x0002, Para_Tem_Oil);
write(0x0003, Para_Tem_water);
write(0x0004, Para_Speed_Divide);
write(0x0005, Para_Speed_Alarm_Percent);
write(0x0006, 0x00);
write(0x0007, Para_Speed_Standard/256);
write(0x0008, Para_Speed_Standard%256);
write(0x0009, Para_Speed_Percent);
write(0x000a, Para_Pre_Oil/256);
write(0x000b, Para_Pre_Oil%256);
////
write(0x000c, Para_Pre_Oil_Zoom_k);
write(0x000d, Para_Pre_Oil_Shift_b);
write(0x000e, 0);
}
void Read_Para(void)
{
read(0x0000);//read E2prom
CPU_NO=read(0x0001);
Para_Tem_Oil=read(0x0002);
Para_Tem_water=read(0x0003);
Para_Speed_Divide=read(0x0004);
Para_Speed_Alarm_Percent=read(0x0005);
Para_Speed_Standard=read(0x0007)*256+read(0x0008);
Para_Speed_Percent=read(0x0009);
Para_Pre_Oil=read(0x000a)*256+read(0x000b);
/////
Para_Pre_Oil_Zoom_k=read(0x000c);
Para_Pre_Oil_Shift_b=read(0x000d);
read(0x000e);//read E2prom
}
*/
///////////////
//////////////////////实现具体参数的设定
void Para_Setting_Detail(unsigned char Mode_Code_SettingPara)
{
switch(Mode_Code_SettingPara)
{
case 0:
Temp_Adjust=Para_Setting_Gear;
break;
case 1:
Temp_Adjust=Para_Setting_StartTime;
break;
case 2:
Temp_Adjust=Para_Setting_StopTime;
break;
case 3:
Temp_Adjust=Para_Setting_KeepTime;
break;
case 4:
Temp_Adjust=Para_Setting_AddTimeZero;
break;
case 5:
Temp_Adjust=Para_Setting_TemWater;
break;
case 6:
Temp_Adjust=Para_Setting_TemOil;
break;
case 7:
Temp_Adjust=Para_Setting_PreOil;
break;
case 8:
Temp_Adjust=Para_Setting_Speed;
break;
case 9:
Temp_Adjust=Para_Setting_ReferenceSpeed_StopStart;//;
case 10:
Temp_Adjust=Para_Setting_Stop_SureTime;//;//;
break;
case 11:
Temp_Adjust=Para_Setting_WaterTem_K;//;//;
break;
case 12:
Temp_Adjust=Para_Setting_WaterTem_b;//;//;
break;
case 13:
Temp_Adjust=Para_Setting_OilTem_K;//;//;
break;
case 14:
Temp_Adjust=Para_Setting_OilTem_b;//;//;
break;
default:
Temp_Adjust=0;
break;
}
/*
if(key_out==QIDONG)//启动按钮,表示增加
{
Temp_Adjust++;
Get_Key_bit=0;
key_out=0xff;
Times_TimeButton=0;
Count_NoOperation_Exit=0;
}
if(key_out==TINGJI)//停止按钮,表示减少
{
Temp_Adjust--;
Get_Key_bit=0;
key_out=0xff;
Times_TimeButton=0;
Count_NoOperation_Exit=0;
}
Display_Acord_Value( 0x8004,Temp_Adjust,1);
/*
if(key_out==SHIJIAN)//如果调整参数确认后,则更新参数(时间按钮)
{
Times_TimeButton++;
Count_NoOperation_Exit=0;
Get_Key_bit=0;
key_out=0xff;
Bit_Sign_Modify=0;//退出修改模式,进入显示参数界面
switch(Mode_Code_SettingPara)
{
case 0:
Para_Setting_Gear=Temp_Adjust;
// Display_Acord_Value( 0x8004,Para_Setting_Gear,1);
break;
case 1:
Para_Setting_StartTime=Temp_Adjust;
break;
case 2:
Para_Setting_StopTime=Temp_Adjust;
break;
case 3:
Para_Setting_KeepTime=Temp_Adjust;
break;
case 4:
Para_Setting_AddTimeZero=Temp_Adjust;
break;
case 5:
Para_Setting_TemWater=Temp_Adjust;
break;
case 6:
Para_Setting_TemOil=Temp_Adjust;
break;
case 7:
Para_Setting_PreOil=Temp_Adjust;
break;
case 8:
Para_Setting_Speed=Temp_Adjust;
break;
case 9:
Para_Setting_ReferenceSpeed_StopStart=Temp_Adjust;
case 10:
Para_Setting_Stop_SureTime=Temp_Adjust;
break;
default:
//Display_Acord_Value( 0x8004,00,1);
break;
}
}*/
}
Para_Setting_Detail_WriteBack(Mode_Code_SettingPara)
{
switch(Mode_Code_SettingPara)
{
case 0:
Para_Setting_Gear=Temp_Adjust;
// Display_Acord_Value( 0x8004,Para_Setting_Gear,1);
break;
case 1:
Para_Setting_StartTime=Temp_Adjust;
break;
case 2:
Para_Setting_StopTime=Temp_Adjust;
break;
case 3:
Para_Setting_KeepTime=Temp_Adjust;
break;
case 4:
Para_Setting_AddTimeZero=Temp_Adjust;
break;
case 5:
Para_Setting_TemWater=Temp_Adjust;
break;
case 6:
Para_Setting_TemOil=Temp_Adjust;
break;
case 7:
Para_Setting_PreOil=Temp_Adjust;
break;
case 8:
Para_Setting_Speed=Temp_Adjust;
break;
case 9:
Para_Setting_ReferenceSpeed_StopStart=Temp_Adjust;
case 10:
Para_Setting_Stop_SureTime=Temp_Adjust;
break;
/////////////////////////////////
case 11:
Para_Setting_WaterTem_K=Temp_Adjust;
break;
case 12:
Para_Setting_WaterTem_b=Temp_Adjust;
break;
case 13:
Para_Setting_OilTem_K=Temp_Adjust;
break;
case 14:
Para_Setting_OilTem_b=Temp_Adjust;
break;
default:
//Display_Acord_Value( 0x8004,00,1);
break;
}
}
void Judge_Para_Scope( unsigned char Mode_Code_SettingPara)
{
switch(Mode_Code_SettingPara)
{
case 0:
if(Temp_Adjust<1)
Temp_Adjust=1;
if(Temp_Adjust>255)
Temp_Adjust=255;
// Display_Acord_Value( 0x8004,Para_Setting_Gear,1);
break;
case 1:
if(Temp_Adjust<1)
Temp_Adjust=0;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
case 2:
if(Temp_Adjust<1)
Temp_Adjust=1;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
case 3:
if(Temp_Adjust<1)
Temp_Adjust=1;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
case 4:
if(Temp_Adjust<5000)
Temp_Adjust=5000;
if(Temp_Adjust>9999)
Temp_Adjust=9999;
break;
case 5:
if(Temp_Adjust<0)
Temp_Adjust=0;
if(Temp_Adjust>120)
Temp_Adjust=120;
break;
case 6:
if(Temp_Adjust<0)
Temp_Adjust=0;
if(Temp_Adjust>120)
Temp_Adjust=120;
break;
case 7:
if(Temp_Adjust<0)
Temp_Adjust=0;
if(Temp_Adjust>600)
Temp_Adjust=600;
break;
case 8:
if(Temp_Adjust<300)
Temp_Adjust=300;
if(Temp_Adjust>6000)
Temp_Adjust=6000;
break;
case 9:
if(Temp_Adjust<1)
Temp_Adjust=1;
if(Temp_Adjust>1000)
Temp_Adjust=1000;
break;
case 10:
if(Temp_Adjust<1)
Temp_Adjust=1;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
//////////////
case 11:
if(Temp_Adjust<50)
Temp_Adjust=50;
if(Temp_Adjust>150)
Temp_Adjust=150;
break;
case 12:
if(Temp_Adjust<0)
Temp_Adjust=0;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
case 13:
if(Temp_Adjust<50)
Temp_Adjust=50;
if(Temp_Adjust>150)
Temp_Adjust=150;
break;
case 14:
if(Temp_Adjust<0)
Temp_Adjust=0;
if(Temp_Adjust>255)
Temp_Adjust=255;
break;
default:
//Display_Acord_Value( 0x8004,00,1);
break;
}
}
///////////////
//bit Bit_Lamp_Running=0;//运行灯输出位
//bit Bit_Lamp_charging=0;//充电灯输出位
//bit Bit_Lamp_powering=0;//电源灯输出位
bit Bit_OilValve_Start=0;//燃油阀输出位
//bit Bit_Alarm=0;//警报输出位
bit Bit_Stop=0;//停车输出位
//bit Bit_Reserve=0;//备用输出位
//bit Bit_Buzzer=0;//蜂鸣器输出位
//unsigned char Temp_Output=0xf7;
bit Bit_Sign_Charging=0;//充电标志
main()
{
/* Display_Acord_Value(0x8004,500);//oil pre
Test_Motor();
Display_Acord_Value(0x800D,-40);//oil tem
Display_Acord_Value(0x800A ,125);//water tem
Display_Acord_Value( 0x8000 ,-562);//speed*/
int i;
// unsigned char Display_Type=0;
unsigned char Byte_Try;
// int value;
int Alarm_Tem_Oil;
int Alarm_Tem_Water;
int Alarm_Pre_Oil;
int Alarm_Speed;
//unsigned int Tem_Oil_Ave;
//unsigned int Tem_Water_Ave;
//unsigned int Pre_Oil_Ave;
///////////
bit Sign_OK_Stop=1;
bit Bit_OK_Stop_1Time=1;
bit Bit_Protection_Start=1;//处于启动保护阶段
bit Bit_NO_Start_15s_Setting=0;//设定和启动15s区别标志
XBYTE[0x8008]=0x03;
P2=0;
initial_timer2() ;
initial_timer0_1();
init();
UART_Start();
// P1_6=0;//SERIOUS PORT
WDTRST=0x1E;//喂看门狗第一步
WDTRST=0xE1;//喂看门狗第二步
///////////////*************************
/*
while(1)
{
Value_Test_24v=( read1543(3)* Calculate_Line_k( 0,0,1023,24) )/0.13043;
Display_Acord_Value( 0x8004,Value_Test_24v,1);
}
*/
// Bit_Lamp_Running=1;//运行灯输出位
// Bit_Lamp_powering=1;
//Output_Sign();//output now sign,输出当前系统的状态
//init test
//Tem_Oil_Ave=0;
//Tem_Water_Ave=0;
//Pre_Oil_Ave=0;
for( i=0;i<4;i++)
{
Tem_Oil[i]=Calculate_Tem ( read1543(0) ,1);
Pre_Oil[i]=Calculate_Pre ( read1543(1) );
Tem_Water[i]=Calculate_Tem ( read1543(2),0);
// Tem_Oil_Ave+=read1543(0);
// Tem_Water_Ave+=read1543(2);
// Pre_Oil_Ave+=read1543(1);
}
// Tem_Oil[4]=(int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4);
// Pre_Oil[4]=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
// Tem_Water[4]=(int)((float)(Tem_Water[0]+Tem_Water[1]+Tem_Water[2]+Tem_Water[3])/4);
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) ) ;//;//;
////////////////////
/////////////////////////增加530柳州监控仪软件
for( i=0;i<4;i++)
{
Tem_Oil[i]=Calculate_Tem ( read1543(4),1);//空压机油温
Pre_Oil[i]=Calculate_Pre ( read1543(5) );//空压机油压
// Tem_Water[i]=Calculate_Tem ( read1543(2));
// Tem_Oil_Ave+=read1543(0);
// Tem_Water_Ave+=read1543(2);
//Pre_Oil_Ave+=read1543(1);
}
Tem_Kongyaji_530=( (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) ) ;
Pre_Kongyaji_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
for( i=0;i<4;i++)
{
Tem_Oil[i]=Calculate_Pre ( read1543(6) );//空压机油温
Pre_Oil[i]=Calculate_Pre ( read1543(7) );//空压机油压
// Tem_Water[i]=Calculate_Tem ( read1543(2));
// Tem_Oil_Ave+=read1543(0);
// Tem_Water_Ave+=read1543(2);
//Pre_Oil_Ave+=read1543(1);
}
Pre_Jinqiguan_530=(int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4);
Pre_Chuqiguan_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
// Temp_Pre_Oil=Pre_Oil_Ave/4;
// Temp_Pre_Oil=Pre_Oil_Ave/4;
// Temp_Tem_Oil=Tem_Oil_Ave/4;
// Temp_Tem_Water=Tem_Water_Ave/4;
/////////////////////////write E2prom
/* unsigned char CPU_NO;
unsigned char Para_Tem_Oil;
unsigned char Para_Tem_water;
unsigned char Para_Speed_Divide;
unsigned char Para_Speed_Alarm_Percent;
unsigned int Para_Speed_Standard;
unsigned char Para_Speed_Percent;
unsigned int Para_Pre_Oil;
unsigned char Para_Pre_Oil_Zoom_k;
char Para_Pre_Oil_Shift_b;
*/
/*
CPU_NO=01;
Para_Tem_Oil=120;
Para_Tem_water=98;
Para_Speed_Divide=159;
// Para_Speed_Alarm=2160;
Para_Speed_Alarm_Percent=10;
Para_Speed_Standard=2160;
Para_Speed_Percent=20;
Para_Pre_Oil=1500;
Para_Pre_Oil_Zoom_k=100;
Para_Pre_Oil_Shift_b=0;
Write_Para();
*/
/*
while(1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -