void Timer1Init (void)
_T1IP = 4; // this is the default value anyway
TMR1 = 0; // clear the timer
PR1 =0x0139 ;
T1CON = 0x8030;
_T1IF = 0;
_T1IE = 1;
void atributo ((interrupt, no_auto_psv)) _T1Interrupt (void)
LATAbits.LATA0 = ~LATAbits.LATA0; //Toggle output to LED
_T1IF = 0;
void Timer2Init (void)
_T2IP = 4; // this is the default value anyway
TMR2 = 0; // clear the timer
PR2 = 0x1E85;
T2CON = 0x8030;
_T2IF = 0;
void atributo ((interrupt, no_auto_psv)) _T2Interrupt (void)
LATAbits.LATA1 = ~LATAbits.LATA1 ;
DELAY_MS (6000);
_T2IF = 0;
int main (void)
TRISAbits.TRISA0 = 0;
TRISAbits.TRISA1 = 0;
ANSELA = 0x0000;
_RCDIV=0;
Timer1Init();
Timer2Init();
while (1) {}
el programa escrito anterior no funciona correctamente. He dado un retraso en la rutina de interrupción del temporizador 2, lo que significa que debería haber un retraso de 6 s para que el parpadeo se conecte al pin A1 y su funcionamiento, pero el problema es que también ocurre un retraso mientras parpadea el led conectado al pin A0, ¿alguien puede ayudarme a decir qué está mal aquí?