{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern\fprq1 Swiss;}{\f3\fmodern\fprq1 Courier New;}} {\colortbl\red0\green0\blue0;\red0\green240\blue240;\red0\green0\blue255;\red1\green1\blue1;\red0\green128\blue128;} \deflang1033\pard\plain\f2\fs26\cf2 'THIS PROGRAM LOOKS AT A ROTARY SWITCH \par 'WIRED TO PORTS A-D \par 'IT SELECTS STROKE DISTANCES BY WHICH PORT IS SELECTED \par 'PORT E IS A GO SIGNAL PORT \par 'UPON BOOT-UP, IT WILL TELL THE MOTOR TO GO HOME \par 'AFTER THAT, IT TELLS THE MOTOR TO GO TO \par 'THE SELECTED STROKE FROM THE ROTART SWITCH \par 'ANY VARIABLE CAN BE CHANGED AT THE TOP OF THE \par 'PROGRAM WHILE UP AND RUNNING. \par 'IN OTHER WORDS, HAVE A LAP TOP HOOKED UP AND \par 'TRY OUT THE RIGHT NUMBERS UNTIL YOU GET \par 'WHAT YOU NEED. \par 'THEN HARD CODE THE NUMBERS AT THE TOP \par 'OF THE PROGRAM \par '----------------------------- \par 'SET UP PORTS A-D AS INPUT PORTS \par UAI\tab 'RUN PROGRAM 1 \par UBI 'RUN PROGRAM 2 \par UCI 'RUN PROGRAM 3 \par UDI 'RUN PROGRAM 4 \par UEI\tab 'GO TO HOME ON BOOT-UP OR RUN PROGRAM \par \tab 'AFTER HOME COMPLETED \par UFO\tab 'MOVE COMPLETED \par UF=1 'SET PORT F TO 5VDC \par 'KEEP IN MIND, IT HAS A 5K PULL-UP RESISTOR \par 'I AM SETTING IT TO ZERO TO TURN ON AN OUTPUT \par '----------------------------- \par 'SET UP VARIABLES \par \par 'STROKE DISTANCE VARIABLES \par a=10000\tab 'STROKE 1 \par b=20000\tab 'STROKE 2 \par c=30000\tab 'STROKE 3 \par d=40000\tab 'STROKE 4 \par \par vv=1000000\tab 'Normal running speed \par aa=1000\tab \tab 'Normal running acceleration \par w=1000\tab \tab 'SOME WIAT TIME AT END OF STROKE \par '1000 IS ABOUT 1/4 OF A SECOND \par '----------------------------- \par \par \plain\f2\fs26\cf4 WHILE\plain\f2\fs26\cf2 UEI==1 \plain\f2\fs26\cf4 LOOP\plain\f2\fs26\cf2 'WAIT UNTIL PORT E GOES TO ZERO \par \plain\f2\fs26\cf4 WHILE\plain\f2\fs26\cf2 UEI==0 \plain\f2\fs26\cf4 LOOP\plain\f2\fs26\cf2 'WAIT UNTIL IT GOES BACK TO 5VDC\tab \par GOSUB0\tab 'go to home subroutine \par \par \plain\f2\fs26\cf4 WHILE\plain\f2\fs26\cf2 1 'LOOP FOREVER \par \par \plain\f2\fs26\cf4 IF\plain\f2\fs26\cf2 UEI==0 \par GOSUB2\tab 'GO DO A MOVE AS SELECTED BY ROTARY SWITCH \par \plain\f2\fs26\cf4 ENDIF\plain\f2\fs26\cf2 \par \par \plain\f2\fs26\cf4 LOOP\plain\f2\fs26\cf2 \par \par END \par \plain\f3\fs20\cf2 C0 \tab 'HOME ROUTINE \par \tab O=0 \par \tab 'Place Home routine Code here \par RETURN \par \plain\f2\fs26\cf2 \par C2\tab 'MAIN SUBROUTINE \par \plain\f2\fs26\cf4 WHILE\plain\f2\fs26\cf2 UEI==0 \plain\f2\fs26\cf4 LOOP\plain\f2\fs26\cf2 'WAIT UNTIL IT GOES BACK TO 5VDC \par \plain\f2\fs26\cf4 IF\plain\f2\fs26\cf2 UAI==0 \par P=a \par \plain\f2\fs26\cf4 ELSEIF\plain\f2\fs26\cf2 UBI==0 \par P=b \par \plain\f2\fs26\cf4 ELSEIF\plain\f2\fs26\cf2 UCI==0 \par P=c \par \plain\f2\fs26\cf4 ELSEIF\plain\f2\fs26\cf2 UDI==0 \par P=d \par \plain\f2\fs26\cf4 ENDIF\plain\f2\fs26\cf2 \par \par G\tab 'GO TO ONE OF 4 DISTANCES FROM ABOVE \par TWAIT\tab 'DO NOTHING UNTIL THERE \par UF=0\tab 'SET OUTPUT TO SAY DONE \par WAIT=w\tab 'WAIT SOME AMOUNT OF TIME IF NEEDED \par 'Place Code here for anything needed at end of stroke \par P=0\tab \tab 'RETURN HOME \par TWAIT\tab 'WAIT UNTIL THERE \par UF=1\tab 'RESET OUTPUT FOR NEXT GO AROUND \par RETURN \par \par \par \tab \par \par }