TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: poeta3d en 02 de Abril de 2012, 23:23:08
-
quiero manejar un motor cc con l293 y 16f84. tengo este programa porque me oscilan las salidas RB0 y RB2??? no kiero que oscilen sino que se mantengan a 1 todo el tiempo
INICIO:
TRISB.0=0
TRISB.1=0
TRISB.2=0
SYMBOL SALIDA1=PORTB.0
SYMBOL SALIDA2=PORTB.1
SYMBOL SALIDA3=PORTB.2
SYMBOL LDR1=PORTA.0
SALIDAS:
SALIDA1=1
SALIDA2=0
SALIDA3=1
SALIDAS2:
SALIDA1=0
SALIDA2=0
SALIDA3=0
IF LDR1=1 THEN GOSUB SALIDAS
GOSUB INICIO
-
Hola, En tu programa veo unos Gosub pero no veo ningun return por ningun sitio.
Mira esto...
TRISB.0=0
TRISB.1=0
TRISB.2=0
SYMBOL SALIDA1=PORTB.0
SYMBOL SALIDA2=PORTB.1
SYMBOL SALIDA3=PORTB.2
SYMBOL LDR1=PORTA.0 '--- yo la LDR la pondria en PORTA.4 con un divisor de tension.
Inicio:
IF LDR1=1 THEN GOSUB SALIDAS
GOSUB Salida2 '------ esto te lo he cambiado (Inicio por Salida2)
goto Inicio
SALIDAS:
SALIDA1=1
SALIDA2=0
SALIDA3=1
Return
SALIDAS2:
SALIDA1=0
SALIDA2=0
SALIDA3=0
Return
end
-
me siguen oscilando las entradas y el motor no funciona. Adjunto el circuito en Proteus, quizas tengo mal el circuito.
-
No se como poner dibujos, yo nunca simulo las cosas con Proteus.
Lo de las Rv 100k y la ldr, pon en el esquema: desde los 5vcc una resistencia de 330 luego en serie la resistencia variable de 4k7 (la patilla del medio, cursor la pinchas despues de la resitencia de 330) luego en serie la LDR pinchada a GND, pincha del pic la puerta RA4 entre la Ldr y la resistencia variable...
no se si esta claro... :shock:
-
A ver si esto mejora algo.
TRISB.0 = 0
TRISB.1 = 0
TRISB.2 = 0
Symbol salida1 = PORTB.0
Symbol salida2 = PORTB.1
Symbol salida3 = PORTB.2
Symbol ldr1 = PORTA.0 '--- yo la LDR la pondria en PORTA.4 con un divisor de tension.
'Rutina principal
main:
While ldr1 = 1 'Mientras ldr1=1 repetimos salidas
Gosub salidas
Wend 'If ldr1 = 1 Then Gosub salidas
Gosub salidas2 '------ esto te lo he cambiado (Inicio por Salida2)
Goto main
End
'Subrutinas
salidas:
salida1 = 1
salida2 = 0
salida3 = 1
Return
salidas2:
salida1 = 0
salida2 = 0
salida3 = 0
Return