PIC18F-LF1XK50 MICROCHIP [Microchip Technology], PIC18F-LF1XK50 Datasheet - Page 102

no-image

PIC18F-LF1XK50

Manufacturer Part Number
PIC18F-LF1XK50
Description
20-Pin USB Flash Microcontrollers
Manufacturer
MICROCHIP [Microchip Technology]
Datasheet
PIC18F/LF1XK50
10.1
Timer0 can operate as either a timer or a counter; the
mode is selected with the T0CS bit of the T0CON
register. In Timer mode (T0CS = 0), the module
increments on every clock by default unless a different
prescaler
“Prescaler”). Timer0 incrementing is inhibited for two
instruction cycles following a TMR0 register write. The
user can work around this by adjusting the value written
to the TMR0 register to compensate for the anticipated
missing increments.
The Counter mode is selected by setting the T0CS bit
(= 1). In this mode, Timer0 increments either on every
rising or falling edge of the T0CKI pin. The increment-
ing edge is determined by the Timer0 Source Edge
Select bit, T0SE of the T0CON register; clearing this bit
selects the rising edge. Restrictions on the external
clock input are discussed below.
An external clock source can be used to drive Timer0;
however, it must meet certain requirements (see
Table
synchronized with the internal phase clock (T
There is a delay between synchronization and the
onset of incrementing the timer/counter.
FIGURE 10-1:
DS41350E-page 102
27-6) to ensure that the external clock can be
Note:
T0CKI pin
Timer0 Operation
value
Upon Reset, Timer0 is enabled in 8-bit mode with clock input from T0CKI max. prescale.
T0SE
T0CS
T0PS<2:0>
PSA
is
F
OSC
TIMER0 BLOCK DIAGRAM (8-BIT MODE)
selected
/4
0
1
(see
Programmable
Prescaler
Section 10.3
3
OSC
Preliminary
).
0
1
(2 T
Sync with
Internal
Clocks
CY
10.2
TMR0H is not the actual high byte of Timer0 in 16-bit
mode; it is actually a buffered version of the real high
byte of Timer0 which is neither directly readable nor
writable (refer to
the contents of the high byte of Timer0 during a read of
TMR0L. This provides the ability to read all 16 bits of
Timer0 without the need to verify that the read of the
high and low byte were valid. Invalid reads could
otherwise occur due to a rollover between successive
reads of the high and low byte.
Similarly, a write to the high byte of Timer0 must also
take place through the TMR0H Buffer register. Writing
to TMR0H does not directly affect Timer0. Instead, the
high byte of Timer0 is updated with the contents of
TMR0H when a write occurs to TMR0L. This allows all
16 bits of Timer0 to be updated at once.
Delay)
Timer0 Reads and Writes in
16-Bit Mode
8
Figure
TMR0L
8
 2010 Microchip Technology Inc.
10-2). TMR0H is updated with
Set
TMR0IF
on Overflow
Internal Data Bus

Related parts for PIC18F-LF1XK50