Write an 8051 ALP to interface stepper motor for following operations

, by Prashant Gunjal


;FULL STEP ANTICLOCKWISE

ORG 00H
L0:
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: