TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: anpepla1 en 19 de Julio de 2006, 06:55:39
-
Hola compañeros,
Llevo mucho tiempo trabajando con pic,s en PICBASIC, y nunca me había pasado esto.
Intento conectar 5 salidas, y tanto el circuito que tengo montado, como el PIC SIMULATOR, lo que hacen es encenderlas y apagarlas secuencialmente.
Yo las quiero dejar fijas, ¿Donde me estoy equivocando?
Esta es la rutina
@ DEVICE pic16F876a, hs_osc
@ DEVICE pic16f876a, WDT_OFF ' Watchdog Timer desconectado
@ DEVICE pic16f876a, PWRT_OFF ' Power-On Timer conectado
@ DEVICE pic16f876a, BOD_OFF ' Brown-Out Detect conectado
@ DEVICE pic16f876a, LVP_OFF ' Low-Voltage Programming desconectado
@ DEVICE pic16f876a, CPD_OFF ' Data Memory Code Protect desconectado
@ DEVICE pic16f876a, PROTECT_OFF ' Program Code Protection conectado
'** FIN DE FUSIBLES
define osc 8
CMCON=7'comparador analogico, todas las salidas digitales
OPTION_REG=72'pullups, reloj y prescaler
TRISA = %00000000
TRISB = %11111111
TRISC = %10110101
sal1 var porta.0
sal2 var porta.1
sal3 var porta.2
sal4 var porta.3
sal5 var porta.5
ciclo:
sal1=1
sal2=1
sal3=1
sal4=1
sal5=1
GOTO ciclo
END
Muchas gracias
-
Pues si teienes un error mu obvio, cuando tu ejecutas esta secuencia, prendes secuencialmente pero no los apaga s de esta forma es decir, cuando tu prendes la segunda salida no apagas la primera y asi sucesivamente por lo que siempre quedan encendidos, ahora si tu corrigieras esto siguieras teniendo todas las salidas en cero, ya que el tiempo de encendido seria de no mas de 10us muy poco tiempo apra poder verlas y creo que esa no seria tu intencion por lo que es recomendable poner un retardo entre cada paso, me he tomado la libertad de modificarlo, espero que te sirva
patolinec , tomate un tiempito para entender el post, el no quiere hacer un secuenciado de luces, quiere que se queden prendidas, no se poruqe no se te da eso anpepla1, asi como esta el codigo deberian encenderse todos.
-
Hola:
juzgue muy rapido el codigo, ahora veo que solo apagas los comparadores, para digitalizar el puerto agrega esta linea a la cabecera del programa ADCON1=7, con eso si te fincionara. :mrgreen: