Autor Tema: Medir duracion de un pulso  (Leído 3673 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado nanosegundo

  • PIC10
  • *
  • Mensajes: 30
Medir duracion de un pulso
« en: 15 de Noviembre de 2005, 10:18:00 »
   Hola, toy programando con niple y hay una cosa que no se me ocurre como hacer:
 Por uno de los pines del pic ( de el puerto que sea) me entra un pulso de duración variable y quisiera saber como puedo medir la duración de ese pulso; no uso el módulo ccp porque lo necesito para cuatro pines distintos. ¿Alguien me puede dar una pista?

  Munchisimas gracias

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Medir duracion de un pulso
« Respuesta #1 en: 15 de Noviembre de 2005, 10:22:00 »
Se me ocurre que lo más corriente para estos casos es meter el pulso por una patilla con interrupción, cuando esta salte pones el timer a contar, cuando baje, volverá a saltar y tendrás el tiempo en el timer. Según la duración de este pulso, tendrás que configurar el timer y/o ver cuantas veces desbordo ...
Si juegas contra el mejor, pierdes como los demás.

Desconectado nanosegundo

  • PIC10
  • *
  • Mensajes: 30
RE: Medir duracion de un pulso
« Respuesta #2 en: 15 de Noviembre de 2005, 10:30:00 »
  El problema es que lo necesito para cuatro entradas y solo tengo una entrada de interrupción (16f877).
  Gracias de todos modos

Desconectado nanosegundo

  • PIC10
  • *
  • Mensajes: 30
RE: Medir duracion de un pulso
« Respuesta #3 en: 15 de Noviembre de 2005, 10:42:00 »
 Se me ocurre una pequeña modificación de lo que me ha dicho radon. Es estar leyendo constantemente el puerto, cuando detecte un 1 en el pin deseado activo el temporizador y este lo detengo cuando haga una lectura de 0, lo podria hacer en paralelo para un total de tres pines (ya que tengo 3 temporizadores) y cuando pase ese pin a 0 finalizar el programa.
  ¿Es buena idea o tiene algún problema este metodo?

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: Medir duracion de un pulso
« Respuesta #4 en: 15 de Noviembre de 2005, 15:26:00 »
No se... pero de esta forma al estar chequeando el puerto, no tiene mucha precisión, porque si el bucle de chearlo son 2 o 3 instrucciones, poniendo por ejemplo un cristal de 20Mhz, 200nS *3 ... hasta 600nS o más puede diferir de la realidad, y esto suponiendo estar chequeando uno solo, cuando sean más pues imaginate...
Si juegas contra el mejor, pierdes como los demás.


 

anything