Datasheet

Table Of Contents
2011-2013 Microchip Technology Inc. DS40001609C-page 161
PIC16(L)F1508/9
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. 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.
8-Bit Counter mode using 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