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

📄 syssetup.c

📁 灭火控制盘(XMP4-2)
💻 C
📖 第 1 页 / 共 2 页
字号:
        case 3://1月
               if(add_dec)
                  {
                   if((((Clock_Time[5]&0xf0)==0x10)&&((Clock_Time[5]&0x0f)<0x02))||(Clock_Time[5]<0x09))
                      Clock_Time[5]=Clock_Time[5]+0x01;
                   }
               else
                  {
                   if((((Clock_Time[5]&0xf0)==0x10)&&((Clock_Time[5]&0x0f)>0x00))||((Clock_Time[5]<0x10)&&(Clock_Time[5]>0x01)))
                       Clock_Time[5]=Clock_Time[5]-0x01;
                   }
               break;
        case 4://10日
               if(add_dec)
                  {
                   if(Clock_Time[4]<0x2f) Clock_Time[4]=Clock_Time[4]+0x10;
                   if(Clock_Time[4]>0x2f) Clock_Time[4]=(Clock_Time[4]&0xf0)|0x01;
                   }
               else
                  {
                   if(Clock_Time[4]>0x0f) Clock_Time[4]=Clock_Time[4]-0x10;
                   }
               break;
        case 5://1日
               if(add_dec)
                  {
                   if((Clock_Time[4]==0x30)||((Clock_Time[4]<0x30)&&((Clock_Time[4]&0x0f)<0x09)))
                       Clock_Time[4]=Clock_Time[4]+0x01;
                   }
               else
                  {
                   if(((Clock_Time[4]>0x0f)&&((Clock_Time[4]&0x0f)>=0x01))||((Clock_Time[4]<0x30)&&((Clock_Time[4]&0x0f)>0x01)))
                       Clock_Time[4]=Clock_Time[4]-0x01;
                   }
               break;
        case 6://10小时
               if(add_dec)
                  {
                   if(Clock_Time[2]<0x1f) Clock_Time[2]=Clock_Time[2]+0x10;
                   if(Clock_Time[2]>0x1f) Clock_Time[2]=(Clock_Time[2]&0xf0)|0x03;
                   }
               else
                  {
                   if(Clock_Time[2]>0x0f) Clock_Time[2]=Clock_Time[2]-0x10;
                   }
               break;
        case 7://1小时
               if(add_dec)
                  {
                   if(((Clock_Time[2]>0x1f)&&(Clock_Time[2]<0x23))||((Clock_Time[2]<0x20)&&((Clock_Time[2]&0x0f)<0x09)))
                       Clock_Time[2]=Clock_Time[2]+0x01;
                   }
               else
                  {
                   if((Clock_Time[2]&0x0f)>=0x01) Clock_Time[2]=Clock_Time[2]-0x01;
                   }
               break;
        case 8://10分
               if(add_dec)
                  {
                   if(Clock_Time[1]<0x4f) Clock_Time[1]=Clock_Time[1]+0x10;
                   }
               else
                  {
                   if(Clock_Time[1]>0x0f) Clock_Time[1]=Clock_Time[1]-0x10;
                   }
               break;
        case 9://1分
               if(add_dec)
                  {
                   if((Clock_Time[1]&0x0f)<0x09) Clock_Time[1]=Clock_Time[1]+0x01;
                   }
               else
                  {
                   if((Clock_Time[1]&0x0f)>=0x01) Clock_Time[1]=Clock_Time[1]-0x01;
                   }
              break;
        case 10://10秒
                if(add_dec)
                   {
                    if(Clock_Time[0]<0x4f) Clock_Time[0]=Clock_Time[0]+0x10;
                    }
                else
                   {
                    if(Clock_Time[0]>0x0f) Clock_Time[0]=Clock_Time[0]-0x10;
                    }
                break;
        case 11://1秒
                if(add_dec)
                   {
                    if((Clock_Time[0]&0x0f)<0x09) Clock_Time[0]=Clock_Time[0]+0x01;
                    }
                else
                   {
                    if((Clock_Time[0]&0x0f)>=0x01) Clock_Time[0]=Clock_Time[0]-0x01;
                    }
                break;
        }
}
//*************************************************************************
//**函 数 名:Setup_Lcd_Dis_Menu_Clock
//**输    入:无
//**输    出:无
//**功能描述:时间设置菜单与数据显示
//*************************************************************************
void Setup_Lcd_Dis_Menu_Clock(uchar station_num)
{
 uchar xdata a,b=0;
 //显示 时间设置
 HzDisp1216(1,40,hz_shi3,0);
 HzDisp1216(1,52,hz_jian2,0);
 HzDisp1216(1,64,hz_she,0);
 HzDisp1216(1,76,hz_zhi3,0);
 //符号显示
 Asc_Disp68(5,24,asc_xiexian,0);
 Asc_Disp68(5,42,asc_xiexian,0);
 Asc_Disp68(5,78,asc_maohao,0);
 Asc_Disp68(5,96,asc_maohao,0);
 //显示时间
 a=Clock_Time[6]>>4;
 b=Clock_Time[6]&0x0f;
 if(station_num==0) Asc_Disp68(5,12,(asc_num+6*a),1);
 else Asc_Disp68(5,12,(asc_num+6*a),0);
 if(station_num==1) Asc_Disp68(5,18,(asc_num+6*b),1);
 else Asc_Disp68(5,18,(asc_num+6*b),0);
 a=Clock_Time[5]>>4;
 b=Clock_Time[5]&0x0f;
 if(station_num==2) Asc_Disp68(5,30,(asc_num+6*a),1);
 else Asc_Disp68(5,30,(asc_num+6*a),0);
 if(station_num==3) Asc_Disp68(5,36,(asc_num+6*b),1);
 else Asc_Disp68(5,36,(asc_num+6*b),0);
 a=Clock_Time[4]>>4;
 b=Clock_Time[4]&0x0f;
 if(station_num==4) Asc_Disp68(5,48,(asc_num+6*a),1);
 else Asc_Disp68(5,48,(asc_num+6*a),0);
 if(station_num==5) Asc_Disp68(5,54,(asc_num+6*b),1);
 else Asc_Disp68(5,54,(asc_num+6*b),0);
 a=Clock_Time[2]>>4;
 b=Clock_Time[2]&0x0f;
 if(station_num==6) Asc_Disp68(5,66,(asc_num+6*a),1);
 else Asc_Disp68(5,66,(asc_num+6*a),0);
 if(station_num==7) Asc_Disp68(5,72,(asc_num+6*b),1);
 else Asc_Disp68(5,72,(asc_num+6*b),0);
 a=Clock_Time[1]>>4;
 b=Clock_Time[1]&0x0f;
 if(station_num==8) Asc_Disp68(5,84,(asc_num+6*a),1);
 else Asc_Disp68(5,84,(asc_num+6*a),0);
 if(station_num==9) Asc_Disp68(5,90,(asc_num+6*b),1);
 else Asc_Disp68(5,90,(asc_num+6*b),0);
 a=Clock_Time[0]>>4;
 b=Clock_Time[0]&0x0f;
 if(station_num==10) Asc_Disp68(5,102,(asc_num+6*a),1);
 else Asc_Disp68(5,102,(asc_num+6*a),0);
 if(station_num==11) Asc_Disp68(5,108,(asc_num+6*b),1);
 else Asc_Disp68(5,108,(asc_num+6*b),0);
}
//*************************************************************************
//**函 数 名:Setup_Clock
//**输    入:无
//**输    出:无
//**功能描述:设置系统时间处理
//*************************************************************************
void Setup_Clock()
{
 uchar xdata fun_num=0;
 Read12887(Clock_Time);
 Clr_Scr(0);
 Setup_Lcd_Dis_Menu_Clock(fun_num);
 MenuCount=3000;
 while(1)
       {
        key_num=0xff;
        Read_Key();
        if(MenuCount == 1)
           {
            //回到正常状态下
            if(machine_status != 0x10)have_report = 1;
            break;
            }
        if(key_num==UP)
           {
            Clock_Num_Cl(fun_num,1);
            Setup_Lcd_Dis_Menu_Clock(fun_num);
            }
       else
          if(key_num==DOWN)
             {
              Clock_Num_Cl(fun_num,0);
              Setup_Lcd_Dis_Menu_Clock(fun_num);
              }
          else
             if(key_num==OK)
               {
                fun_num++;
                if(fun_num==12)fun_num=0;
                Setup_Lcd_Dis_Menu_Clock(fun_num);
                }
             else
                if(key_num==SETUP)
                   {
                    Setup12887(Clock_Time);
                    break;
                    }
       }
 Clr_Scr(0);
 key_num=0xff;
}
//*************************************************************************
//**函 数 名:Delay_Num_Cl
//**输    入:fun_num 区号
//            add_dec 加或减 1 加  0 减
//**输    出:无
//**功能描述:延时时间数据处理
//*************************************************************************
void Delay_Num_Cl(uchar fun_num,bit add_dec)
{
  if(fun_num==0)
     {
      if(add_dec)
         {
          if(ZD_delay_time<=20) ZD_delay_time+=10;
          }
      else
         {
          if(ZD_delay_time>=10) ZD_delay_time-=10;
          }
      }
  if(fun_num==1)
     {
      if(add_dec)
         {
          if(((ZD_delay_time/10)<3)&&((ZD_delay_time%10)<9))
              ZD_delay_time++;
          if((ZD_delay_time/10)==3)
              ZD_delay_time=30;
          }
      else
         {
          if((ZD_delay_time%10)>=0)
              ZD_delay_time--;
          }
      }
  if(fun_num==2)
     {
      if(add_dec)
         {
          if(SD_delay_time<=20) SD_delay_time+=10;
          }
      else
         {
          if(SD_delay_time>=10) SD_delay_time-=10;
          }
      }
  if(fun_num==3)
     {
      if(add_dec)
         {
          if(((SD_delay_time/10)<3)&&((SD_delay_time%10)<9))
              SD_delay_time++;
          if((SD_delay_time/10)==3)
              SD_delay_time=30;
          }
      else
         {
          if((SD_delay_time%10)>=0)
              SD_delay_time--;
          }
      }
}
//*************************************************************************
//**函 数 名:Setup_Lcd_Dis_Menu_Delay_Clock
//**输    入:无
//**输    出:无
//**功能描述:延时时间设置菜单与数据显示
//*************************************************************************
void Setup_Lcd_Dis_Menu_Delay_Clock(uchar station_num)
{
 uchar xdata a,b=0;
 //延时时间设置
 HzDisp1216(0,28,hz_yan,0);
 HzDisp1216(0,40,hz_shi3,0);
 HzDisp1216(0,52,hz_shi3,0);
 HzDisp1216(0,64,hz_jian2,0);
 HzDisp1216(0,76,hz_she,0);
 HzDisp1216(0,88,hz_zhi3,0);
 //自动延时
 HzDisp1216(3,20,hz_zi,0);
 HzDisp1216(3,32,hz_dong,0);
 HzDisp1216(3,44,hz_yan,0);
 HzDisp1216(3,56,hz_shi3,0);
 //手动延时
 HzDisp1216(5,20,hz_shou,0);
 HzDisp1216(5,32,hz_dong,0);
 HzDisp1216(5,44,hz_yan,0);
 HzDisp1216(5,56,hz_shi3,0);
 //秒
 HzDisp1216(3,92,hz_miao,0);
 HzDisp1216(5,92,hz_miao,0);
 //数据显示
 if(ZD_delay_time>30)
     ZD_delay_time=30;
 a=ZD_delay_time/10;
 b=ZD_delay_time%10;
 if(station_num==0) Asc_Disp68(4,78,(asc_num+6*a),1);
 else
    Asc_Disp68(4,78,(asc_num+6*a),0);
 if(station_num==1) Asc_Disp68(4,84,(asc_num+6*b),1);
 else
    Asc_Disp68(4,84,(asc_num+6*b),0);

 if(SD_delay_time>30)SD_delay_time=30;
 a=SD_delay_time/10;
 b=SD_delay_time%10;
 if(station_num==2) Asc_Disp68(6,78,(asc_num+6*a),1);
 else
    Asc_Disp68(6,78,(asc_num+6*a),0);
 if(station_num==3) Asc_Disp68(6,84,(asc_num+6*b),1);
 else
    Asc_Disp68(6,84,(asc_num+6*b),0);
}
//*************************************************************************
//**函 数 名:Setup_Delay_Clock
//**输    入:无
//**输    出:无
//**功能描述:延时时间设置菜单
//*************************************************************************
void Setup_Delay_Clock()
{
 uchar xdata fun_num=0;
 uchar xdata II;
 Clr_Scr(0);
 Setup_Lcd_Dis_Menu_Delay_Clock(fun_num);
 MenuCount=3000;
 while(1)
      {
       key_num=0xff;
       Read_Key();
       if(MenuCount == 1)
          {
           //回到正常状态下
           if(machine_status >= 0x30)have_report = 1;
           break;
           }
       if(key_num==UP)
          {
           Delay_Num_Cl(fun_num,1);
           Setup_Lcd_Dis_Menu_Delay_Clock(fun_num);
           }
       else
          if(key_num==DOWN)
             {
              Delay_Num_Cl(fun_num,0);
              Setup_Lcd_Dis_Menu_Delay_Clock(fun_num);
              }
          else
             if(key_num==OK)
                {
                 fun_num++;
                 if(fun_num==4)fun_num=0;
                 Setup_Lcd_Dis_Menu_Delay_Clock(fun_num);
                 }
             else
                if(key_num==SETUP)
                   {
                    if(SD_delay_time>30)SD_delay_time=30;
                    if(ZD_delay_time>30)ZD_delay_time=30;
                    for(II=0;II<4;II++)
                        {
                         //四个区的手动启动延时启动时间
                         delay_SDstart_time[II]=SD_delay_time;
                         //四个区的自动启动延时启动时间
                         delay_ZDstart_time[II]=ZD_delay_time;
                         }
                    SaveSysSetup();
                    break;
                    }
       }
 Clr_Scr(0);
 key_num=0xff;
}

⌨️ 快捷键说明

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