TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: francpa en 02 de Mayo de 2013, 15:54:58

Título: contar 1 hora con timer 1
Publicado por: francpa en 02 de Mayo de 2013, 15:54:58
saludos para todos

tengo un problema ojala me puedan ayudar

necesito contar una hora, lo hago con el timer 1 del micro, el pic es un 16lf1828, mediante el código siguiente puedo contar hasta 30 seg, no se como hacer para que cuente hasta 1 hora, seria repetir mediante una cuenta los 30 segundos hasta llegar a una hora pero no me sale
les agredeceria mucho su ayuda
gracias de ante mano

Código: [Seleccionar]
#include <16LF1828.h>
#device adc=16
 
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES WDT_SW                   //No Watch Dog Timer, enabled in Software
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOBROWNOUT               //No brownout reset
#FUSES PLL_SW                   //4X HW PLL disabled, 4X PLL enabled/disabled in software
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
 
#use delay(int=16000000)
 
#define LED_1 pin_A1
#define LED_2 pin_A2

 int  cont1=0;
 
 temp1s()
{
   int  cont=0;
   output_toggle(LED_1);
   while(cont<240)
   {
   set_timer1(0XBDB);
   while (get_timer1()>=0XBDB);  
   cont++;
   }  
}

void main()
{
   set_timer1(0xBDB);  
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);  
 
   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);

   output_high(LED_1);        

 
  while(true){
  temp1s();
}
}

ese es el código al variar el contador me permite manipular la cantidad de segundos solo me sirve hasta 30 segundos.
Título: Re: contar 1 hora con timer 1
Publicado por: PalitroqueZ en 02 de Mayo de 2013, 16:55:38
1 hora son 120 veces 30 segundos,
bastaría repetir la rutina 120 veces y ya tienes la hora  :mrgreen:
Título: Re: contar 1 hora con timer 1
Publicado por: rivale en 02 de Mayo de 2013, 16:59:15
porque no usas la interrupción
Título: Re: contar 1 hora con timer 1
Publicado por: francpa en 02 de Mayo de 2013, 17:33:59
1 hora son 120 veces 30 segundos,
bastaría repetir la rutina 120 veces y ya tienes la hora  :mrgreen:

claro que si, pero no he podido hacer la repetición de la rutina, no me resulta