Está en la página 1de 4

16.

0 MODULO TIMER4/6/8 generar una interrupción de TMRx, forzando el bit


bandera TMRxIF. La Tabla 16-1 muestra el bit de
Los módulos de temporizador Timer 4/6/8 tienen las bandera de cada módulo.
siguientes características:
• Registro de temporizador de ocho bits (TMRx) TABLE 16-1: TIMER4/6/8 FLAG BITS
• Registro de período de ocho bits (PRx) Timer Module Flag Bit
• Leer y Escribir todos los registros.
4 PIR3<3>
• Predivisor programable por software (1: 1, 1: 4, 1:16)
6 PIR5<3>
• Posdivisor programable por software (1: 1 a 1:16)
8 PIR5<4>
• Interrumpir cuando TMRx es igual a PRx
La interrupción se puede habilitar o deshabilitar
Nota: A lo largo de esta sección, se utilizan configurando o borrando el bit de habilitación de
referencias genéricas para nombres de interrupción Timerx (TMRxIE), que se muestra en la
registro y bits que son iguales, excepto para Tabla 16-2.
una variable "x" que indica la asociación del TABLE 16-2: TIMER4/6/8 INTERRUPT
elemento con el módulo Timer4, Timer6 o
ENABLE BITS
Timer8. Por ejemplo, el registro de control se
llama TxCON y se refiere a T4CON, T6CON y Timer Module Flag Bit
T8CON.
4 PIE3<3>
Los módulos Timer4 / 6/8 tienen un registro de control
que se muestra en el Registro 16-1. El temporizador 6 PIE5<3>
4/6/8 se puede apagar borrando el bit de control,
8 PIE5<4>
TMRxON (TxCON <2>), para minimizar el consumo de
energía. La selección de predivisor y posdivisor de
Timer 4/6/8 también está controlada por este registro. Los contadores de predivisor y posdivisor se borran
La Figura 16-1 es un diagrama de bloques simplificado cuando ocurre cualquiera de los siguientes:
de los módulos Timer4 / 6/8.
• Una escritura en el registro TMRx
16.1 Operación Timer 4/6/8 • Una escritura en el registro de TxCON
• Reset del microcontrolador (reinicio de
Timer 4/6/8 se puede utilizar como la base de tiempo
encendido (POR), MCLR Reset, Watchdog Timer
PWM para el modo PWM de los módulos ECCP. Los
registros TMRx se pueden leer y escribir, y se borran en Reset (WDTR) o Restablecimiento de Brown-out
cualquier reinicio del dispositivo. El reloj de entrada (BOR))
(FOSC / 4) tiene una opción de preescala de 1: 1, 1: 4 o El registro TMRx no se borra cuando se escribe un
1:16, seleccionada por bits de control, TxCKPS <1: 0> TxCON.
(TxCON <1: 0>). La salida de coincidencia de TMRx
pasa por un escalador posterior de cuatro bits (que Nota: Los módulos CCP y ECCP utilizan los
proporciona una escala inclusiva de 1: 1 a 1:16) para temporizadores 1 a 8 para algunos
modos. La asignación de un temporizador
particular a un módulo CCP / ECCP está
determinada por los bits de activación del
temporizador a CCP en los registros
CCPTMRSx. Para más detalles, ver
Registro 19-2, Registro 18-2 y Registro
18-3.
REGISTER 16-1: TxCON: TIMER4/6/8 CONTROL REGISTER (ACCESS F76h, BANKED F1Eh,
BANKED F1Bh)
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
— TxOUTPS3 TxOUTPS2 TxOUTPS1 TxOUTPS0 TMRxON TxCKPS1 TxCKPS0
bit 7 bit 0
Legend:
R = Readable bit
W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7 Unimplemented: Read as ‘0’
bit 6-3 TxOUTPS<3:0>: Timerx Output Postscale Select bits
0000 = 1:1 Postscale
0001 = 1:2 Postscale
••

1111 = 1:16 Postscale bit
2 TMRxON: Timerx On bit
1 = Timerx is on
0 = Timerx is off
bit 1-0 TxCKPS<1:0>: Timerx Clock Prescale Select bits

00 = Prescaler is 1
01 = Prescaler is 4
1x = Prescaler is 16
16.2 Interrupción Timer4/6/8
Los módulos Timer 4/6/8 tienen registros de período de
8 bits, PRx, que pueden leerse y escribirse. Timer 4/6/8
incremente desde 00h hasta que coincidan con PR 4/
6/8 y luego restablezca a 00h en el siguiente ciclo de
incremento. Los registros PRx se inicializan a FFh al
reiniciar.

16.3 Salida de TMRx


Las salidas de TMRx (antes del posdivisor) se usan solo
como una base de tiempo PWM para los módulos ECCP.
No se utilizan como relojes de velocidad en baudios para
los módulos MSSP, como lo es la salida Timer2.
TABLE 16-3: REGISTERS ASSOCIATED WITH TIMER4/6/8 AS A TIMER/COUNTER
Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

INTCON GIE/GIEH PEIE/GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF

IPR5 TMR7GIP TMR12IP TMR10IP TMR8IP TMR7IP TMR6IP TMR5IP TMR4IP


PIR5 — — CM3IF TMR8IF TMR6IF TMR5IF TMR5GIF TMR1GIF
PIE5 — — CM3IE TMR8IE TMR6IE TMR5IE TMR5GIE TMR1GIE
TMR4 Timer4 Register
T4CON — T4OUTPS3 T4OUTPS2 T4OUTPS1 T4OUTPS0 TMR4ON T4CKPS1 T4CKPS0
PR4 Timer4 Period Register
TMR6 Timer6 Register
T6CON — T6OUTPS3 T6OUTPS2 T6OUTPS1 T6OUTPS0 TMR6ON T6CKPS1 T6CKPS0
PR6 Timer6 Period Register
TMR8 Timer8 Register
T8CON — T8OUTPS3 T8OUTPS2 T8OUTPS1 T8OUTPS0 TMR8ON T8CKPS1 T8CKPS0
PR8 Timer8 Period Register
CCPTMRS0 C3TSEL1 C3TSEL0 C2TSEL2 C2TSEL1 C2TSEL0 C1TSEL2 C1TSEL1 C1TSEL0
CCPTMRS1 C7TSEL1 C7TSEL0 — C6TSEL0 — C5TSEL0 C4TSEL1 C4TSEL0
CCPTMRS2 — — — C10TSEL0 — C9TSEL0 C8TSEL1 C8TSEL0
Legend: — = unimplemented, read as ‘0’. Shaded cells are not used by the Timer4 module.

También podría gustarte