Autor Tema: [ayuda] Contador de 0 a 60 con timer1 y timer2  (Leído 4117 veces)

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

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
[ayuda] Contador de 0 a 60 con timer1 y timer2
« en: 12 de Mayo de 2009, 21:39:18 »
Disculpen podrian ayudarme, lo que pasa es que necesito hacer un contador de 0 a 60 con el timer1 y timer2 mas que la verdad no comprendo como funcionan y no se para que sirvan, tengo que generarlo con CCS y usando ya sea un pic 16f88 o 18f2550.

Espero alguien pueda ayudarme a solucionar esta duda, De Antemano Gracias por su Atencion

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: [ayuda] Contador de 0 a 60 con timer1 y timer2
« Respuesta #1 en: 12 de Mayo de 2009, 22:59:42 »
0 a 60 milisegundos? segundos? horas? ticks del reloj?
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: [ayuda] Contador de 0 a 60 con timer1 y timer2
« Respuesta #2 en: 13 de Mayo de 2009, 00:23:34 »
Fíjate aquí para que veas de que se tratan los timers, es teoría para otros micros pero la base es la misma. Y después cuando aclares que 60 necesitas avanzamos. :wink:
No contesto mensajes privados, las consultas en el foro

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: [ayuda] Contador de 0 a 60 con timer1 y timer2
« Respuesta #3 en: 13 de Mayo de 2009, 12:19:33 »
0 a 60 milisegundos? segundos? horas? ticks del reloj?

60 segundos, necesito que estos sean visualizados en un Display o un lcd

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: [ayuda] Contador de 0 a 60 con timer1 y timer2
« Respuesta #4 en: 13 de Mayo de 2009, 15:56:02 »
Hola.

Los timer sirven para contar tiempos, pero la fuente del tiempo de conteo puede variar, puede ser interna o externa. Si es interna se usa el oscilador interno del microcontrolador para generar el conteo, si es externa, se usa un cristal para asignar la fuente de frecuencia.

Los timers pueden ser de 8 o de 16 bits y cada que terminan de contar ( si es de 8 bits contara hasta 255 y si es de 16 contara hasta 65535) hay un desborde y se genera una interrupcion la cual se puede aprovechar para generar las bases de tiempos.

En el datasheet de los micros que tu mencionas estan las especificaciones de cada uno de los timers -y de todos los modulos del PIC-.

Teoricamente, se calcula en funcion de la frecuencia del cristal -ya sea interno o externo- y de la longitud de conteo -8 o 16 bits-

T_{desborde} = 2^{n} \times \frac{4}{frec_{cristal}}

Saludos
El papel lo aguanta todo

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: [ayuda] Contador de 0 a 60 con timer1 y timer2
« Respuesta #5 en: 14 de Mayo de 2009, 01:04:03 »
ya Avance un poco aqui dejo el codigo del contador que estoy haciendo

Código: [Seleccionar]

#include <16F88.h>
#USE DELAY( CLOCK=4000000)
#FUSES nowdt,noput,nobrownout,nolvp,noprotect,NOMCLR,INTRC_IO
byte CONST DISPLAY[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void main(){
byte ud=0,dec=0;
SET_TRIS_B(0x00);
SET_TRIS_A(0x00);
OUTPUT_B(0);
 for( ;; ){
   for (dec=0;dec<10;dec++){       //Cuenta digito decenas
      for (ud=0;ud<10;ud++){
         OUTPUT_A(0x02);           //cat_D=apagado,cat_U=encendido
         OUTPUT_B(DISPLAY[ud]);   //Digito unidades
         delay_ms(10);            //Para evitar parpadeos
         
         if (dec==0) output_a(0x03);     //Si decenas=0, cat_D=apagado
         else output_a(0x01);           //Si decenas>0, cat_D=encendido
                 
         OUTPUT_B(DISPLAY[dec]);      //Digito decenas
         delay_ms(10);               //Para evitar parpadeos
     }
   }
 }
}


en este caso lo que realice es un contador con de 0 a 99 usando displays de catodo Comun ya solo me falta poner el Timer1 o el timer2 para que asi se realice un reset no se si alguien me pueda decir donde puedo introducir ese pequeño detalle