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

📄 m128_alky_touch_con1.c

📁 m8做的电压检测
💻 C
📖 第 1 页 / 共 5 页
字号:
	   	       }
	   	  break;		//case 3
	   	  case 4: 
	   	       Temp=Month&0x10;
	   	       if(Temp==0)
	   	       {
	   	       	if(!(k==0))  
	   	       	{
	             DS1302_Write(DS1302_MONTH_Reg,k); //月
	             F_FLAG2=5;
	            }
	           }
	           else
	           {
	           	if(k<3)
	           	{
	           	 k=k|Temp;
	             DS1302_Write(DS1302_MONTH_Reg,k); //月
	             F_FLAG2=5;
	            }
	           }
	   	  break;		//case 4
	   	  case 5: 
	   	       if(k<4)
	   	       {
	   	       	if(!(k==3 & Month==2))
	   	       	{
	   	  	     Date&=0x0F;
	   	         k=(k<<4)|Date;
	   	         DS1302_Write(DS1302_DATE_Reg,k); //日
	   	         F_FLAG2=6;
	   	        }
	   	       }
	   	  break;		//case 5
	   	  case 6: 
	   	       Temp=Date&0x30;
	   	       switch(Temp)
	   	       {case 0: 
	   	            if(!(k==0))  
	   	       	    {
	                 DS1302_Write(DS1302_DATE_Reg,k); //日
	                 F_FLAG2=7;
	                }
	   	       break;		//case 0
	   	       case 0x10: 
	   	       case 0x20: 
	   	            k=k|Temp;
	                DS1302_Write(DS1302_DATE_Reg,k); //日
	                F_FLAG2=7;
	   	       break;		//case 0x10    case 0x20
	   	       case 0x30: 
	   	            if(k<2)  
	   	       	    {
	   	       	     k=k|Temp;
	                 DS1302_Write(DS1302_DATE_Reg,k); //日
	                 F_FLAG2=7;
	                }     //case 0x30
	   	       }
	   	  break;		//case 6
	   	  case 7: 
	   	       if(k<3)
	   	       {
	   	        Temp=Hour&0x0F;
	   	        if(k==2 & Temp>3)  Temp=3;
	   	        k=(k<<4)|Temp;
	   	        DS1302_Write(DS1302_HR_Reg,k); //时
	   	        F_FLAG2=8;
	   	       }
	   	  break;		//case 7
	   	  case 8: 
	   	       Temp=Hour&0x30;
	   	       if(Temp==0x20)
	   	       {
	   	       	if(k<4)
	   	       	{
	   	       	 k=k|Temp;
	   	         DS1302_Write(DS1302_HR_Reg,k); //时
	   	         F_FLAG2=9;
	   	       	}
	   	       }
	   	       else
	   	       {
	   	       	 k=k|Temp;
	   	         DS1302_Write(DS1302_HR_Reg,k); //时
	   	         F_FLAG2=9;
	   	       }
	   	  break;		//case 8
	   	  case 9: 
	   	       if(k<6)
	   	       {
	   	        Temp=Minute&0x0F;
	   	       	k=(k<<4)|Temp;
	   	       	DS1302_Write(DS1302_MIN_Reg,k); //分
	   	       	F_FLAG2=10;
	   	       }
	   	  break;		//case 9
	   	  case 10: 
	   	       Temp=Minute&0x70;
	   	       k=k|Temp;
	   	       DS1302_Write(DS1302_MIN_Reg,k); //分
	   	  break;		//case 10
	    }
	    DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
 	  }
   break;
   case 5: //原液加补
      if(k<10)
       {
        switch(F_FLAG2)
        {
          case 1:
 	         Temp=F_YYJB_Value%10;		//取低位
 	         F_YYJB_Value=k*10+Temp;
 	         if(F_YYJB_Value>20)    F_YYJB_Value=20;
 	         F_FLAG2=2;
 	         break;
          case 2:
 	         Temp=F_YYJB_Value/10;		//
 	         F_YYJB_Value=Temp*10+k;
 	         if(F_YYJB_Value>20)    F_YYJB_Value=20;
        }
       }
   break;
   case 6:
      if(k<10)
       {
        switch(F_FLAG2)
        {
          case 1:
             MiMa_TEMP[0]=k;
             F_FLAG2=2;
             break;
          case 2:
             MiMa_TEMP[1]=k;
             F_FLAG2=3;
             break;
          case 3:
             MiMa_TEMP[2]=k;
             F_FLAG2=4;
             break;
          case 4:
             MiMa_TEMP[3]=k;
             F_FLAG2=5;
             break;
          case 5:
             MiMa_TEMP[4]=k;
             F_FLAG2=6;
             break;
          case 6:
             MiMa_TEMP[5]=k;
             F_FLAG2=7;
             break;
        }
       }
   break;
        
  } 
}
//******************************************
void L_LDBD_Set(unsigned char kkk)
{
  unsigned char k,Temp,Temp1;
  k=kkk;
 switch(L_FLAG1)
 {
  case 2: 
   switch(L_FLAG2)
   {
 	case 1: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Set_LD_Value=k*100+Temp;
 	     L_FLAG2=2;
    break;		//case 1
 	case 2: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Temp=Temp%10;              //取个位
 	     Temp1=Set_LD_Value/100;	//取百位
 	     Set_LD_Value=Temp1*100+k*10+Temp;
 	     L_FLAG2=3;
    break;		//case 2
 	case 3: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Temp=Temp/10;              //取十位
 	     Temp1=Set_LD_Value/100;	//取百位
 	     Set_LD_Value=Temp1*100+Temp*10+k;
 	     L_FLAG2=1;
    break;		
   }
  break;
  case 3: 
  break;
  case 4: 
  break;
 }
}
//******************************************
void XG_PID_Set(unsigned char kkk)
{
  unsigned char k;
  k=kkk;
 switch(PID_Change_Flag1)
 {
  case 1: 
       LD_PID.Proportion=P_I_D_SUB1(LD_PID.Proportion,k);
       break;
  case 2: 
       LD_PID.Integral=P_I_D_SUB1(LD_PID.Integral,k);
       break;
  case 3: 
       LD_PID.Derivative=P_I_D_SUB1(LD_PID.Derivative,k);
       break;
  case 4: 
       LDPID_MAX=P_I_D_SUB2(LDPID_MAX,k);
       break;
       
  case 5: 
       WD_PID.Proportion=P_I_D_SUB1(WD_PID.Proportion,k);
       break;
  case 6: 
       WD_PID.Integral=P_I_D_SUB1(WD_PID.Integral,k);
       break;
  case 7: 
       WD_PID.Derivative=P_I_D_SUB1(WD_PID.Derivative,k);
       break;
  case 8: 
       WDPID_MAX=P_I_D_SUB2(WDPID_MAX,k);
       break;
  }
}

