C8051F340/1/2/3/4/5/6/7/8/9/A/B/C/D
244
Rev. 1.3
21.2.2. 8-bit Timers with Auto-Reload
When T2SPLIT = ‘1’ and T2CE = ‘0’, Timer 2 operates as two 8-bit timers (TMR2H and TMR2L). Both 8-bit
timers operate in auto-reload mode as shown in Figure 21.5. TMR2RLL holds the reload value for TMR2L;
TMR2RLH holds the reload value for TMR2H. The TR2 bit in TMR2CN handles the run control for TMR2H.
TMR2L is always running when configured for 8-bit Mode.
Each 8-bit timer may be configured to use SYSCLK, SYSCLK divided by 12, or the external oscillator clock
source divided by 8. The Timer 2 Clock Select bits (T2MH and T2ML in CKCON) select either SYSCLK or
the clock defined by the Timer 2 External Clock Select bit (T2XCLK in TMR2CN), as follows:
The TF2H bit is set when TMR2H overflows from 0xFF to 0x00; the TF2L bit is set when TMR2L overflows
from 0xFF to 0x00. When Timer 2 interrupts are enabled, an interrupt is generated each time TMR2H over-
flows. If Timer 2 interrupts are enabled and TF2LEN (TMR2CN.5) is set, an interrupt is generated each
time either TMR2L or TMR2H overflows. When TF2LEN is enabled, software must check the TF2H and
TF2L flags to determine the source of the Timer 2 interrupt. The TF2H and TF2L interrupt flags are not
cleared by hardware and must be manually cleared by software.
Figure 21.5. Timer 2 8-Bit Mode Block Diagram
T2MH
T2XCLK
TMR2H Clock Source
T2ML
T2XCLK
TMR2L Clock Source
0
0
SYSCLK / 12
0
0
SYSCLK / 12
0
1
External Clock / 8
0
1
External Clock / 8
1
X
SYSCLK
1
X
SYSCLK
SYSCLK
TCLK
0
1
TR2
External Clock / 8
SYSCLK / 12
0
1
T2XCLK
1
0
TMR2H
TMR2RLH
Reload
Reload
TCLK
TMR2L
TMR2RLL
Interrupt
TMR2
CN
T2SPLIT
T2CSS
T2CE
TF2LEN
TF2L
TF2H
T2XCLK
TR2
To ADC,
SMBus
To SMBus
CKCON
T
3
M
H
T
3
M
L
S
C
A
0
S
C
A
1
T
0
M
T
2
M
H
T
2
M
L
T
1
M