📄 改猛.txt
字号:
DO;
CON_8253=72H;
T8253_1=0;
T8253_1=00H;
/*IF RUN_SPD>200 THEN
DO;
IF RUN_SPD>800 THEN DO;
CON_8253=72H;
T8253_1=3EH;
T8253_1=00H;
END;
IF RUN_SPD>600 THEN DO;
CON_8253=72H;
T8253_1=20H;
T8253_1=00H;
END;
IF RUN_SPD>400 THEN DO;
CON_8253=72H;
T8253_1=15H;
T8253_1=00H;
END;
IF RUN_SPD>200 THEN DO;
CON_8253=72H;
T8253_1=10H;
T8253_1=00H;
END;
DO CASE ORDER;
ORDER_0: DO;
AA=0;
BB=1;
CC=1;
DD=0;
END;
ORDER_1: DO;
AA=0;
BB=0;
CC=1;
DD=1;
END;
ORDER_2: DO;
AA=1;
BB=1;
CC=0;
DD=0;
END;
ORDER_3: DO;
AA=1;
BB=0;
CC=0;
DD=1;
END;
END;
END;
ELSE DO; */
AA=1;
BB=1;
CC=1;
DD=1;
/* END; */
END;
ELSE DO; /*反向停车*/
/* IF RUN_SPD>200 THEN
DO;
IF RUN_SPD>800 THEN DO;
CON_8253=72H;
T8253_1=3EH;
T8253_1=00H;
END;
IF RUN_SPD>600 THEN DO;
CON_8253=72H;
T8253_1=30H;
T8253_1=00H;
END;
IF RUN_SPD>400 THEN DO;
CON_8253=72H;
T8253_1=25H;
T8253_1=00H;
END;
IF RUN_SPD>200 THEN DO;
CON_8253=72H;
T8253_1=15H;
T8253_1=00H;
END;
DO CASE ORDER;
ORDER_0: DO;
AA=1;
BB=0;
CC=0;
DD=1;
END;
ORDER_1: DO;
AA=1;
BB=1;
CC=0;
DD=0;
END;
ORDER_2: DO;
AA=0;
BB=0;
CC=1;
DD=1;
END;
ORDER_3: DO;
AA=0;
BB=1;
CC=1;
DD=0;
END;
END;
END;
ELSE DO; */
AA=1;
BB=1;
CC=1;
DD=1;
/* END; */
END;
CON_8253=72H;
T8253_1=0;
T8253_1=00H;
END STOP;
/*************全角度开通输出子程序*********/
ALL_OPEN_HSO:PROCEDURE;
IF DIRECT=0 THEN /*正向*/
DO;
DO CASE ORDER;
ORDER_0: DO;
AA=1;
BB=0;
CC=0;
DD=1;
END;
ORDER_1: DO;
AA=1;
BB=1;
CC=0;
DD=0;
END;
ORDER_2: DO;
AA=0;
BB=0;
CC=1;
DD=1;
END;
ORDER_3: DO;
AA=0;
BB=1;
CC=1;
DD=0;
END;
END;
END;
ELSE DO; /*反向*/
DO CASE ORDER;
ORDER_0: DO;
AA=0;
BB=1;
CC=1;
DD=0;
END;
ORDER_1: DO;
AA=0;
BB=0;
CC=1;
DD=1;
END;
ORDER_2: DO;
AA=1;
BB=1;
CC=0;
DD=0;
END;
ORDER_3: DO;
AA=1;
BB=0;
CC=0;
DD=1;
END;
END;
END;
END ALL_OPEN_HSO;
/************APC子程序*********************/
APC_HSO_2:PROCEDURE;
DISABLE;
IF DIRECT=0 THEN /*正向*/
DO;
DO CASE ORDER;
ORDER_0: DO;
S_T0=0;
TH0=(0FFFFH-17)/100H ;
TL0=(0FFFFH-17)-TH0*100H;
TR0=1;
CC=1;
AA=1;
END;
ORDER_1: DO;
S_T1=0;
TH1=(0FFFFH-17)/100H ;
TL1=(0FFFFH-17)-TH1*100H;
TR1=1;
DD=1;
BB=1;
END;
ORDER_2: DO;
S_T1=1;
TH1=(0FFFFH-17)/100H ;
TL1=(0FFFFH-17)-TH1*100H;
TR1=1;
BB=1;
DD=1;
END;
ORDER_3: DO;
S_T0=1;
TH0=(0FFFFH-17)/100H ;
TL0=(0FFFFH-17)-TH0*100H;
TR0=1;
AA=1 ;
CC=1 ;
END;
END;
END;
ELSE DO; /*反向*/
DO CASE ORDER;
ORDER_0: DO;
S_T0=0;
TH0=(0FFFFH-17)/100H ;
TL0=(0FFFFH-17)-TH0*100H;
TR0=1;
BB=1;
DD=1;
END;
ORDER_1: DO;
S_T1=0;
TH1=(0FFFFH-17)/100H ;
TL1=(0FFFFH-17)-TH1*100H;
TR1=1;
AA=1;
CC=1;
END;
ORDER_2: DO;
S_T1=1;
TH1=(0FFFFH-17)/100H ;
TL1=(0FFFFH-17)-TH1*100H;
TR1=1;
AA=1;
CC=1;
END;
ORDER_3: DO;
S_T0=1;
TH0=(0FFFFH-17)/100H ;
TL0=(0FFFFH-17)-TH0*100H;
TR0=1;
BB=1 ;
DD=1 ;
END;
END;
END;
ENABLE;
END APC_HSO_2;
/********************************/
APC_HSO_1:PROCEDURE;
DISABLE;
IF DIRECT=0 THEN /*正向*/
DO;
DO CASE ORDER;
ORDER_0: DO;
S_T0=4;
TH0=(0FFFFH-384)/100H ;
TL0=(0FFFFH-384)-TH0*100H;
TR0=1;
CC=0;
AA=1;
END;
ORDER_1: DO;
S_T1=4;
TH1=(0FFFFH-384)/100H ;
TL1=(0FFFFH-384)-TH1*100H;
TR1=1;
DD=0;
BB=1;
END;
ORDER_2: DO;
S_T1=5;
TH1=(0FFFFH-384)/100H ;
TL1=(0FFFFH-384)-TH1*100H;
TR1=1;
BB=0;
DD=1;
END;
ORDER_3: DO;
S_T0=5;
TH0=(0FFFFH-384)/100H ;
TL0=(0FFFFH-384)-TH0*100H;
TR0=1;
AA=0 ;
CC=1 ;
END;
END;
END;
ELSE DO; /*反向*/
DO CASE ORDER;
ORDER_0: DO;
S_T0=4;
TH0=(0FFFFH-384)/100H ;
TL0=(0FFFFH-384)-TH0*100H;
TR0=1;
BB=1;
DD=0;
END;
ORDER_1: DO;
S_T1=4;
TH1=(0FFFFH-384)/100H ;
TL1=(0FFFFH-384)-TH1*100H;
TR1=1;
AA=0;
CC=1;
END;
ORDER_2: DO;
S_T1=5;
TH1=(0FFFFH-384)/100H ;
TL1=(0FFFFH-384)-TH1*100H;
TR1=1;
AA=1;
CC=0;
END;
ORDER_3: DO;
S_T0=5;
TH0=(0FFFFH-384)/100H ;
TL0=(0FFFFH-384)-TH0*100H;
TR0=1;
BB=0 ;
DD=1 ;
END;
END;
END;
ENABLE;
END APC_HSO_1;
/********************************************************/
APC_HSO_11:PROCEDURE;
DISABLE;
IF DIRECT=0 THEN /*正向*/
DO;
DO CASE ORDER;
ORDER_0: DO;
S_T0=8;
TH0=(0FFFFH-85)/100H ;
TL0=(0FFFFH-85)-TH0*100H;
TR0=1;
CC=1;
AA=1;
END;
ORDER_1: DO;
S_T1=8;
TH1=(0FFFFH-85)/100H ;
TL1=(0FFFFH-85)-TH1*100H;
TR1=1;
DD=1;
BB=1;
END;
ORDER_2: DO;
S_T1=9;
TH1=(0FFFFH-85)/100H ;
TL1=(0FFFFH-85)-TH1*100H;
TR1=1;
BB=1;
DD=1;
END;
ORDER_3: DO;
S_T0=9;
TH0=(0FFFFH-85)/100H ;
TL0=(0FFFFH-85)-TH0*100H;
TR0=1;
AA=1 ;
CC=1 ;
END;
END;
END;
ELSE DO; /*反向*/
DO CASE ORDER;
ORDER_0: DO;
S_T0=8;
TH0=(0FFFFH-85)/100H ;
TL0=(0FFFFH-85)-TH0*100H;
TR0=1;
BB=1;
DD=1;
END;
ORDER_1: DO;
S_T1=8;
TH1=(0FFFFH-85)/100H ;
TL1=(0FFFFH-85)-TH1*100H;
TR1=1;
AA=1;
CC=1;
END;
ORDER_2: DO;
S_T1=9;
TH1=(0FFFFH-85)/100H ;
TL1=(0FFFFH-85)-TH1*100H;
TR1=1;
AA=1;
CC=1;
END;
ORDER_3: DO;
S_T0=9;
TH0=(0FFFFH-85)/100H ;
TL0=(0FFFFH-85)-TH0*100H;
TR0=1;
BB=1 ;
DD=1 ;
END;
END;
END;
ENABLE;
END APC_HSO_11;
/**************高速输出子程序*******************/
HSO_PROCESS:PROCEDURE;
DISABLE;
CALL APC_HSO_1;
ENABLE;
END HSO_PROCESS;
/************键盘处理子程序***************/
KEY: PROCEDURE;
DO;
P0=0FFH;
RD=0;
P2=4FH;
IF (P00=0 AND KEY_TL=0) /* 速度显示
*/
THEN DO;
VV=VV+1;
IF VV=1 THEN
DO;
KEY_TL=1;
S_SPD=0;
END;
ELSE IF VV=2 THEN
DO;
KEY_TL=1;
S_SPD=1;
END;
ELSE IF VV=3 THEN
DO;
KEY_TL=1;
S_SPD=2;
END;
ELSE IF VV=4 THEN
DO;
KEY_TL=1;
S_SPD=3;
END;
END;
ELSE IF (P01=0 AND KEY_TL=0) /*方向键*/
THEN DO;
VV=VV+1;
IF VV=1 THEN
DO;
BID=1;
DIRECT=1;
END;
ELSE IF VV=2 THEN
DO;
BID=0;
DIRECT=0;
VV=0;
END;
END;
ELSE IF (P02=0 AND KEY_TL=0) /*设定转速
*/
THEN DO;
S_SPD=1;
VV=VV+1;
DO CASE VV;
VV00:DO;
END;
VV10: DO;
KEY_TL=1;
AIM_SPD=100;
CALL TIME(500 );
END;
VV0: DO;
KEY_TL=1;
AIM_SPD=200;
CALL TIME(500 );
END;
VV1:
DO;
KEY_TL=1;
AIM_SPD=400;
CALL TIME(500 );
END;
VV2:
DO;
KEY_TL=1;
AIM_SPD=600;
CALL TIME(500 );
END;
VV3: DO;
KEY_TL =1;
AIM_SPD=800;
CALL TIME(500 );
END;
VV4:
DO;
KEY_TL=1;
AIM_SPD=1000;
CALL TIME(500 );
END;
VV5:
DO;
KEY_TL=1;
AIM_SPD=1200;
CALL TIME(500 );
END;
VV6:
DO;
KEY_TL=1;
AIM_SPD=1500;
CALL TIME(500);
VV=0;
END;
END;
END;
ELSE IF (P04=0 AND KEY_TL=0) /*************加
速键************/
THEN DO;
AIM_SPD=AIM_SPD+SPD_STEP;
KEY_TL=1;
S_SPD=1;
END;
ELSE IF (P05=0 AND KEY_TL=0)
/*************减速键************/
THEN DO;
IF AIM_SPD=0 THEN
AIM_SPD=0;
ELSE DO;
AIM_SPD=AIM_SPD-SPD_STEP;
KEY_TL=1;
S_SPD=1;
END;
END;
ELSE IF (P03=0 AND KEY_TL=0)
/*************设定步距键************/
THEN DO;
KEY_TL=1;
SPD_STEP=SPD_STEP+5;
IF SPD_STEP=100 THEN
SPD_STEP=5;
S_SPD=2;
END;
ELSE IF (P06=0 AND KEY_TL=0)
/*************停车键************/
THEN DO;
KEY_TL=1;
START_SIGN=0;
AIM_SPD=0;
CALL STOP;
S_SPD=0;
END;
ELSE IF (P07=0 AND KEY_TL=0)
/*************启动键************/
THEN DO;
START_SIGN=1;
KEY_TL=1;
CALL START;
S_SPD=0;
END;
RD=1;
P2=0FFH;
END;
END KEY;
/*************外部中断0高速输入处理***************/
INT0:PROCEDURE INTERRUPT 0;
DECLARE LL1 BYTE AT (30H) MAIN;
DECLARE LL2 BYTE AT (31H) MAIN;
DISABLE ;
P2=17H;
PP=1;
IF RUN_SPD<100 then do;
CON_8253=72H;
T8253_1=5;
T8253_1=00H;
end;
/* IF ((SPD5<SPD_D and SPD5>20)and RUN_SPD>100 ) THEN DO;
ZXS=ZXS+1;
IF ZXS=T_V THEN DO;
CALL PWM;
ZXS=0;
END;
END; */
ZXS=ZXS+1;
IF START_SIGN=0 THEN DO;
IF ZXS>20 THEN DO;
ZXS=1;
CALL PWM;
END;
ELSE CALL PWM_OUT;
END;
ELSE DO;
IF RUN_SPD<60 THEN DO;
IF ZXS>300 THEN DO;
ZXS=1;
CALL PWM;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -