Datasheet
2001-2013 Microchip Technology Inc. DS39598F-page 55
PIC16F818/819
EXAMPLE 6-1: CHANGING THE PRESCALER ASSIGNMENT FROM TIMER0 TO WDT
EXAMPLE 6-2: CHANGING THE PRESCALER ASSIGNMENT FROM WDT TO TIMER0
TABLE 6-1: REGISTERS ASSOCIATED WITH TIMER0
BANKSEL OPTION_REG ; Select Bank of OPTION_REG
MOVLW b'xx0x0xxx' ; Select clock source and prescale value of
MOVWF OPTION_REG ; other than 1:1
BANKSEL TMR0 ; Select Bank of TMR0
CLRF TMR0 ; Clear TMR0 and prescaler
BANKSEL OPTION_REG ; Select Bank of OPTION_REG
MOVLW b'xxxx1xxx' ; Select WDT, do not change prescale value
MOVWF OPTION_REG
CLRWDT ; Clears WDT and prescaler
MOVLW b'xxxx1xxx' ; Select new prescale value and WDT
MOVWF OPTION_REG
CLRWDT ; Clear WDT and prescaler
BANKSEL OPTION_REG ; Select Bank of OPTION_REG
MOVLW b'xxxx0xxx' ; Select TMR0, new prescale
MOVWF OPTION_REG ; value and clock source
Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Value on
POR, BOR
Value on
all other
Resets
01h,101h TMR0 Timer0 Module Register xxxx xxxx uuuu uuuu
0Bh,8Bh,
10Bh,18Bh
INTCON GIE PEIE TMR0IE
INTE RBIE TMR0IF INTF RBIF 0000 000x 0000 000u
81h,181h OPTION_REG
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
Legend: x = unknown, u = unchanged, - = unimplemented locations read as ‘0’. Shaded cells are not used by Timer0.