Autor Tema: Timer0  (Leído 2554 veces)

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

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Timer0
« en: 30 de Marzo de 2008, 01:39:31 »
Mi pregunta es si alguien sabe como utilizar el timer0 para contar si un pulso es mas grande que otro,les agradeceria algun ejemplo. gracias por sus respuestas 8)

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Timer0
« Respuesta #1 en: 30 de Marzo de 2008, 02:16:50 »
¿Con qué micro?

Desconectado manuelroin24

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 665
Re: Timer0
« Respuesta #2 en: 30 de Marzo de 2008, 02:36:15 »
Bueno dependiendo de la frecuencia del pulso lo q yo hacia era medir mediante un bucle por cualquier pin de entrada hasta q tenga un cambio de flanco ( 1 a 0 ) almacenando un incremento de una variables y luego las comparaba. Pero esto era solo para saber cual era mayor no determinas la frecuencia.
El conocimiento se consigue a base de esfuerzo...

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: Timer0
« Respuesta #3 en: 30 de Marzo de 2008, 03:28:18 »
podria ser con 16f877 ,lo que quiero es entender como puedo por ejemplo determinar el ancho de un pulso .

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Timer0
« Respuesta #4 en: 30 de Marzo de 2008, 03:49:55 »
Básicamente yo lo haría con dos interrupciones: la EXTERNA y la del TIMER0.

Y procedería así:
- en la interrupción externa compruebo si el pulso sube o baja.
         Si sube pongo el contador a 0 y activo la interrupción del timer
         Si baja paro la interrupción del timer y habré capturado el ancho del pulso en el contador

- en la interrupción del timer lo único que hago es incrementar en una unidad el contador

Desconectado hernanleocb

  • PIC10
  • *
  • Mensajes: 2
Re: Timer0
« Respuesta #5 en: 09 de Septiembre de 2008, 14:02:24 »
hola gente estoy tratando de aprender algo de contadores, mi idea es emplearlo para un contaror de rpm de aproximadamente 25000, y estoy utilizando un pic 16f876a, la parte de contador de rpm es solo una parte del programa total del pic, lo demas ya lo tendria mas o menos listo, si me pudiesen ayudar estaria muy agradecido muchachos... a otra cosa, estoy usando muestreo con display de 16 x 2...

desde ya muy agradecido

saludos... :mrgreen:

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Timer0
« Respuesta #6 en: 09 de Septiembre de 2008, 21:49:23 »
hernan, bienvenido al foro!
 
Pero creo que debes leer las reglas. No repitas el mismo mensaje en diferentes hilos, con eso no lograrás que más gente te ayude, sino todo lo contrario. Coloca tu duda y sé paciente. Y por favor, usa el buscador. Hay muchos hilos por allí donde se explica cómo usar el timer. No es nada del otro mundo.
Y si usando el buscador aún sigues con la duda, tal vez sería mejor que abrieras un hilo nuevo con tu problema.

Para no dejarte con las manos vacías, por allí hay un código para medir rpm de un vehículo... sólo que usa basic... pero lo que recuerdo es que, debido a que un minuto es un tiempo digamos algo largo para un micro, él contaba la cantidad de pulsos en un segundo, y luego pues lo multiplicaba por 60.

Sigue buscando y seguro encontrarás lo que necesitas. Si no, pues por aquí estaremos para ayudarte en lo que se pueda.
Te deseo éxito, saludos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Timer0
« Respuesta #7 en: 11 de Septiembre de 2008, 16:53:55 »
Yo me iría por utilizar el TIMER1 y los CCP del PIC16F877 que mencionas, porque la verdad con TIMER0, encuestas o TIMER0+INTEXT no creo que te quede de lujo eso que quieres hacer, si el ancho de pulso que quieres medir fuese más nacho y la presición no fuera importante está bien, pero no creo que para medir 2500rpm en un motor sea buena idea, a no ser que quieras pasarte varios segundos midiendo las rpm, antes de dar un resultado, pero ese casi nunca es el caso.

Saludos
Reinier

PD: El método que te recomiendo está documentado en la página de REDPIC.