Programa ejemplo
El programa propuesto es un sencillo ejemplo en
BASIC, que permite controlar todas las funciones del motor y está estructurado
de la siguiente manera:
- Líneas 10 a 40 - Esta parte inicializa las variables
y pone a cero todas las líneas del puerto.
- Líneas 50 a 220 - Aquí se prepara la pantalla
del menú, desde el cual podemos cambiar cualquier dato.
- Líneas 230 a 290 - Envío del dato al puerto del
ordenador y impresión del dato generado en la pantalla. Desde aquí el
programa vuelve al menú.
- Líneas 300 y 310 - Esta parte actúa cuando seleccionamos
desde el menú la opción Salir, y se encargan de poner a cero las líneas
del puerto y borrar la pantalla, después de lo cual finaliza el programa.
10 REM inicialización
20 OUT &H378,&H0
30 DIR=&H378
40 M=0:S=0:V=0:M$="":S$=""
50 REM Entrada de datos
60 CLS
70 PRINT"1. cambio de velocidad"
80 PRINT"2. cambio de sentido"
90 PRINT"3. Marcha/paro"
100 PRINT"S. Salir"
110 IN$=INKEY$
120 IF IN$="1" GOTO 190
130 IF IN$="2" GOTO 170
140 IF IN$="3" GOTO 210
150 IF IN$="S" OR IN$="s" GOTO 300
160 GOTO 110
170 INPUT "Sentido de giro (D/I) :";S$
180 IF S$="D" OR S$="d" OR S$="I" OR S$="i" GOTO 230 ELSE GOTO 170
190 INPUT "Velocidad (0-15) :";VEL
200 IF VEL>15 OR VEL<0 GOTO 190 ELSE GOTO 230
210 INPUT "Marcha o paro (M/P) :";M$
220 IF M$="M" OR M$="m" OR M$="P" OR M$="p" GOTO 230 ELSE GOTO 210
230 REM Cálculo de datos
240 IF S$="D" OR S$="d" THEN S=0 ELSE S=16
250 IF M$="M" OR M$="m" THEN M=32 ELSE M=0
260 DATO=(VEL+S+M)
270 REM envío de datos
280 OUT &H378,DATO
290 PRINT DATO:GOTO 70
300 OUT &H378,0
310 CLS