TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: jacho en 25 de Agosto de 2010, 22:35:36

Título: problemas con compilador
Publicado por: jacho en 25 de Agosto de 2010, 22:35:36
hola a todos estoy haciendo un programita sencillo en microcode studio al momento de simularlo en proteus trabaja bien pero al momento de montarlo en el protoboard no hace nada el pic los voltios el montaje en gral estan bien...la idea es ke al interuptor en unos de los pines del pic se encienda y se apague un led quedando en ON el interuptor...al momento de colocar en OFF el interuptor ,el led realice lo mismo encienda y apague ....este es mi programa ..muy novato en esto pero en proteus funciona..si alguien me ayuda para que me trabaje en el protoboard....pic16f628

pro:
if porta.0=1 then encendido
goto pro
 encendido:
high portb.0
pause 1000
low portb.0
pause 1000
goto pro2
pro2:
if porta.0=0 then apagado
goto pro2
apagado:
high portb.0
pause 1000
low portb.0
pause 1000
 goto pro
end

saludos
Título: Re: problemas con compilador
Publicado por: wolfman77 en 27 de Agosto de 2010, 14:08:07
No seteaste el puerto A como entrada

TRISA = %11111111

y el puerto B como salida

TRISB = %00000000

Proba con eso

Saludos!

Martin
Título: Re: problemas con compilador
Publicado por: Fer_TACA en 27 de Agosto de 2010, 19:22:14
Revisa bien las conexiones sobre todo las del oscilador y condensadores asociados.
Las protoboard no suelen realizar muy buenas conexiones y a las frecuencias altas puede dar lugar a falso contactos.
F.
Título: Re: problemas con compilador
Publicado por: jacho en 27 de Agosto de 2010, 21:11:48
hola ,,...gracias por sus respuestas me sirvió de mucho pero funciono solo con el basic compiler IDE con el microcode no me trabaja como que no compila bien....otra ayudita como hago para agregarle al programa otro interruptor que haga lo mismo que el primero pero con otra salida puede ser por el portb.1 sin afectar lo que pase con el primero.....no se si me hago entender osea como si fueran 2 pic con el mismo programa en un solo encapsulado jejeje algo asi....
gracias por la ayuda

saludos,,,
Título: Re: problemas con compilador
Publicado por: Fer_TACA en 28 de Agosto de 2010, 08:09:08
Aunque no soy especialista en basic y quizas esté mal la rutina puedes probarla para ver si te funciona pero y seguir la secuencia.
Indudablemente no me gusta pues tiene demasiados "goto" y esto no es bueno dentro de un programa ya que si no los controlas puede salir cualquier cosa pero en base a esto puedes pulir lo que he escrito

Código: [Seleccionar]
pro:
if porta.0=1 then encendido
goto pro4
 encendido:
high portb.0
pause 1000
low portb.0
pause 1000

if porta.0=0 then apagado
goto pro4
apagado:
high portb.0
pause 1000
low portb.0
pause 1000

pro4:
if porta.1=1 then encendido1
goto pro
 encendido1:
high portb.1
pause 1000
low portb.1
pause 1000
if porta.1=0 then apagado1
goto pro
apagado1:
high portb.1
pause 1000
low portb.1
pause 1000
goto pro
end

Título: Re: problemas con compilador
Publicado por: jacho en 28 de Agosto de 2010, 10:25:22
hola fer ....bueno esa es la idea lo simulè y necesito es que si se activa el interruptor1 el led1 prende y apaga una sola vez y queda en espera de desactivar el interruptor para otra vez prender y apagar....lo mismo con el interruptor2 ..eso si ambos independiente osea que si activo el interruptor1 hace la funcion queda en espera de desactivar en ese estado puedo hacer lo mismo con el interruptor2 sin afectar la espera o el estado del primero y asi con el segundo interuptor...si el segundo esta activo prende y apaga el led 2 una sola vez quedando a la espera de desactivarlo algo asi....
saludos...
Título: Re: problemas con compilador
Publicado por: Fer_TACA en 29 de Agosto de 2010, 13:43:12
Pues si no esta mal el programa mas o menos esta realizando lo que quieres.
Si activas el interrruptor 1 prende el led 1 hasta que lo desactivas originando que se apague el led1. Igualmete para el interruptor 2 y led2. Trabajan de forma independiente.
Pero el programa como tal puedes ser muy mejorado.

F.