如果都注意到了,那么,查看你的程序:在P0口和P1口切换时,你的电机磁场脉拍是否正
确。举例:A->AB->B->BA'->A'->A'B'->B'-B'A->A 整个过程中,你给电机的脉冲是否遵循
了以上规律。肯定是你在切换时给电机的脉冲出了问题。细查!
MOV R0,#100
CLR P0.1
LOOP: CLR P0.0
ACALL DEL1
SETB P0.0
ACALL DEL1
DJNZ R0,LOOP
DEL1: MOV A,#82
LOOP2: DEC A
JNZ LOOP2
RET
DEL3: MOV R3,#200
L1: MOV R4,#200
L2: MOV R5,#200
L3: NOP
NOP
DJNZ R5,L3
DJNZ R4,L2
DJNZ R3,L1
RET
END
MOV R0,#100
CLR P0.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ACALL DEL1 ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LOOP: CLR P0.0
ACALL DEL1
SETB P0.0
ACALL DEL1
DJNZ R0,LOOP
DEL1: MOV A,#82
LOOP2: DEC A
JNZ LOOP2
RET
END
MOV R0,#100
CLR P0.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ACALL DEL1 ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LOOP: CLR P0.0
ACALL DEL1
SETB P0.0
ACALL DEL1
DJNZ R0,LOOP
;------------------------
LJMP $ ;停止运行
DEL1: MOV A,#82
LOOP2: DEC A
JNZ LOOP2
RET
END
如果要继续,可以将停止语句该为:LJMP START
MOV R0,#100
CLR P0.1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ACALL DEL1 ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LOOP: CLR P0.0
ACALL DEL1
SETB P0.0
ACALL DEL1
DJNZ R0,LOOP
;------------------------
LJMP $ ;停止运行
DEL1: MOV A,#82
LOOP2: DEC A
JNZ LOOP2
RET
END
如果要继续,可以将停止语句该为:LJMP START