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

📄 auto_con.plm

📁 中央空调恒温恒湿控制器c51单片机源程序的自动控制部份
💻 PLM
字号:
AUTO_con1:procedure;
   IF P22=0
     THEN DO;
          out=out or 2;
          IF y2_b
             THEN DO;
                  IF p26=0 THEN out=out or 4;
                           ELSE DO;
                                IF y2_run_dt=0 and main_dt=0
                                    THEN DO;
                                         out=out or 4;
                                         main_dt=5;
                                    END;
                          END;
            END;
     END;
     ELSE DO;
          IF Y1_RUN_DT=0 AND MAIN_DT=0
             THEN DO; main_dt=5;out=out or 2;END;
    END;
END AUTO_con1;
AUTO_con2:procedure;
   IF P26=0
     THEN DO;
          out=out or 4;
          IF y1_b
             THEN DO;
                  IF p22=0 THEN out=out or 2;
                           ELSE DO;
                                IF y1_run_dt=0 and main_dt=0
                                    THEN DO;
                                         out=out or 2;
                                         main_dt=5;
                                    END;
                          END;
            END;
     END;
     ELSE DO;
          IF Y2_RUN_DT=0 AND MAIN_DT=0
             THEN DO; main_dt=5;out=out or 4;END;
    END;
END AUTO_con2;
auto_con:procedure;
declare ii byte;
IF in_err>0  or con_stat>6 or tem_z=8000h or hum_z=0ffh THEN con_stat=0;
DO CASE con_stat;
/*0*/DO;
       system_run_f,auto_hand_b,y1_b,y2_b=0;out=0;
       y1_run_dt,y2_run_dt=180;
       IF in_err=0 THEN con_stat=1;
     END;
/*1*/DO;
       IF y1_run_dt=0 AND y1_b THEN out=out or 2;
       IF y2_run_dt=0 and y2_b then out=out or 4;
       IF open_f THEN DO;system_run_f,auto_hand_b=1;con_stat=2;open_f=0;END;
     END;
/*2*/DO;out=1;f_run_dt=15;main_dt=5;con_stat=3;END;
/*3*/IF main_dt=0 THEN con_stat=4;
/*4*/DO;
     DECLARE x word;
     DECLARE y byte;
     y=hum_z-set_hum;
     IF y>=80h
       THEN DO;
            y=(-y)*2;
            IF y>h_wide THEN y=0;ELSE y=1;
       END;
       ELSE DO;
            y=y*2/h_wide;
            IF y>2 THEN y=2;
            y=1+y;
       END;
      IF tem_z>8000h THEN out=0;
      IF tem_z<8000h
         THEN DO;
              x=tem_z-set_tem*10;
              IF x>=8000h
                THEN DO;
                     x=(-x)*3/t_wide;
                     IF x>3 THEN x=3;
                     out=3-low(x);
                END;
                ELSE DO;
                     x=x*3/t_wide;
                     out=3+low(x);
                     IF out>6 THEN out=6;
               END;
         END;
       y=out*4+y;IF y>25 THEN y=25;
       out,y=rom0(y);
       Y1_B,Y2_B=0;
       IF (y and 2)=2
          THEN DO;
              IF (y and 4)=4
                THEN Y1_B,Y2_B=1;
                ELSE DO;IF yj12 THEN y2_b=1;ELSE y1_b=1;END;
          END;
       IF ((Y AND 6)=0) AND (P22=0 OR P26=0) THEN yj12=not yj12;
       OUT=OUT AND 0F9H;
       IF yj12=0 AND Y1_B THEN CALL AUTO_con1;
       IF YJ12=1 AND Y2_B THEN CALL AUTO_con2;
       IF P24 AND (out and  40h)=40h
           THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0bfh;END;
       IF P21 AND (out and  8h)=8
         THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0f7h;END;
       IF P25 AND (out and  10h)=10h
         THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0efh;END;
       IF P20 AND (out and  20h)=20h
         THEN DO;IF main_dt=0 THEN main_dt=2;ELSE out=out AND 0dfh;END;
     END;
/*5*/DO;y1_b=0;out=0;con_stat=1;END;
/*6*/;
END;
ii=0;
IF (out AND  1h)= 1h THEN ii=8;        /*f*/
IF (out AND  2h)= 2h THEN ii=ii or 4h;   /*y1*/
IF (out AND  4h)= 4h THEN ii=ii or 40h;   /*y2*/
IF (out AND  8h)= 8h THEN ii=ii or 2h;   /*h1*/
IF (out AND 10h)=10h THEN ii=ii or 20h;  /*h2*/
IF (out AND 20h)=20h THEN ii=ii or 1h;   /*h3*/
IF (out AND 40h)=40h THEN ii=ii or 10h;   /*hum*/
p2=not ii;
IF P22=0 THEN y1_run_dt=180;
IF P26=0 THEN y2_run_dt=180;
END auto_con;


⌨️ 快捷键说明

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