//******************************************
unsigned char P_I_D_SUB1(unsigned char XX,unsigned char k)
{
   unsigned char Change_TEMP,Temp,Temp1;
   switch(PID_Change_Flag2)
   {
 	case 1: 
 	     Temp=XX %100;		//取低两位
 	     if(k<3)
 	     {
 	      Change_TEMP=k*100+Temp;
 	      PID_Change_Flag2=2;
 	     }
    break;		
 	case 2: 
 	     Temp=XX%10;           //取个位
 	     Temp1=XX/100;	        //取百位
 	     Change_TEMP=Temp1*100+k*10+Temp;
 	     PID_Change_Flag2=3;
    break;		
 	case 3: 
 	     Temp=XX/10;		//取高两位
 	     Change_TEMP=Temp*10+k;
    break;		
   }
   return Change_TEMP;
}

//******************************************
unsigned int P_I_D_SUB2(unsigned int XX,unsigned char k)
{
   unsigned int Change_TEMP;
   unsigned char Temp,Temp1;
   switch(PID_Change_Flag2)
   {
          case 1:
 	         Temp=XX%1000;		//
 	         Change_TEMP=k*1000+Temp;
 	         PID_Change_Flag2=2;
 	         break;
          case 2:
 	         Temp=XX/1000;		//
 	         Temp1=XX%100;		//
 	         Change_TEMP=Temp*1000+k*100+Temp1;
 	         PID_Change_Flag2=3;
 	         break;
          case 3:
 	         Temp=XX/100;		//
 	         Temp1=XX%10;		//
 	         Change_TEMP=Temp*100+k*10+Temp1;
 	         PID_Change_Flag2=4;
 	         break;
          case 4:
 	         Temp=XX/100;		//
 	         Temp1=(XX%100)/10;		//
 	         Change_TEMP=Temp*100+Temp1*10+k;
    }
   return Change_TEMP;
}
//******************************************
void XG_CON_Set(unsigned char kkk)
{
  unsigned char k,Temp,Temp1;
  k=kkk;
 switch(Set_Change_Flag1)
 {
  case 1: 
  if(k<10)
  {
   switch(Set_Change_Flag2)
   {
 	case 1: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Set_LD_Value=k*100+Temp;
 	     Set_Change_Flag2=2;
    break;		//case 1
 	case 2: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Temp=Temp%10;              //取个位
 	     Temp1=Set_LD_Value/100;	//取百位
 	     Set_LD_Value=Temp1*100+k*10+Temp;
 	     Set_Change_Flag2=3;
    break;		//case 2
 	case 3: 
 	     Temp=Set_LD_Value%100;		//取低两位
 	     Temp=Temp/10;              //取十位
 	     Temp1=Set_LD_Value/100;	//取百位
 	     Set_LD_Value=Temp1*100+Temp*10+k;
    break;		
   }
  }
  break;
  case 2: 
  if(k<10)
  {
   switch(Set_Change_Flag2)
   {
 	case 1: 
 	     Temp=Set_LiuLiang_Value%1000;
 	     Set_LiuLiang_Value=k*1000+Temp;
 	     if(Set_LiuLiang_Value>1280)    Set_LiuLiang_Value=1280;
 	     Set_Change_Flag2=2;
    break;		//
 	case 2: 
         Temp=Set_LiuLiang_Value/1000;
         Temp1=Set_LiuLiang_Value%100;
         Set_LiuLiang_Value=Temp*1000+k*100+Temp1;
 	     if(Set_LiuLiang_Value>1280)    Set_LiuLiang_Value=1280;
         Set_Change_Flag2=3;
    break;		//
    case 3:
 	     Temp=Set_LiuLiang_Value/100;		//
 	     Temp1=Set_LiuLiang_Value%10;		//
 	     Set_LiuLiang_Value=Temp*100+k*10+Temp1;
 	     if(Set_LiuLiang_Value>1280)    Set_LiuLiang_Value=1280;
 	     Set_Change_Flag2=4;
 	break;
    case 4:
 	     Temp=Set_LiuLiang_Value/100;		//
 	     Temp1=(Set_LiuLiang_Value%100)/10;		//
 	     Set_LiuLiang_Value=Temp*100+Temp1*10+k;
 	     if(Set_LiuLiang_Value>1280)    Set_LiuLiang_Value=1280;
   }
  }
  break;
  case 3: 
  if(k<10)
  {
   switch(Set_Change_Flag2)
   {
 	case 1: 
         Temp=Set_WenDu_Value%10;
         Set_WenDu_Value=k*10+Temp;
         if(Set_WenDu_Value>40)  Set_WenDu_Value=40;
         if(Set_WenDu_Value<DQ_WenDu_Value)  Set_WenDu_Value=(unsigned char)DQ_WenDu_Value;
         Set_Change_Flag2=2;
    break;		//
    case 2: 
         Temp=Set_WenDu_Value/10;
         Set_WenDu_Value=Temp*10+k;
         if(Set_WenDu_Value>40)  Set_WenDu_Value=40;
         if(Set_WenDu_Value<DQ_WenDu_Value)  Set_WenDu_Value=(unsigned char)DQ_WenDu_Value;
    break;		//
   }
  }
  break;
  case 4: 
      switch(Set_ShiJian_MODE) 
      {
        case 1: 
         if(k==11)
         {
           Set_ShiJian_MODE=2;
         }
         else
         {
          switch(Set_Change_Flag2)
          {
           case 1: 
                Temp=Set_ShiJian_Value%10;
                Set_ShiJian_Value=k*10+Temp;
                if(Set_ShiJian_Value>10)  Set_ShiJian_Value=10;
                Set_Change_Flag2=2;
           break;		//
           case 2: 
                Temp=Set_ShiJian_Value/10;
                Set_ShiJian_Value=Temp*10+k;
                if(Set_ShiJian_Value>10)  Set_ShiJian_Value=10;
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -