TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: pablotuc en 19 de Diciembre de 2006, 13:12:51
-
TRISB = 0
inicial:
PORTB.0 = 1
pause 100
PORTB.0 = 0
PAUSE 100
goto inicial
end
hago este programa en PBP y no se x que razon tengo estados altos en otros pins del PORTB, no se que puede ser x que lo hice una o otra vez, cerre el programa y todo sigue igual. y tambien cuando agrego este comando IF:
if PORTA.0 = 0 then
nop
else
goto inicial
endif
el programa lo ignora y sigue oscilando como si nunca lo hubiese puesto. que hago mal?
gracias!
-
Hola:
La primera parte prueba asi
TRISB = 0
PORTB=0
inicial:
high 0
pause 100
low 0
PAUSE 100
goto inicial
end
La segunda parte puede ser porque estes usando un pic que tenga canales analogicos y lo que debes hacer primero es digitalizarlos, que pic estas utilizando? Recuerda tambien declarar ese pin como entrada.
-
si, ya lo solucione, pasa que NOP parece ser que no es un comando valido en PBP... lo reemplace por otro comando y andubo bien. gracias.
-
se me presento un nuevo problema, buildeo el programa en PBP y no tiene errores, lo simulo en Proteus con otro dispositivo como el 16F876 y no pasa nada, vuelvo a poner el PIC anterior (16F84) y funciona bien, es decir solo funciona con este ultimo... corre el dispositivo desde el PBP pero sigue igual.. que puedo hacer? :s
-
¿Estas teniendo en cuenta que el PORTA en otros pics por defecto arrancan configurados como AD, comparadores, etc pero no como I/O digitales?
Saludos!
-
creo que si... puse esto al inicio del programa:
PORTB = 0
TRISB = 0
TRISA = 1
PORTA = 1
TRISC = 0
PORTC = 0
-
Me parece que no alcanza....
En mi basic (PIC SIMULTOR IDE) se agrega:
ALDIGITAL
En Proton se pone:
ALL_DIGITAL ON
Y otras veces algo parecido a esto:
ADCON1 = 7
Da resultado.
Habria que mirar la hoja de datos de ese micro....El registro ADCON1 es el secreto.
-
Hola:
ADCON1 = 7
Ese es el codigo correcto para PBP.
-
gracias muchachos ya lo solucione!!!! :D:D era ADCON1 = 7 :)