' ' CONTROL DE ACTUADORES Y SENSORES MEDIANTE PUERTO PARALELO ' ' Control de un motor de c.c. ' Motor conectado a los 2 primeros pines de datos mediante una ' etapa de potencia (transistores TIP125-120) ' + - ' D0 --- (etapa) --- M --- (etapa) --- D1 ' 2002 V¡ctor R. Gonz lez DECLARE SUB Activa (valor%) ' Direcciones del puerto paralelo CONST LPTBASE = &H378 CONST DATOS = LPTBASE CONST ESTADO = LPTBASE + 1 CONST CONTROL = LPTBASE + 2 ' Valores que activan el giro y la parada del motor CONST APAGA.MOTOR = &H3 ' D0=1 (pin2), D1=1 (pin 3) CONST GIRO.HORARIO = &H2 ' D0=0 (pin2), D1=1 (pin 3) CONST GIRO.ANTIHORARIO = &H1 ' D0=1 (pin2), D1=0 (pin 3) DIM tecla$ DIM pos.x AS INTEGER, pos.y AS INTEGER Activa APAGA.MOTOR CLS PRINT "Control de un motor c.c.:" PRINT " - = giro en sentido horario" PRINT " + = giro en sentido antihorario" PRINT " p = parada" PRINT " s = salir" PRINT pos.x = POS(0): pos.y = CSRLIN DO LOCATE pos.y, pos.x tecla$ = INKEY$ SELECT CASE tecla$ CASE "+" ' Giro en sentido antihorario PRINT "... giro antihorario ..." Activa GIRO.ANTIHORARIO CASE "-" ' Giro en sentido horario PRINT "... giro horario ... " Activa GIRO.HORARIO CASE "p" ' Parada PRINT "... detenido ... " Activa APAGA.MOTOR CASE "s" ' Salir END SELECT LOOP UNTIL tecla$ = "s" Activa APAGA.MOTOR END ' EnvÖa un valor al puerto de datos SUB Activa (valor%) OUT DATOS, valor% END SUB