Hola a todos, soy nuevo en este foro. Y novato en la electronica.
Estoy tratando de prender una lampara durante un segundo y apagarla otro segundo. Pero queda prendida durante unos seis segundos.
Supongo que se trata de alguna configuración de el timer.
Estoy usando un PIC16f84A un un cristal de 4MHz
les paso en codigo para ver si detectan en que fallo.
El codigo lo saque de una ayuda y lo adapte a mi necesidad.
No tengo la mas minima idea de que es RTCC y sus configuraciones.
Espero no molestar mucho y poder aprender de Uds.
#fuses XT,NOWDT
#use delay (clock=20000000)
#define INTS_PER_SECOND 76 // (20000000/(4*256*256))
byte seconds; // A running seconds counter
byte int_count; // Number of interrupts left before a second has elapsed
int numero;
#int_rtcc // This function is called every time
clock_isr() { // the RTCC (timer0) overflows (255->0).
if(--int_count==0) { // per second.
++seconds;
if (numero == 0) {
numero = 1;
} else {
numero = 0;
}
int_count=INTS_PER_SECOND;
}
}
void main(void) {
int_count=INTS_PER_SECOND;
set_timer0(0);
setup_counters( RTCC_INTERNAL, RTCC_DIV_256);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
set_tris_a(0x0);
numero = 0;
for(;

{
if(numero==0) {
output_bit(PIN_A0,1);
} else {
output_bit(PIN_A0,0);
}
}
}
Saludos a todos. Gracias.
Pablo