TIMER2

Deseamos crear una base de tiempo de 1ms y para ello utilizaremos un el TIMER2 de PIC18F. (Ver diagrama de bloques en la figura 14-1)



Tenemos una Fosc de 16MHz por lo que Fosc/4 será 4MHz y tiempo de ciclo de 0.25us. Se seleccionará un Prescaler de 1:4 por lo que el tiempo de ciclo será de 1us. 



Se cargara PR2 con un valor de 249 para que el Tiempo de ciclo sea 250us. 




Finalmente se seleccionará un Postscaler de 1:4 para que finalmente la interrupción TMR2IF se produzca cada 1ms.


Fórmula para el cálculo del Tiempo de Interrupción TMR2IF:


Código C utilizado:
/*
    TMR2IE = 1;
    T2CON = 0;
    TMR2IF = 0;
    T2CONbits.T2OUTPS = 0b0011;
    T2CONbits.T2CKPS = 0b01;
    TMR2 = 0;
    PR2 = 249; ////interrup every 1ms
    TMR2ON = 1;       */








Comments