Write an 8051 ALP to interface stepper motor for following operations
;FULL STEP ANTICLOCKWISE
ORG 00HL0:
MOV R0,#48H
MOV A,#099H
L1:
MOV P1,A
RL A
ACALL DELAY
DJNZ R0,L1
JMP L0
DELAY:
MOV R4,#0FFH
L2:
MOV R7,#0FFH
L3:
DJNZ R7,L3
DJNZ R4,L2
RET
END
;FULL STEP CLOCKWISE
ORG 0000H
L0:
MOV R0,#48H
MOV A,#0CCH
L1:
MOV P1,A
RR A
ACALL DELAY
DJNZ R0,L1
JMP L0
DELAY:
MOV R4,#0FFH
L2:
MOV R7,#0FFH
L3:
DJNZ R7,L3
DJNZ R4,L2
RET
END
;HALF STEP ANTICLOCKWISE
ORG 0000H
MOV A,#00H
L2:
MOV DPTR,#200H
MOV R0,08H
L1:
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC DPTR
DJNZ R0,L1
SJMP L2
DELAY:
MOV R4,#0FFH
L3:
MOV R7,#0FFH
L4:
DJNZ R7,L4
DJNZ R4,L3
RET
;HALF STEP CLOCKWISE
ORG 0200H
DB 09H,01H,03H,02H,06H,04H,0CH,08H
END
ORG 0000H
MOV A,#00H
L2:
MOV DPTR,#200H
MOV R0,08H
L1:
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC DPTR
DJNZ R0,L1
SJMP L2
DELAY:
MOV R4,#0FFH
L3:
MOV R7,#0FFH
L4:
DJNZ R7,L4
DJNZ R4,L3
RET
ORG 0200H
DB 08H, 0CH, 04H, 06H, 02H, 03H, 01H, 09H
END
0 comments:
Post a Comment