TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: ercarvo en 27 de Diciembre de 2010, 15:45:42
-
Hola a todos. Recientemente hemos adquirido Niple en su version 5.5. He programado una pequeña rutina con un pic 16f873A, en la cual lee 4 señales analogicas a través de 4 potenciometros. Las lecturas analogicas las guardo en forma de registro y aplico estos valores a 4 temporizadores variables. Estas temporizaciones las veo en pantalla LCD y el programa en cuestion activa los bits RB0, RB1, RB2 y RB3 dependiendo de la regulacion antes mencionada. Pues bien, el programa comienza a ejecutarse:enciende RB0, apaga RB3, enciende RB1, apaga RB0, enciende RB2, apaga RB1, enciende RB3, apaga RB2 y vuelve al principio de la rutina. Cuando le parece, comienza la rutina de la manera indicada pero cuando apaga RB1, salta de nuevo y enciende RB0. Esto puede hacerlo 2 o 3 veces y despues continua correctamente la ejecucion del programa, programa que ejecuta correctamente de nuevo y cuando le parece vuelve a aparecer el problema mencionado. Les agradeceria algun comentario al respecto. El programa no lleva ningun tipo de interrupcion, tan solo los pasos comentados anteriormente. Gracias, un saludo.
-
Puedes adjuntar el pryecto y le echo una miradita a ver si encuentro algo raro ;-)
-
Gracias Fer_TACA por tu pronta respuesta, adjunto archivo con el proyecto. Un saludo.
-
He estado un vistazo al proyecto que has adjuntado y veo unas cositas que no se si las habras ido realizando pruebas o que pero te cuento:
Despues de configurar los puertos y de escribir en el puerto B, no tienes union con el bloque siquiente.
Tienes las rutinas de usuario:interrupcion de RB$ a RB7 sin utilizar, tampoco la de visualizacion de estado. Yo las quitaria si no las utilizo. Como tienes activada la interrupcion por RBA a RB7 te pueden estar pasando cosas raras y reconociendote interrupciones sobre todo si en el hardaware tienes los pines al aire.
Sobre todo cambiara de lugar la activacion del conversor A/D y lo situaria justo antes de la configuacion de los 4 canales de conversion.
Por lo demas no le veo nada raro.
Eso si si con esto no te funciona te aconsejaria que contactaras con Jorge Cano, la version 5.5 a veces no reconocia el PIC al escribir en los puertos.
-
Me he equivocado al enviarte el archivo. Aqui tienes el que he modificado segun tus indicaciones y sigo teniendo el mismo fallo al ejecutar el programa. La version de Niple que tenemos es la 5.5.5. Comentarte tambien que he probado a eliminar las subrutinas de visualizacion LCD y continua con el mismo fallo.
-
Lo estas probando en una tarjeta o en un simulador tipo Proteus?
Si es asi para poder escharle un vistazo completo si adjuntas el fichero del esquema del proteus lo pruebo paso a paso a ver si podemos ver algo ddo que no es logico lo que te está pasando.
F.
-
Lo estoy probando directamente en una tarjeta con los potenciometros, la pantalla LCD y las salidas conectadas. De todas formas voy a repasarlo todo concienzudamente no vaya a ser que haya cometido algun error en alguna conexion.
-
Bueno esperemos, ya te digo que aparentemente la rutina no es dificil de segir y no tiene nada raro.
-
Pues...todo apunta a que va a ser el dichoso PIC, ya te lo confirmo Fer_TACA.
-
Esperemos que el proximo año nos traigan menos dolores de cabeza y que solucionemos pronto todas nuestras dudas.
Estaremos al tanto de los avances. ;-) :mrgreen:
-
Confirmado!!, ha sido problema del PIC. Gracias Fermin, saludos.
-
Mer alegro que se haya soluccionado.
:) :) :-/ :-/