![](http://datasheet.mmic.net.cn/Microchip-Technology/PIC16C57-HSI-P_datasheet_99429/PIC16C57-HSI-P_42.png)
PIC16C5X
DS30453D-page 40
Preliminary
2002 Microchip Technology Inc.
8.2
Prescaler
An 8-bit counter is available as a prescaler for the
Timer0 module, or as a postscaler for the Watchdog
ity, this counter is being referred to as “prescaler”
throughout this data sheet. Note that the prescaler may
be used by either the Timer0 module or the WDT, but
not both. Thus, a prescaler assignment for the Timer0
module means that there is no prescaler for the WDT,
and vice-versa.
The PSA and PS<2:0> bits (OPTION<3:0>) determine
prescaler assignment and prescale ratio.
When assigned to the Timer0 module, all instructions
writing
to
the
TMR0
register
(e.g.,
CLRF 1,
MOVWF 1,
BSF 1,x,
etc.) will clear the prescaler.
When assigned to WDT, a CLRWDT instruction will clear
the prescaler along with the WDT. The prescaler is nei-
ther readable nor writable. On a RESET, the prescaler
contains all '0's.
8.2.1
SWITCHING PRESCALER
ASSIGNMENT
The prescaler assignment is fully under software con-
trol (i.e., it can be changed “on the fly” during program
execution). To avoid an unintended device RESET, the
executed when changing the prescaler assignment
from Timer0 to the WDT.
EXAMPLE 8-1:
CHANGING PRESCALER
(TIMER0
→WDT)
CLRWDT
;Clear WDT
CLRF
TMR0
;Clear TMR0 & Prescaler
MOVLW
B'00xx1111’
;Last 3 instructions in
this example
OPTION
;are required only if
;desired
CLRWDT
;PS<2:0> are 000 or
;001
MOVLW
B'00xx1xxx’
;Set Prescaler to
OPTION
;desired WDT rate
To change prescaler from the WDT to the Timer0 mod-
sequence must be used even if the WDT is disabled. A
CLRWDT
instruction should be executed before switch-
ing the prescaler.
EXAMPLE 8-2:
CHANGING PRESCALER
(WDT
→TIMER0)
CLRWDT
;Clear WDT and
;prescaler
MOVLW
B'xxxx0xxx'
;Select TMR0, new
;prescale value and
;clock source
OPTION