⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 监控仪 监控仪 监控仪
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -