Tengo este pequeño proyecto que requiere un reloj exacto, así que estoy usando cuarzo a 32768 Hz en RB6 & RB7 en mi PIC16F628 . Ambas clavijas están conectadas a tierra usando capacitores de 33 pF.
Mi código que configura el timer1 es el siguiente (compilador HI-TECH C):
TRISA = 0b11100011; //x3F; // bit=0 - output; bit=1 - input
TRISB = 0b11110000; //x3F; // bit=0 - output; bit=1 - input
nRBPU = 1; //affects inputs only
TMR1ON = 0; // Disable Timer 1
T1CKPS1 = T1CKPS0 = 0; // 1:1 Prescale value
T1OSCEN = 1; //start tmr1 oscillator
TMR1CS = 1; //0: internal clock; 1: wait external clock
nT1SYNC = 0; //sync by external clock
TMR1 = 0x8000;
PEIE = 1;
TMR1IE = 1;
ei(); //sets GIE
//T1CON = 0b00001111;
TMR1ON = 1; // Enable Timer 1
Los bits de configuración:
__CONFIG(WDTE_OFF & MCLRE_ON & PWRTE_ON & BOREN_OFF & LVP_ON & FOSC_INTOSCIO & CP_OFF & CPD_OFF);
El problema - nunca se ejecuta. Tengo un LED en el ISR que debería estar encendido. También utilicé un osciloscopio para investigar. Cambió los condensadores. Probé otro cristal. Probé todos los enfoques posibles. Nada ayudó.