📄 key_con.plm
字号:
ins:PROCEDURE(qq) byte; /* qq+rr */
DECLARE qq byte;
qq=qq+1;
IF (qq AND 0fh)>=0ah THEN qq=qq+6;
RETURN(qq);
END ins;
des:PROCEDURE(qq) byte; /* qq-1 */
DECLARE qq byte;
qq=qq-1;
IF (qq AND 0fh)>=0ah THEN qq=qq-6;
RETURN(qq);
END des;
kz1:PROCEDURE(data0,data1,data2,data3);
declare (data0,data1,data2,data3) byte;
dis_led1(0),dis_led2(0)=ROM1(data0 and 0fh);
dis_led1(1),dis_led2(1)=ROM1(data1/data3 );
dis_led1(2),dis_led2(2)=ROM1(data1 mod data3);
dis_led1(3),dis_led2(3)=ROM1(data2/data3);
dis_led1(4),dis_led2(4)=ROM1(data2 mod data3);
data3=data0/16;
DO CASE data3;
DO;
dis_led2(1)=dis_led2(1) OR 80h;
dis_led2(2)=dis_led2(2) OR 80h;
END;
DO;
dis_led2(3)=dis_led2(3) OR 80h;
dis_led2(4)=dis_led2(4) OR 80h;
END;
;
END;
END kz1;
kz2:PROCEDURE;
DECLARE (i,j,k) byte;
k=42h;
DO J=0 TO 4;
k=k+2;
IF ds_b THEN i=ds_read(k);ELSE i=0;
dis_led1(4-j),dis_led2(4-j)=rom1(i);
END;
END KZ2;
kz3:PROCEDURE(ii,bb);
declare ii byte;
declare bb bit;
IF ii>=80h
THEN DO;ii=-ii;dis_led1(0),dis_led2(0)=40h;END;
ELSE DO;ii= ii;dis_led1(0),dis_led2(0)=00h;END;
dis_led1(1),dis_led2(1)=ROM1(ii/10);
dis_led1(2),dis_led2(2)=ROM1(ii mod 10);
dis_led1(3),dis_led2(3),dis_led1(4)=0;
IF BB
THEN DO;
dis_led2(2)=dis_led2(2) or 80h;
dis_led2(1)=dis_led2(1) or 80h;
dis_led2(4)=76h;
END;
ELSE DO;
Dis_led2(1)=dis_led2(1) or 80h;
dis_led2(4)=31h;
END;
END kz3;
key_con:PROCEDURE;
key_dd=15;
/* key_z=0 翻页 <
key_z=1 +
key_z=2 - */
IF key_zz>20 THEN key_zz=0;
IF key_zz<>0 AND key_z<>0 THEN key_b=1;
DO CASE key_zz;
IF key_z=0 THEN key_zz=1;
DO; /* key_zz=1 温度设定tem_set*/
IF key_z=0 THEN key_zz=2;
IF key_z=1 and set_tem<70 THEN set_tem=set_tem+1;
IF key_z=2 and set_tem>1 THEN set_tem=set_tem-1;
END;
DO; /* key_zz=2 hum_set */
IF key_z=0 THEN key_zz=3;
IF key_z=1 and set_hum<90 THEN set_hum=set_hum+1;
IF key_z=2 and set_hum>20 THEN set_hum=set_hum-1;
END;
DO; /* key_zz=3 set_time_hr */
IF key_z=0 THEN key_zz=4;
IF key_z=1 and ds_hr<23h THEN DO;ds_key_b=1;ds_hr=ins(ds_hr);END;
IF key_z=2 and ds_hr>0 THEN DO;ds_key_b=1;ds_hr=des(ds_hr);END;
END;
DO; /* key_zz=4 set_time_min */
IF key_z=0 THEN key_zz=5;
IF key_z=1 and ds_min<59h THEN DO;ds_min=ins(ds_min);ds_key_b=1;END;
IF key_z=2 and ds_min>0 THEN DO;ds_min=des(ds_min);ds_key_b=1;END;
END;
DO; /* key_zz=5 open_time_hr */
IF key_z=0 THEN DO;IF open_hr=24h THEN key_zz=9;ELSE key_zz=6;END;
IF key_z=1 THEN open_hr=ins(open_hr) mod 25h;
IF key_z=2 THEN DO;
IF open_hr=0 THEN open_hr=24h;
ELSE open_hr=des(open_hr);
END;
END;
DO; /* key_zz=6 close_hr */
IF key_z=0 THEN key_zz=7;
IF key_z=1 AND open_min<59h THEN open_min=ins(open_min);
IF key_z=2 and open_min>0 THEN open_min=des(open_min);
END;
DO; /* key_zz=7 close_time_hr */
IF key_z=0 THEN DO;
IF close_hr=24h THEN DO;open_hr=24h;key_zz=9;END;
ELSE key_zz=8;
END;
IF key_z=1 THEN close_hr=ins(close_hr) mod 25h;
IF key_z=2 THEN DO;
IF close_hr=0 THEN close_hr=24h;
ELSE close_hr=des(close_hr);
END;
END;
DO; /* key_zz=8 close_hr */
IF key_z=0 THEN key_zz=9;
IF key_z=1 AND close_min<59h THEN close_min=ins(close_min);
IF key_z=2 AND close_min>0 THEN close_min=des(close_min);
END;
IF key_z=1 THEN key_zz=10;ELSE key_zz=0;
IF key_z=2 THEN key_zz=11;ELSE key_zz=0;
IF key_z=0 THEN key_zz=12;ELSE key_zz=0;
DO; /* key_zz=12 t_wide*/
IF key_z=0 THEN key_zz=13;
IF key_z=1 and t_wide<50 THEN t_wide=t_wide+5;
IF key_z=2 and t_wide>5 THEN t_wide=t_wide-5;
END;
DO; /* key_zz=13 h_wide */
IF key_z=0 THEN key_zz=14;
IF key_z=1 and h_wide<5 THEN h_wide=h_wide+1;
IF key_z=2 and h_wide>1 THEN h_wide=h_wide-1;
END;
DO;/*key_zz=14 set_addth*/
IF key_z=0 THEN key_zz=15;
IF key_z=1 and set_addth<99 THEN set_addth=set_addth+1;
IF key_z=2 and set_addth>0 THEN set_addth=set_addth-1;
END;
DO;/*key_zz=15 set_addtl*/
IF key_z=0 THEN key_zz=16;
IF key_z=1 and set_addtl<99 THEN set_addtl=set_addtl+1;
IF key_z=2 and set_addtl>0 THEN set_addtl=set_addtl-1;
END;
DO;/*key_zz=16 y_sum_time*/
IF key_z<3 THEN key_zz=17;
END;
DO;/*key_zz=17 set_f_cc_no*/
IF key_z=0 THEN key_zz=18;
IF key_z=1 and f_cc_no<9 THEN f_cc_no=f_cc_no+1;
IF key_z=2 and f_cc_no>0 THEN f_cc_no=f_cc_no-1;
END;
DO;/*key_zz=18 t_verify*/
IF key_z=0 THEN key_zz=19;
IF key_z=1 and (t_verify>=80h or t_verify<99) THEN t_verify=t_verify+1;
IF key_z=2 and (t_verify<80h or t_verify>157) THEN t_verify=t_verify-1;
END;
DO;/*key_zz=19 h_verify*/
IF key_z=0 THEN key_zz=20;
IF key_z=1 and (h_verify<10 or h_verify>=80h) THEN h_verify=h_verify+1;
IF key_z=2 and (h_verify>246 or h_verify<80h) THEN h_verify=h_verify-1;
END;
END;
CS=0;CS=1;
DO CASE key_zz;
/*0*/ key_zz=84;
/*1*/ CALL kz1(0ah,set_tem,set_hum,10);
/*2*/ CALL kz1(1ah,set_tem,set_hum,10);
/*3*/ CALL kz1(0ah,ds_hr,ds_min,16);
/*4*/ CALL kz1(1ah,ds_hr,ds_min,16);
/*5*/ DO;
IF open_hr=24h
THEN CALL kz1(2dh,0bbh,0bbh,16);
ELSE CALL kz1(0dh,open_hr,open_min,16);
END;
/*6*/ CALL kz1(1dh,open_hr,open_min,16);
/*7*/ DO;
IF close_hr=24h
THEN CALL kz1(2eh,0bbh,0bbh,16);
ELSE CALL kz1(0eh,close_hr,close_min,16);
END;
/*8*/ CALL kz1(1eh,close_hr,close_min,16);
/*9*/ CALL kz1(2bh,0bbh,0aah,16);
/*10*/ CALL kz1(2ah,0bbh,0aah,16);
/*11*/ CALL kz1(2ah,0abh,0aah,16);
/*12*/ DO;
CALL kz1(0ah,t_wide,h_wide,10);
dis_led2(2)=dis_led2(2) and 07fh;
END;
/*13*/ DO;
CALL kz1(1ah,t_wide,h_wide,10);
dis_led1(1),dis_led2(1)=dis_led1(1) OR 80h;
END;
/*14*/ CALL kz1(0ch,set_addth,set_addtl,10);
/*15*/ CALL kz1(1ch,set_addth,set_addtl,10);
/*16*/ CALL kz2;
/*17*/ CALL kz1(1fh,0bbh,f_cc_no,16);
/*18*/ CALL kz3(T_VERIFY,0);
/*19*/ call kz3(H_VERIFY,1);
/*20*/ key_zz=84;
END;
CS=0;CS=1;
END key_con;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -