English
Language : 

PIC16F8X_13 Datasheet, PDF (31/128 Pages) Microchip Technology – 18-pin Flash/EEPROM 8-Bit Microcontrollers
PIC16F8X
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).
Note:
To avoid an unintended device RESET, the
following
instruction
sequence
(Example 6-1) must be executed when
changing the prescaler assignment from
Timer0 to the WDT. This sequence must
be taken even if the WDT is disabled. To
change prescaler from the WDT to the
Timer0 module use the sequence shown in
Example 6-2.
EXAMPLE 6-1: CHANGING PRESCALER
(TIMER0WDT)
BCF
STATUS, RP0 ;Bank 0
CLRF TMR0
;Clear TMR0
; and Prescaler
BSF
STATUS, RP0 ;Bank 1
CLRWDT
;Clears WDT
MOVLW b'xxxx1xxx' ;Select new
MOVWF OPTION_REG
; prescale value
BCF
STATUS, RP0 ;Bank 0
EXAMPLE 6-2: CHANGING PRESCALER
(WDTTIMER0)
CLRWDT
;Clear WDT and
; prescaler
BSF
STATUS, RP0 ;Bank 1
MOVLW b'xxxx0xxx' ;Select TMR0, new
; prescale value
’ and clock source
MOVWF OPTION_REG
;
BCF
STATUS, RP0 ;Bank 0
TABLE 6-1 REGISTERS ASSOCIATED WITH TIMER0
Address Name
Bit 7 Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on
Power-on
Reset
Value on all
other resets
01h
TMR0
Timer0 module’s register
xxxx xxxx uuuu uuuu
0Bh
INTCON
GIE
EEIE
T0IE
INTE
RBIE
T0IF
INTF
RBIF 0000 000x 0000 0000
81h
OPTION_
REG
RBPU INTEDG T0CS
T0SE
PSA
PS2
PS1
PS0
1111 1111 1111 1111
85h
TRISA
—
—
—
TRISA4
TRISA3 TRISA2 TRISA1 TRISA0 ---1 1111 ---1 1111
Legend: x = unknown, u = unchanged. - = unimplemented read as '0'. Shaded cells are not associated with Timer0.
 1996-2013 Microchip Technology Inc.
DS30430D-page 31