TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Loudness en 25 de Mayo de 2014, 23:09:25
-
Hola.
He estado buscando en este y otros foros sobre la lectura de pulsos con PIC. Pero tengo que admitir que, aunque se manejar algo un serie 16F, no me aclaro mucho sobre el tema de los pulsos. Voy a intentar explicar mi caso:
Tengo un pulso de 0-12V con un periodo de un segundo. A su salida hay un led con el que se puede comprobar mas o menos cuanto tiempo esta en alto y en bajo el pulso durante un segundo.
PROBLEMA 1: Solo con el led, es imposible decir en porcentaje el tiempo que el pulso esta en positivo (a esto se le dice ciclo de trabajo?). Por ello, me gustaria leer el pulso con una entrada del pic y calcular el porcentaje de tiempo que esta en positivo para sacar el resultado por un LCD (Tampoco me hace falta tanta resolucion, con sacar un numero aproximado esta bien). El tema del calculo y del lcd creo que no hay problema, pero lo de leer el pulso....Por lo que he visto alguna gente utiliza una interrupcion con el pin RB1, pero ese pin ya le tengo usado para otra lectura. Es posible arreglar este problema por otra entrada?
PROBLEMA 2: Buscando por la red he encontrado algunas explicaciones y ejemplos, pero casi todos se refieren al lenguaje C y casi nada con ensamblador. Sin embargo, lo poco que conozco de programacion se refiere al ensamblador. El problema que he planteado arriba, es imposible sin no es con C?.
No quiero programas, pero agradeceria cualquier ayuda.
Saludos.
-
Hola, para medir pulsos te conviene los modulos ccp de los pic en modo captura, lo demás son solo cálculos matemáticos. Yo estoy desarrollando algo similar un tacometro para vehículo en donde necesito medir los tiempos alto y bajo. Por suerte CCS traia un ejemplo de como utilizar dicho modulo. Lamentablemente no me manejo en ensamblador pero busca por la red información sobre el modulo cpp para assembler. saludos
-
georgeliners : Gracias por tu respuesta.
Tambien habia leido algo sobre esa opcion y ahora estoy buscando algo mas. Pero por lo que veo, es necesario la llamada a interrupcion.
Dentro de mi programa quiero utilizar interrupciones para otra cosa y no se hasta que punto puedo conseguir que se lleven bien, no tengo tanto nivel :lol:
Habia leido (o eso creo) que, alguien, utilizando una entrada digital y leyendola en polling, calculaba en un determinado tiempo cuantas veces la entrada era alta y cuantas veces baja.
De esa manera podia saber mas o menos en un determinado tiempo el ciclo de trabajo. Al principio esta idea me parecio una burrada (ignorante que soy) pero ahora me parece que no es mala del todo.
Alguien ha visto algo asi?, o lo he sonado? :D.
Agradeceria cualquier opinion.