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

📄 m128_alky_touch_con1.c

📁 m8做的电压检测
💻 C
📖 第 1 页 / 共 5 页
字号:
           EEPROM_write(EE_Set_LD_AddrH, Set_LD_Value/256);
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 1:            //浓度周期修改
           CLI();
           F_LDZQ_Value= KEY_TEMP[3] * 1000 + KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(F_LDZQ_Value>4000)   F_LDZQ_Value=4000;
           EEPROM_write(EE_F_LDZQ_AddrL, F_LDZQ_Value%256);
           EEPROM_write(EE_F_LDZQ_AddrH, F_LDZQ_Value/256);
           ICR1_TEMP = (unsigned int)(F_LDZQ_Value*16);
	       TCNT1  = 0x0000;
           OCR1A  = 0xFFFF;
           ICR1 = ICR1_TEMP;
           Clr_BENG_CON();
           TCCR1A = 0xC2;
           TCCR1B = 0x1C; 
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 2:            //温度周期修改
           CLI();
           F_WDZQ_Value= KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(F_WDZQ_Value>16)   F_LDZQ_Value=16;
           EEPROM_write(EE_F_WDZQ_Addr, F_WDZQ_Value);
           ICR3_TEMP = (unsigned int)(F_WDZQ_Value*3906);
                  
           TCNT3  = 0x0000;
           OCR3B  = 0xFFFF;
           ICR3 = ICR3_TEMP;
           TCCR3A = 0x32;
           TCCR3B = 0x1D; 
           ZhuQi_WenDu_Value = 30;
           ZhuQi_WenDu_TOT = 0;
                  
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 3:            //时间修改
           DS1302_Write(DS1302_CONTROL_Reg,0x00);//关闭写保护
           Hour = (KEY_TEMP[3]<<4) | KEY_TEMP[2];
           if(Hour>0x23)   Hour=0x23;
           DS1302_Write(DS1302_HR_Reg,Hour); //时     
             
           Minute = (KEY_TEMP[1]<<4) | KEY_TEMP[0];
           if(Minute>0x59)   Minute=0x59;
           DS1302_Write(DS1302_MIN_Reg,Minute); //分
           DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
          break;
          case 4:            //浓度PID修改
           CLI();
           LD_PID.Proportion = KEY_TEMP[5] * 10 + KEY_TEMP[4];
           if(LD_PID.Proportion>25)   LD_PID.Proportion=25;
           LD_PID.Integral = KEY_TEMP[3] * 10 + KEY_TEMP[2];
           if(LD_PID.Integral>12)   LD_PID.Integral=12;
           LD_PID.Derivative = KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(LD_PID.Derivative>25)   LD_PID.Derivative=25;
           
           EEPROM_write(EE_LDPID_P_Addr, LD_PID.Proportion);
           EEPROM_write(EE_LDPID_I_Addr, LD_PID.Integral);
           EEPROM_write(EE_LDPID_D_Addr, LD_PID.Derivative);
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 5:            //温度PID修改
           CLI();
           WD_PID.Proportion = KEY_TEMP[5] * 10 + KEY_TEMP[4];
           if(WD_PID.Proportion>99)   WD_PID.Proportion=99;
           WD_PID.Integral = KEY_TEMP[3] * 10 + KEY_TEMP[2];
           if(LD_PID.Integral>20)   WD_PID.Integral=20;
           WD_PID.Derivative = KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(WD_PID.Derivative>99)   WD_PID.Derivative=99;
           
           EEPROM_write(EE_WDPID_P_Addr, WD_PID.Proportion);
           EEPROM_write(EE_WDPID_I_Addr, WD_PID.Integral);
           EEPROM_write(EE_WDPID_D_Addr, WD_PID.Derivative);
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 6:            //日期修改
           DS1302_Write(DS1302_CONTROL_Reg,0x00);//关闭写保护
           Year = (KEY_TEMP[5]<<4) | KEY_TEMP[4];
           DS1302_Write(DS1302_YEAR_Reg,Year); //年
             
           Month = (KEY_TEMP[3]<<4) | KEY_TEMP[2];
           if(Month>0x12)   Month=0x12;
           if(Month==0)   Month=1;
           DS1302_Write(DS1302_MONTH_Reg,Month); //月
             
           Date = (KEY_TEMP[1]<<4) | KEY_TEMP[0];
           if(Date>0x31)   Date=0x31;
           if(Date==0)   Date=1;
           DS1302_Write(DS1302_DATE_Reg,Date); //日
             
           DS1302_Write(DS1302_CONTROL_Reg,0x80);//打开写保护
           
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
          break;
          case 7:            //标定52PPM
          case 8:            //标定130PPM
          case 9:            //标定208PPM
          case 10:            //标定300PPM
          case 11:            //标定0PPM
           Set_LD_Value= KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
           LD_PID.SetPoint = Set_LD_Value;
          break;
          case 14:            //温度修改
           CLI();
           Set_WenDu_Value= KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(Set_WenDu_Value>40)   Set_WenDu_Value=40;
           WD_PID.SetPoint   =Set_WenDu_Value;
           EEPROM_write(EE_Set_WD_Addr, Set_WenDu_Value);
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
          case 15:            //风量修改
           CLI();
           Set_LiuLiang_Value= KEY_TEMP[3] * 1000 + KEY_TEMP[2] * 100 +KEY_TEMP[1] * 10 + KEY_TEMP[0];
           if(Set_LiuLiang_Value>1280)   Set_LiuLiang_Value=1280;
           EEPROM_write(EE_Set_FL_AddrL, Set_LiuLiang_Value%256);
           EEPROM_write(EE_Set_FL_AddrH, Set_LiuLiang_Value/256);
           OCR0=255-(Set_LiuLiang_Value/10);
           Display_TOUCH_MENU();
	       Display_TOUCH_Message(15);
           Clr_TOUCH_KEY_DISP_F();
           SEI();
          break;
         }
         else
           k=20;
        }
        else
          if(k==11)  //取消
          {
              Display_Time_CLR();
              Display_TOUCH_MENU();
	          Display_TOUCH_Message(15);
              Clr_TOUCH_KEY_DISP_F();
          }
          else
            if(k==12)  //清除
            {
              KEY_TEMP[0]=KEY_TEMP[1];
              KEY_TEMP[1]=KEY_TEMP[2];
              KEY_TEMP[2]=KEY_TEMP[3];
              KEY_TEMP[3]=KEY_TEMP[4];
              KEY_TEMP[4]=KEY_TEMP[5];
              KEY_TEMP[5]=0;
            }
            else
              if(k==13)  //标定
              {
               delay_nms(800);
               if(keyboard()==13)
               switch(MENU_NUM)
               {
                 case 7:            //标定52PPM
                      BDLD_052 = BDLD_AD_Value;
                      Set_LD_Value = 52;
                      LD_PID.SetPoint = 52;
                      BDLD_130 = (BDLD_AD_Value * 13)/5;
                      BDLD_208 = (BDLD_AD_Value * 20)/5;
                      BDLD_300 = (BDLD_AD_Value * 27)/5;
                      BDLD_520 = (BDLD_AD_Value * 36)/5;
                      BDLD_780 = (BDLD_AD_Value * 46)/5;
                      Sound_Nms(70);
                      delay_nms(100);
                      BDLD_YN_FLAG052=1;
                      CLI();
			          EEPROM_write(EE_BDLD_052_AddrL, BDLD_052%256);
			          EEPROM_write(EE_BDLD_052_AddrH, BDLD_052/256);
			          EEPROM_write(EE_BDLD_130_AddrL, BDLD_130%256);
			          EEPROM_write(EE_BDLD_130_AddrH, BDLD_130/256);
			          EEPROM_write(EE_BDLD_208_AddrL, BDLD_208%256);
			          EEPROM_write(EE_BDLD_208_AddrH, BDLD_208/256);
			          EEPROM_write(EE_BDLD_300_AddrL, BDLD_300%256);
			          EEPROM_write(EE_BDLD_300_AddrH, BDLD_300/256);
			          EEPROM_write(EE_BDLD_520_AddrL, BDLD_520%256);
			          EEPROM_write(EE_BDLD_520_AddrH, BDLD_520/256);
			          EEPROM_write(EE_BDLD_780_AddrL, BDLD_780%256);
			          EEPROM_write(EE_BDLD_780_AddrH, BDLD_780/256);
			          SEI();
                      delay_nms(10);
                      Display_TOUCH_MENU();
	                  Display_TOUCH_Message(15);
                      Clr_TOUCH_KEY_DISP_F();
                      Display_Time_CLR();
                 break;
                 case 8:            //标定130PPM
	              	  if(BDLD_AD_Value<BDLD_052 & BDLD_YN_FLAG052==1)
	              	   {
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	              	   }
	              	  else
	              	   {
	              	    BDLD_130 = BDLD_AD_Value;
	              	    Set_LD_Value = 130;
                        LD_PID.SetPoint = 130;
                        BDLD_208 = (BDLD_AD_Value * 20)/13;
                        BDLD_300 = (BDLD_AD_Value * 27)/13;
                        BDLD_520 = (BDLD_AD_Value * 36)/13;
                        BDLD_780 = (BDLD_AD_Value * 46)/13;
	                    Sound_Nms(70);
	              	    delay_nms(100);
	                    BDLD_YN_FLAG130=1;
	              	    if(BDLD_YN_FLAG052==0)
	              	    {
	              	   	 BDLD_052 = (BDLD_AD_Value * 5)/13;
	                     BDLD_YN_FLAG052=1;
	              	    }
                        CLI();
			            EEPROM_write(EE_BDLD_052_AddrL, BDLD_052%256);
			            EEPROM_write(EE_BDLD_052_AddrH, BDLD_052/256);
			            EEPROM_write(EE_BDLD_130_AddrL, BDLD_130%256);
			            EEPROM_write(EE_BDLD_130_AddrH, BDLD_130/256);
			            EEPROM_write(EE_BDLD_208_AddrL, BDLD_208%256);
			            EEPROM_write(EE_BDLD_208_AddrH, BDLD_208/256);
			            EEPROM_write(EE_BDLD_300_AddrL, BDLD_300%256);
			            EEPROM_write(EE_BDLD_300_AddrH, BDLD_300/256);
			            EEPROM_write(EE_BDLD_520_AddrL, BDLD_520%256);
			            EEPROM_write(EE_BDLD_520_AddrH, BDLD_520/256);
			            EEPROM_write(EE_BDLD_780_AddrL, BDLD_780%256);
			            EEPROM_write(EE_BDLD_780_AddrH, BDLD_780/256);
			            SEI();
			            delay_nms(10);
	              	   }
                      Display_TOUCH_MENU();
	                  Display_TOUCH_Message(15);
                      Clr_TOUCH_KEY_DISP_F();
                      Display_Time_CLR();
                 break;
                 case 9:            //标定208PPM
	              	  if(BDLD_AD_Value<BDLD_130 & BDLD_YN_FLAG130==1)
	              	   {
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	              	   }
	              	  else
	              	   {
	              	    BDLD_208 = BDLD_AD_Value;
	              	    Set_LD_Value = 208;
                        LD_PID.SetPoint = 208;
                        BDLD_300 = (BDLD_AD_Value * 27)/20;
                        BDLD_520 = (BDLD_AD_Value * 36)/20;
                        BDLD_780 = (BDLD_AD_Value * 46)/20;
	                    Sound_Nms(70);
	              	    delay_nms(100);
	                    BDLD_YN_FLAG208=1;
	              	    if(BDLD_YN_FLAG052==0)
	              	    {
	              	   	 BDLD_052 = (BDLD_AD_Value * 5)/20;
	                     BDLD_YN_FLAG052=1;
	              	    }
	              	    if(BDLD_YN_FLAG130==0)
	              	    {
	              	   	 BDLD_130 = (BDLD_AD_Value * 13)/20;
	                     BDLD_YN_FLAG130=1;
	              	    }
                        CLI();
			            EEPROM_write(EE_BDLD_052_AddrL, BDLD_052%256);
			            EEPROM_write(EE_BDLD_052_AddrH, BDLD_052/256);
			            EEPROM_write(EE_BDLD_130_AddrL, BDLD_130%256);
			            EEPROM_write(EE_BDLD_130_AddrH, BDLD_130/256);
			            EEPROM_write(EE_BDLD_208_AddrL, BDLD_208%256);
			            EEPROM_write(EE_BDLD_208_AddrH, BDLD_208/256);
			            EEPROM_write(EE_BDLD_300_AddrL, BDLD_300%256);
			            EEPROM_write(EE_BDLD_300_AddrH, BDLD_300/256);
			            EEPROM_write(EE_BDLD_520_AddrL, BDLD_520%256);
			            EEPROM_write(EE_BDLD_520_AddrH, BDLD_520/256);
			            EEPROM_write(EE_BDLD_780_AddrL, BDLD_780%256);
			            EEPROM_write(EE_BDLD_780_AddrH, BDLD_780/256);
			            SEI();
			            delay_nms(10);
	              	   }
                      Display_TOUCH_MENU();
	                  Display_TOUCH_Message(15);
                      Clr_TOUCH_KEY_DISP_F();
                      Display_Time_CLR();
                 break;
                 case 10:            //标定300PPM
	              	  if(BDLD_AD_Value<BDLD_208 & BDLD_YN_FLAG208==1)
	              	   {
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	                    Sound_Nms(70);
	              	    delay_nms(250);
	              	   }
	              	  else
	              	   {
	              	    BDLD_300 = BDLD_AD_Value;
	              	    Set_LD_Value = 300;
                        LD_PID.SetPoint = 300;
                        BDLD_520 = (BDLD_AD_Value * 36)/27;
                        BDLD_780 = (BDLD_AD_Value * 46)/27;
	                    Sound_Nms(70);
	              	    delay_nms(100);
	                    BDLD_YN_FLAG300=1;
	              	    if(BDLD_YN_FLAG052==0)
	              	    {
	              	   	 BDLD_052 = (BDLD_AD_Value * 5)/27;
	                     BDLD_YN_FLAG052=1;
	              	    }
	              	    if(BDLD_YN_FLAG130==0)
	              	    {
	              	   	 BDLD_130 = (BDLD_AD_Value * 13)/27;
	                     BDLD_YN_FLAG130=1;
	              	    }
	              	    if(BDLD_YN_FLAG208==0)
	              	    {
	              	   	 BDLD_208 = (BDLD_AD_Value * 20)/27;
	                     BDLD_YN_FLAG208=1;
	              	    }
                        CLI();
			            EEPROM_write(EE_BDLD_052_AddrL, BDLD_052%256);
			            EEPROM_write(EE_BDLD_052_AddrH, BDLD_052/256);
			            EEPROM_write(EE_BDLD_130_AddrL, BDLD_130%256);
			            EEPROM_write(EE_BDLD_130_AddrH, BDLD_130/256);
			            EEPROM_write(EE_BDLD_208_AddrL, BDLD_208%256);
			            EEPROM_write(EE_BDLD_208_AddrH, BDLD_208/256);
			            EEPROM_write(EE_BDLD_300_AddrL, BDLD_300%256);
			            EEPROM_write(EE_BDLD_300_AddrH, BDLD_300/256);
			            EEPROM_write(EE_BDLD_520_AddrL, BDLD_520%256);
			            EEPROM_write(EE_BDLD_520_AddrH, BDLD_520/256);
			            EEPROM_write(EE_BDLD_780_AddrL, BDLD_780%256);
			            EEPROM_write(EE_BDLD_780_AddrH, BDLD_780/256);
			            SEI();
			            delay_nms(10);
	              	   }
                      Display_TOUCH_MENU();
	                  Display_TOUCH_Message(15);
                      Clr_TOUCH_KEY_DISP_F();
                      Display_Time_CLR();
                 break;
                 case 11:            //标定0PPM
                      Set_LD_Value = 0;
                      LD_PID.SetPoint = 0;
                      LD_CLR_FLAG=1;
                      LD_CLR_Count=800;
	                  Clr_TOUCH_MENU_DISP_F();
	                  Clr_TOUCH_KEY_DISP_F();
	                  Display_Time_CLR();
	                  Display_CON320240();
                 break;
               }
               else
                  k=20;
              }
             
      }
      else     //if(YN_TOUCH_KEY_DISP_F)
	  if(YN_TOUCH_MENU_DISP_F)
	  {
       switch(k)
       {
         case 0:            //浓度修改
	          MENU_NUM=0;
	          KEY_TEMP[5]=0;
	          KEY_TEMP[4]=0;
	          KEY_TEMP[3]=0;
	          KEY_TEMP[2]=Set_LD_Value/100;
	          KEY_TEMP[1]=(Set_LD_Value%100)/10;
	          KEY_TEMP[0]=(Set_LD_Value%100)%10;
	          Set_TOUCH_KEY_DISP_F();
	          Display_TOUCH_KEY();
	          Display_TOUCH_Message(0);
         break;
         case 1:            //浓度周期修改
	          MENU_NUM=1;

⌨️ 快捷键说明

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