Datasheet
PIC14000
DS40122B-page 40
Preliminary
1996 Microchip Technology Inc.
6.3.1 SWITCHING PRESCALER ASSIGNMENT
The prescaler assignment is fully under software
control, i.e., it can be changed “on the fly” during
program execution. To avoid an unintended device
RESET, the following instruction sequence
(Example 6-1) must be executed when changing the
prescaler assignment from Timer0 to WDT.
EXAMPLE 6-1: CHANGING PRESCALER
(TIMER0
→
WDT)
1.BCF STATUS,RP0 ;Skip if already in
; Bank 0
2.CLRWDT ;Clear WDT
3.CLRF TMR0 ;Clear TMR0 & Prescaler
4.BSF STATUS, RP0 ;Bank 1
5.MOVLW '00101111'b;These 3 lines (5, 6, 7)
6.MOVWF OPTION ; are required only
; if desired PS<2:0>
7.CLRWDT ; are 000 or 001
8.MOVLW '00101xxx'b ;Set Postscaler to
9.MOVWF OPTION ; desired WDT rate
10.BCF STATUS, RP0 ;Return to Bank 0
To change prescaler from the WDT to the Timer0
module use the sequence shown in Example 6-2. This
precaution must be taken even if the WDT is disabled.
EXAMPLE 6-2: CHANGING PRESCALER
(WDT
→
TIMER0)
CLRWDT ;Clear WDT and
;prescaler
BSF STATUS, RP0
MOVLW B'xxxx0xxx' ;Select TMR0, new
;prescale value and
;clock source
MOVWF OPTION
BCF STATUS, RP0
TABLE 6-1: SUMMARY OF TIMER0 REGISTERS
TABLE 6-2: REGISTERS ASSOCIATED WITH TIMER0
Register Name Function Address Power-on Reset Value
TMR0 Timer/counter register 01h
xxxx xxxx
OPTION Configuration and prescaler assign-
ment bits for TMR0.
81h
1111 1111
INTCON TMR0 overflow interrupt flag and
mask bits.
0Bh
0000 000x
Legend: x = unknown,
Note 1: For reset values of registers in other reset situations refer to Table 10-4.
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
01h TMR0 TIMER0 TIMER/COUNTER
0Bh/8Bh INTCON GIE
PEIE T0IE r r T0IF r r
81h OPTION
RCPU r T0CS T0SE PSA PS2 PS1 PS0
87h TRISC
TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0
Legend: r = Reserved locations
Shaded boxes are not used by Timer0 module