www.ingenieropic.wordpress.com Parte 8 El mdulo Timer 2. El mdulo Timer 2 Temporizador El Timer 2 es un temporizador de 8 bits que a diferencia de los Timer 0 y 1, este no puede configurarse como contador, y tiene la particularidad de que posee un preescaler y un post-escaler. Como vimos anteriormente, el Timer 0 cuenta hasta 255 y el Timer 1 cuenta hasta 65535. Sin embargo, el Timer 2 no tiene un lmite de cuenta determinado, si no que el usuario determina el lmite de la cuenta mediante el registro PR2. En otras palabras, el Timer 2 no incrementa su cuenta hasta un cierto lmite y luego se desborda, si no que parte contando desde cero e incrementa su cuenta con cada ciclo de instruccin hasta que su valor coincide con el valor almacenado en PR2, y luego, en el siguiente ciclo, se desborda. El preescaler del Timer 2 cumple la misma funcin que en los otros dos temporizadores, o sea que divide la frecuencia antes de cada incremento. Sin embargo, el post-escaler funciona como un divisor de frecuencia despus de cada coincidencia. Por ejemplo, si el post-escaler est en 1:1 la interrupcin por desborde se generar en cada coincidencia entre la cuenta y el valor del PR2, y si el post-escaler est puesto en 1:16 la interrupcin se generar luego de 16 coincidencias. Este temporizador, al igual que el Timer 1, puede habilitarse o detenerse. Esto se hace mediante el bit TMR2ON. El preescaler se selecciona mediante los bits T2CKPS1 y T2CKPS0 y el post- escaler se selecciona mediante los bits T0UTPS3 y T0UTPS0. Formula para determinar la temporizacin TMR2=( Preescaler x (PR2 +1) x Post-escaler ) x Tinstr TMR2=Tiempo deseado (en segundos). Preescaler=Valor del preescaler. PR2=Valor cargado al PR2 para definir valor mximo de la cuenta. Pos-escaler=Valor del post-escaler. Tinstr=Ciclos por microsegundo (Fosc / 4). Despejando la frmula anterior podemos determinar la frmula para obtener al valor de RP2 para el tiempo que deseamos: PR2=( TMR2 / Tinstr ) / (Preescaler x Post-escaler) 1 El registro T2CON Este registro est ubicado en el banco 0 y permite la configuracin del Timer 2. El bit 7 no se utiliza, por lo tanto se coloca siempre en 0. Veamos lo que sucede al colocar cada bit en 1 o en 0. TOUTPS3 a TOUTPS0: Timer 2 Output Postscale Select bits. Con estos cuatro bits se selecciona el Post-escaler: 0000: Post-escaler 1:1 0001: Post-escaler 1:2 . . . 1111: Post-escaler 1:16 TMR2ON: Timer 2 On bit. Con este bit se habilita o se detiene el Timer 2. 1=Timer 2 habilitado. 0=Timer 2 deshabilitado. T2CKPS1 y T2CKPS0: Timer 2 Clock Preescaler Select bits. Con estos bits se selecciona el preescaler: 00=Preescaler 1:1 01=Preescaler 1:4 11=Preescaler 1:16 Interrupcin por desborde del TMR2 Tambin es posible generar una interrupcin por desborde el Timer 2. Para ellos debemos configurar los siguientes bits: GIE y PEIE: Los mismos de siempre. Bits 7 y 6 del registro INTCON (banco 0). TMR2IF: Bandera de la interrupcin. Bit 1 del registro PIR1 en el banco 0. TMRIE: Bit de habilitacin de la interrupcin. Bit 1 del registro PIE1 en banco 1. Gracias por descargar este curso Csar Saldas.