Autor Tema: No puedo hacer funcionar el timer0, pic16f873A, en CCS  (Leído 1537 veces)

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

Desconectado fmarsilli

  • PIC10
  • *
  • Mensajes: 2
No puedo hacer funcionar el timer0, pic16f873A, en CCS
« en: 27 de Marzo de 2014, 19:57:51 »
Hola a todos, estoy tratando de hacer funcionar el timer0 del pic16f873a, en ccs. Simplemente quiero que me muestre en un display la variación del tiempo, utilizando interrupción del timer0, he leído bastante, pero no logro visualizar los cambios en el display, y creo que es porque nunca entra a la función de interrupción.
Les muestro el codigo


#include <16F873a.h>
#fuses XT, NOWDT, NOPROTECT, NOPUT
#fuses NOLVP
#use delay(clock = 4000000)
#int_RTCC
#include <LCD420.c>
unsigned  int seg=0,mi=0;
void  RTCC_isr(void)
{
//lcd_init();
++seg;
if(seg==60)
{
seg=0;
mi++;
}
if(mi==60)
{mi=0;seg=0;}

lcd_gotoxy(1,4);
printf(lcd_putc, "T=%02u:%02u ", mi, seg);                     
set_timer0(0x83);   //131

}



void main()
{
lcd_init();
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);      //65.5 ms overflow
   enable_interrupts(INT_RTCC);
   enable_interrupts(GLOBAL);
   set_TIMER0(0x83);
   while(true)
   {
   lcd_gotoxy(1,4);
 printf(lcd_putc, "T=%02u:%02u ", mi, seg);
   }


}

Gracias a todos!!!!
Yo.-

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: No puedo hacer funcionar el timer0, pic16f873A, en CCS
« Respuesta #1 en: 27 de Marzo de 2014, 21:06:48 »
  Entre #int_RTCC y la función para dicha interrupción (en este caso RTCC_isr) no puede haber nada escrito tendrías que dejar esa parte así...

Código: C
  1. #int_RTCC
  2. void RTCC_isr(void)
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado fmarsilli

  • PIC10
  • *
  • Mensajes: 2
Re: No puedo hacer funcionar el timer0, pic16f873A, en CCS
« Respuesta #2 en: 31 de Marzo de 2014, 13:23:57 »
Muchas Gracias! Efectivamente ese era el problema.-
 :-/
Yo.-