📄 能设置运行步数的4相8拍电机.txt
字号:
;28H.1判断电机转动的正反 (PS:单元不明白的问丽娟)
;38H(R2)中存放的为单位个数
;40H中存放的为单元运行的步数
;P1低位输出四相
MOV A,38H
MOV R2,A
JZ GODONE
MORE: MOV 40H,#________H
JB 28H.1, LOOP2 ;A为1转,即C=1,反转
LOOP1: ;正转
MOV A,#01H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#03H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#02H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#06H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#04H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#0CH
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#08H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#09H
MOV P1,A
LCALL DELAY1
MOV A,40H
DEC A
JNZ LOOP1
GODONE: AJMP DONE
LOOP2: ;反转
MOV A,#01H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#09H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#08H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#0CH
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#04H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#06H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#02H
MOV P1,A
LCALL DELAY1
LCALL JUDGE
MOV A,#03H
MOV P1,A
LCALL DELAY1
DEC 40H
MOV A,40H
JNZ LOOP2
DONE: ;停止,并反转一拍
MOV A,41H
MOV P1,A
LCALL DELAY1
LJMP ________ ;电机运行完毕,跳出
JUDGE: ;判断是否运行完一个单位
DEC 40H
MOV A,40H
JZ ALL
MOV A,P1
MOV 41H,A
RET
ALL: ;一个单位运行完毕
DJNZ R2,MORE1
LJMP DONE
MORE1: LJMP MORE ;运行所有的单元
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -