hso_正反转.txt
来自「运用模糊算法和PID调节控制开关磁阻电机的调速。采用的单片机是Intel的80c」· 文本 代码 · 共 193 行
TXT
193 行
/*高速输出处理程序*/
HSO_PROCESS:PROCEDURE ;/*两相定角度开通角-7.5,关断角22.5*/
DISABLE;
IF DIRECT=1 THEN DO;/*逆时针*/
IF RUN_SPD<60 THEN DO; /*run_spd<60 两相启动*/
TURNON=02H;
TURNOFF=02H;
DO CASE ORDER;
T00:DO;
HSO_COMMAND=20H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=02H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T01:DO;
HSO_COMMAND=21H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=03H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T02:DO;
HSO_COMMAND=22H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=00H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T03:DO;
HSO_COMMAND=23H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=01H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
END;
END;
ELSE DO;
TURNON=T_SPAN/2;
TURNOFF=T_SPAN/2;
DO CASE ORDER;
T00:DO;/*P=1,Q=0*/
HSO_COMMAND=21H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=03H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
TO1:DO;/*P=1,Q=1*/
HSO_COMMAND=22H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=00H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
TO2:DO;/*P=0,Q=1*/
HSO_COMMAND=23H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=01H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
TO3:DO;/*P=0,Q=0*/
HSO_COMMAND=20H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=02H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
END;
END;
END;
ELSE DO;/*顺时针*/
IF RUN_SPD<60 THEN DO;
TURNON=02H;
TURNOFF=02H;
DO CASE ORDER;
T50:DO;
HSO_COMMAND=22H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=00H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T51:DO;
HSO_COMMAND=23H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=01H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T52:DO;
HSO_COMMAND=20H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
HSO_COMMAND=02H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
END;
T53:DO;
HSO_COMMAND=21H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=03H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
END;
END;
ELSE DO;
TURNON=T_SPAN/2;
TURNOFF=T_SPAN/2;
DO CASE ORDER;
T10:DO;/*P=1,Q=1*/
HSO_COMMAND=21H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=03H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
T11:DO;/*P=0,Q=1*/
HSO_COMMAND=22H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=00H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
T12:DO;/*P=0,Q=0*/
HSO_COMMAND=23H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=01H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
T13:DO;/*P=1,Q=0*/
HSO_COMMAND=20H;
HSO_TIME=TIMER1+TURNOFF;
R0=0;
R0=0;
HSO_COMMAND=02H;
HSO_TIME=TIMER1+TURNON;
R0=0;
R0=0;
END;
END;
END;
END;
ENABLE;
END HSO_PROCESS;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?