Autor Tema: Detectar Frecuencia por Timer0 en un pic12f629  (Leído 3498 veces)

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

Desconectado Axel_18

  • PIC16
  • ***
  • Mensajes: 152
Detectar Frecuencia por Timer0 en un pic12f629
« en: 14 de Abril de 2010, 11:58:31 »
Hola...
Estoy haciendo un programa en ccs para que detecte una frecuencia especifica por un pin. Hasta el momento me funciona con una serie de IF, preguntando si esta en alto, luego un delay de la mita del periodo y luego preguntar si esta en estado bajo. de esta forma obtengo un dato de 4bit para certificar si es el pulso
Código: [Seleccionar]
IF(input(PIN_A0)==1)
{
  detector[0]=1;
}

delay_us(500)

IF(input(PIN_A0)==0)
{
  detector[1]=0;
}

delay_us(500)

IF(input(PIN_A0)==1)
{
     detector[2]=1;
}

delay_us(500)

IF(input(PIN_A0)==0)
{
  detector[3]=1;
}



el ciclo activo del pulso es del 50%

Mi pregunta es como puedo detectar la frecuencia a travez del timer0, que según lo que e leido, es mucho mas preciso, aunque este sistema me funiona
quisiera que me dieran un ayuda con el codigo para poder intentarlo con el timer0 del pic 12f629


saludos!

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Detectar Frecuencia por Timer0 en un pic12f629
« Respuesta #1 en: 14 de Abril de 2010, 12:15:43 »
Yo diría que mejor utilizar el TIMER con uno de los módulos de captura, eso sí que da precisión. No es difícil basta mirar en el datasheet el módulo CCP y ver con qué TIMER trabaja, luego lo de siempre configurar registros, engancharse en la interrupción adecuada y voilá, a medir frecuencias con precisiones de vértigo.

Saludos
Reinier


 

anything