Autor Tema: Timer en PIC24  (Leído 1938 veces)

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

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Timer en PIC24
« en: 12 de Marzo de 2012, 13:22:22 »
Hola amigos del foro, es que estoy haciendo una temporizacion con el Timer 2 del PIC 24FJ128GA010, pero no se muy bien como saber cuanto tiempo es teóricamente si utilizo el timer, es que la verdad poco he utilizado el timer pero esta vez me toco así :(. el Preescaler esta configurado así Fosc/2, prescaled 1:256, ojala me puedan ayudar.

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Timer en PIC24
« Respuesta #1 en: 12 de Marzo de 2012, 13:33:04 »
Preba este enlace en la web de Redpic http://picmania.garcia-cuervo.net/recursos.php
tiene una magnifica calculadora para los timers de 8 y 16 bit.
Espero te sirva como a mi que doy las gracias a Redpic por ella.

Saludos

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Timer en PIC24
« Respuesta #2 en: 12 de Marzo de 2012, 13:57:02 »
Exactamente como lo configuraste? Y en base a eso, viendo el datasheet (o manual de referencia), que temporización calculaste?
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Timer en PIC24
« Respuesta #3 en: 12 de Marzo de 2012, 14:01:00 »
es que en realidad eso me lo pasaron y quiero saber como se calcula, mira,

T2CON = 0x8030;

allí esta una imagen para q veas el datasheet.

 :?

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Timer en PIC24
« Respuesta #4 en: 12 de Marzo de 2012, 14:48:15 »
Hola Ing Randall, te muestro como lo hago:

Timer1 prescaler a 256

#define MIPS  40.0

PR1 = MIPS/256*10000;         ////10 ms de tiempo del timer1

saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Timer en PIC24
« Respuesta #5 en: 12 de Marzo de 2012, 16:13:57 »
Bueno, muy complicado no es.

El timer cuenta 1 cada (1/(Fosc/2))x256. Y se resetea al llegar a PR2=?..  :tongue:

Busca por la red teoría sobre los timer, hay muuucho!  ;-)
No contesto mensajes privados, las consultas en el foro

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Timer en PIC24
« Respuesta #6 en: 12 de Marzo de 2012, 17:02:05 »
aaaaaaaaaaaaaaa yaaaaaaaaaaaaaaaaaaaa... jajajajaja al parecer e faltaba el PR2, hice una pequeña prueba y funciono perfecto, vamos a ver como me va y les comento, gracias.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Timer en PIC24
« Respuesta #7 en: 12 de Marzo de 2012, 18:03:05 »
El señor AngelGris puso lo siguiente:

Citar
A ver si puedo tratar de explicar el asunto...

FCY = 40Mips -> 40MHz -> que cada ciclo de instrucción dura 1/40M -> 25nS

El timer queda contando dichos pulsos pero con un divisor (prescaler) de 256, por lo tanto cada 256 pulsos sólo se incrementará en 1. Si ahora multiplicamos por el período que vos pusiste nos da 25nS * 256 * 65535 = 419.424ms

La idea es, duración el pulso * prescaler * periodo = tiempo total de la cuenta

osea que si eso es valido y transportamos eso a mi ejemplo, tendríamos que:

Mi oscilador es de 8MHz.

FCY = 8Mips -> 8MHz -> que cada ciclo de instrucción dura 1/8M -> 1.25uS

1.25uS * 256 * 65535 = 20.9712s

Esto es cierto???

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Timer en PIC24
« Respuesta #8 en: 12 de Marzo de 2012, 21:51:52 »
Según mis calculos:

MIPS = 8.0
PRESCALER = 256
TIEMPO en us = 65535

PR2 = MIPS/PRESCALER * TIEMPO;
PR2 salio 2047

Simulando, el tiempo resulto 65.535875 ms, probado en MPLAB.
No encuentro el apunte de como llegué a esa formula, pero siempre me ha funcionado.

saludos
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado IngRandall

  • PIC18
  • ****
  • Mensajes: 383
Re: Timer en PIC24
« Respuesta #9 en: 13 de Marzo de 2012, 10:16:55 »
Hola KALLITOS, utilice la formula que me pasaste y me funciono muy bien, ya probé con un timer de 1 seg y funciono, muchas gracias.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Timer en PIC24
« Respuesta #10 en: 13 de Marzo de 2012, 11:36:38 »
Que bueno.

saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.