Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Anyone please correct my code and complete the 2 missing routines

Status
Not open for further replies.

higher

Mechanical
May 9, 2005
1
Hello. Can anyone out there please correct my 45,90,180,270 and -45,-90,-180,-270 conversion routines and complete the 2 missing routines. I will be in a greatful appreciation.Here is my code:






org 0000h

jmp MAIN

org 0100h

MAIN: CALL ROLLSTOP

mov p3,#11111111b


START: jb p3.0,FORWARD ;PIN 3.0 IS ON - forward

jnb p3.0,REVERSE ;PIN 3.0 IS OFF - reverse

jmp start

FORWARD: MOV A,#98 ;WAIT 1sec TO START RUNNING

CALL WAITS

CALL INITFORWARD ;SET MOTOR IN FORWARD MOTION

CALL WAITS

CALL FORWARDSHAFT

CALL WAITS

CALL ROLLSTOP

jmp start ; ß---clockwise


;SET MOTOR IN REVERSE MOTION

REVERSE: MOV A,#98 ;WAIT 1sec TO START RUNNING


CALL WAITS

CALL INITREV

CALL WAITS

CALL REVERSESHAFT

CALL ROLLSTOP

jmp start ; ß---counterclockwise

WAITS: MOV R2, A ;FULL WAITS (SHORT) IS APPR.2 sec

WAIT2: DJNZ R0,WAIT2

MOV R0, #00000011B

DJNZ R1, WAIT2

RET

PAUSE: MOV A, #49 ;PAUSE 1/2sec AFTER MOVING

CALL WAITS

RET

;SET FORWARD MOTION
INITFORWARD: ;The unipolar stepper motor begins in motion ( Phase 1)
MOV P1,#00000001B ;1

CALL PAUSE

MOV P1,#00000010B ;2

CALL PAUSE

MOV P1,#00000100B ;4

CALL PAUSE

MOV P1,#00001000B ;8

CALL PAUSE


RET

;SET REVERSE MOTION
INITREV: ;The unip. step. motor begins its backw. motion ( Phase 2)
MOV P1,#00001000B ;8

CALL PAUSE

MOV P1,#00000100B ;4

CALL PAUSE

MOV P1,#00000010B ;2

CALL PAUSE

MOV P1,#00000001B ;1

CALL PAUSE

RET





FORWARDSHAFT: ;Turn shaft in certain positions during FORWARD movement

MOV P1,#00010001B ;Turn it 45 degrees.

CALL WAITS

MOV P1,#10000010B ;Turn it 90 degrees.

CALL WAITS

MOV P1,#00001001B ;Turn it 180 degrees.

CALL WAITS

MOV P1,#01000010B ;Turn it 270 degrees.

CALL WAITS

LJMP START

RET

REVERSESHAFT: ;Turn shaft in certain positions during REVERSE movement

MOV P1,#01000010B ;Turn it -270 degrees

CALL WAITS

MOV P1,#00001001B ;Turn it -180 degrees

CALL WAITS

MOV P1,#10000010B ;Turn it -90 degrees

CALL WAITS

MOV P1,#00010001B ;Turn it -45 degrees

CALL WAITS

LJMP START

RET





;FASTROUTINE: ;Maximum speed to the UNIPOLAR STEPPER


;SLOWROUTINE: ;Minimum speed to the UNIPOLAR STEPPER




ROLLSTOP: MOV P1,#00000000B ;TURN OFF MOTOR
RET
END





 
Status
Not open for further replies.

Part and Inventory Search

Sponsor