Datasheet
2013-2015 Microchip Technology Inc. DS40001723D-page 155
PIC12(L)F1571/2
18.0 TIMER0 MODULE
The Timer0 module is an 8-bit timer/counter with the
following features:
• 8-Bit Timer/Counter register (TMR0)
• 3-bit prescaler (independent of Watchdog Timer)
• Programmable internal or external clock source
• Programmable external clock edge selection
• Interrupt on overflow
• TMR0 can be used to gate Timer1
Figure 18-1 is a block diagram of the Timer0 module.
18.1 Timer0 Operation
The Timer0 module can be used as either an 8-bit timer
or an 8-bit counter.
18.1.1 8-BIT TIMER MODE
The Timer0 module will increment every instruction
cycle if used without a prescaler. The 8-Bit Timer mode
is selected by clearing the TMR0CS bit of the
OPTION_REG register.
When TMR0 is written, the increment is inhibited for
two instruction cycles immediately following the write.
18.1.2 8-BIT COUNTER MODE
In 8-Bit Counter mode, the Timer0 module will increment
on every rising or falling edge of the T0CKI pin.
In 8-Bit Counter mode, the T0CKI pin is selected by
setting the TMR0CS bit in the OPTION_REG register
to ‘1’.
The rising or falling transition of the incrementing edge
for either input source is determined by the TMR0SE bit
in the OPTION_REG register.
FIGURE 18-1: TIMER0 BLOCK DIAGRAM
Note: The value written to the TMR0 register
can be adjusted in order to account for the
two instruction cycle delay when TMR0 is
written.
Rev. 10-000017A
8/5/2013
TMR0SE
0
1
Fosc/4
Prescaler
T0_overflow
R
write
to
TMR0
set bit
TMR0IF
T0CKI
Sync Circuit
FOSC/2
TMR0CS
T0CKI
(1)
Note 1: The T0CKI prescale output frequency should not exceed F
OSC
/8.
PS<2:0>
0
1
PSA
TMR0
Q1