初学者:步进电机控制!多谢!
回复步进电机控制
我来回答你 如果都注意到了,那么,查看你的程序:在P0口和P1口切换时,你的电机磁场脉拍是否正
确。举例:A->AB->B->BA'->A'->A'B'->B'-B'A->A 整个过程中,你给电机的脉冲是否遵循
了以上规律。肯定是你在切换时给电机的脉冲出了问题。细查!
重新回答
高手请看!
</a> ,型号为:17s101,驱动器为:SH-2H042Ma, 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