Attached is my pogram below. I need someone to complete my 2 missing routines for me.<br>
<br>
<br>
<br>
<br>
<br>
org 0000h<br>
<br>
jmp MAIN<br>
<br>
org 0100h<br>
<br>
MAIN: CALL ROLLSTOP<br>
<br>
mov p3,#11111111b <br>
<br>
<br>
START: jb p3.0,FORWARD ;PIN 3.0 IS ON - forward<br>
<br>
jnb p3.0,REVERSE ;PIN 3.0 IS OFF - reverse<br>
<br>
jmp start <br>
<br>
FORWARD: MOV A,#98 ;WAIT 1sec TO START RUNNING<br>
<br>
CALL WAITS<br>
<br>
CALL INITFORWARD ;SET MOTOR IN FORWARD MOTION<br>
<br>
CALL WAITS<br>
<br>
CALL FORWARDSHAFT<br>
<br>
CALL ROLLSTOP<br>
<br>
jmp start ; ---clockwise<br>
<br>
<br>
;SET MOTOR IN REVERSE MOTION<br>
<br>
REVERSE: MOV A,#98 ;WAIT 1sec TO START RUNNING<br>
<br>
<br>
CALL WAITS<br>
<br>
CALL INITREV<br>
<br>
CALL WAITS<br>
<br>
CALL REVERSESHAFT<br>
<br>
CALL ROLLSTOP <br>
<br>
jmp start ; ---counterclockwise <br>
<br>
WAITS: MOV R2, A ;FULL WAITS (SHORT) IS APPR.1.62 sec<br>
<br>
WAIT2: DJNZ R0,WAIT2<br>
<br>
MOV R0, #00000011B <br>
<br>
DJNZ R1, WAIT2 <br>
<br>
RET <br>
<br>
PAUSE: MOV A, #49 ;PAUSE 1/2sec AFTER MOVING <br>
<br>
CALL WAITS<br>
<br>
RET <br>
<br>
;SET FORWARD MOTION <br>
INITFORWARD: ;The unipolar stepper motor begins in motion ( Phase 1) <br>
MOV P1,#00000001B ;1<br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00000010B ;2<br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00000100B ;4<br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00001000B ;8<br>
<br>
CALL PAUSE<br>
<br>
<br>
RET <br>
<br>
;SET REVERSE MOTION <br>
INITREV: ;The unip. step. motor begins its backw. motion ( Phase 2) <br>
MOV P1,#00001000B ;8<br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00000100B ;4<br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00000010B ;2 <br>
<br>
CALL PAUSE<br>
<br>
MOV P1,#00000001B ;1<br>
<br>
CALL PAUSE<br>
<br>
RET <br>
<br>
<br>
<br>
<br>
<br>
FORWARDSHAFT: ;Turn shaft in certain positions during FORWARD movement<br>
<br>
MOV P1,#00010001B ;Turn it 45 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#10000010B ;Turn it 90 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#00001001B ;Turn it 180 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#01000010B ;Turn it 270 degrees.<br>
<br>
WAITS<br>
<br>
RET<br>
<br>
REVERSESHAFT: ;Turn shaft in certain positions during REVERSE movement<br>
<br>
MOV P1,#01000010B ;Turn it -270 degrees<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#00001001B ;Turn it -180 degrees<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#10000010B ;Turn it -90 degrees<br>
<br>
CALL WAITS <br>
<br>
MOV P1,#00010001B ;Turn it -45 degrees<br>
<br>
CALL WAITS<br>
<br>
RET<br>
<br>
<br>
<br>
<br>
<br>
FASTROUTINE: ;Maximum speed to the UNIPOLAR STEPPER<br>
<br>
<br>
SLOWROUTINE: ;Minimum speed to the UNIPOLAR STEPPER<br>
<br>
<br>
<br>
<br>
ROLLSTOP: MOV P1,#00000000B ;TURN OFF MOTOR <br>
RET <br>
END <br>
<br>
<br>
<br>
<br>
<br>