Assembler Developer

Moderators: None (Apply to moderate this forum)
Number of threads: 960
Number of posts: 1753

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Edit Report
Please help me--- Posted by Dan on 17 Dec 2000 at 11:21 PM
Its an 8051 uController. You think its possible for you to develop any routines for me for which you are suggesting. Please help me do so cos I have until WED of the 20th. the latest. Better yet- could you design the entire code if possible and complete the two missing routines.<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 FASTROUTINE<br>
<br>
CALL WAITS<br>
<br>
CALL FORWARDSHAFT<br>
<br>
CALL WAITS<br>
<br>
CALL ROLLSTOP<br>
<br>
jmp start ; &#223;---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 ; &#223;---counterclockwise <br>
<br>
WAITS: MOV R2, A ;FULL WAITS (SHORT) IS APPR.2 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,#45 ;Turn it 45 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#90 ;Turn it 90 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#180 ;Turn it 180 degrees.<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#270 ;Turn it 270 degrees.<br>
<br>
CALL WAITS<br>
<br>
LJMP START<br>
<br>
RET<br>
<br>
REVERSESHAFT: ;Turn shaft in certain positions during REVERSE movement<br>
<br>
MOV P1,#10EH ;Turn it -270 degrees<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#0B4H ;Turn it -180 degrees<br>
<br>
CALL WAITS<br>
<br>
MOV P1,#5AH ;Turn it -90 degrees<br>
<br>
CALL WAITS <br>
<br>
MOV P1,#2DH ;Turn it -45 degrees<br>
<br>
CALL WAITS<br>
<br>
LJMP START<br>
<br>
RET<br>
<br>
<br>
<br>
<br>
<br>
;FASTROUTINE: ;Maximum speed to the UNIPOLAR STEPPER<br>
<br>
ORG 8100H ;Begins my origin<br>
<br>
MOV TMOD, #02H ;8-bit auto/reload<br>
<br>
MOV TH0, #-12 ;-12 reload<br>
<br>
SETB P1.0 ;Set P1.0 high<br>
<br>
SETB TR0 ;Start timer<br>
<br>
LOOP: JNB TF0, LOOP ;Wait Overflow<br>
<br>
CLR TR0 ;Stop timer<br>
<br>
CLR TF0 ;Clear overflow<br>
<br>
CPL P1.0 ;Toggle Port bit<br>
<br>
MOV P1,#00000001B ;1<br>
<br>
<br>
MOV P1,#00000010B ;2<br>
<br>
<br>
MOV P1,#00000100B ;4<br>
<br>
<br>
MOV P1,#00001000B ;8<br>
<br>
<br>
RET<br>
<br>
SJMP LOOP<br>
<br>
<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>






 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.