PIC16F684-I/SLG Microchip, PIC16F684-I/SLG Datasheet - Page 49

no-image

PIC16F684-I/SLG

Manufacturer Part Number
PIC16F684-I/SLG
Description
pic, flash, Microcontrollers, Microprocessors, Semiconductors and Actives, ic, mcu
Manufacturer
Microchip
Datasheet
5.4
An 8-bit counter is available as a prescaler for the
Timer0 module, or as a postscaler for the Watchdog
Timer. For simplicity, this counter will be referred to as
“prescaler” throughout this data sheet. The prescaler
assignment is controlled in software by the control bit
PSA (OPTION_REG<3>). Clearing the PSA bit will
assign the prescaler to Timer0. Prescale values are
selectable via the PS<2:0> bits (OPTION_REG<2:0>).
The prescaler is not readable or writable. When
assigned to the Timer0 module, all instructions writing
to the TMR0 register (e.g., CLRF 1,
BSF 1, x....etc.) will clear the prescaler. When
assigned to WDT, a CLRWDT instruction will clear the
prescaler along with the Watchdog Timer.
5.4.1
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,
(Example 5-1 and Example 5-2) must be executed
when changing the prescaler assignment from Timer0
to WDT.
TABLE 5-1:
 2004 Microchip Technology Inc.
Address
01h
0Bh/8Bh INTCON
81h
85h
Legend:
Prescaler
TMR0
OPTION_REG
TRISA
the
module.
SWITCHING PRESCALER
ASSIGNMENT
— = Unimplemented locations, read as ‘0’, u = unchanged, x = unknown. Shaded cells are not used by the Timer0
Name
following
REGISTERS ASSOCIATED WITH TIMER0
Timer0 Module register
RAPU
Bit 7
GIE
instruction
INTEDG
PEIE
Bit 6
TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 --11 1111
MOVWF 1,
T0CS
Bit 5
T0IE
sequence
Preliminary
T0SE
INTE
Bit 4
RAIE
Bit 3
PSA
EXAMPLE 5-1:
To change prescaler from the WDT to the TMR0
module, use the sequence shown in Example 5-2. This
precaution must be taken even if the WDT is disabled.
EXAMPLE 5-2:
BCF
CLRWDT
CLRF
BSF
MOVLW
MOVWF
CLRWDT
MOVLW
MOVWF
BCF
CLRWDT
BSF
MOVLW
MOVWF
BCF
Bit 2
T0IF
PS2
STATUS,RP0
TMR0
STATUS,RP0
b’00101111’
OPTION_REG
b’00101xxx’
OPTION_REG
STATUS,RP0
STATUS,RP0
b’xxxx0xxx’
OPTION_REG
STATUS,RP0
Bit 1
INTF
PS1
CHANGING PRESCALER
(TIMER0 WDT)
CHANGING PRESCALER
(WDT TIMER0)
RAIF
Bit 0
PS0
PIC16F684
;Bank 0
;Clear WDT
;Clear TMR0 and
; prescaler
;Bank 1
;Required if desired
; PS2:PS0 is
; 000 or 001
;
;Set postscaler to
; desired WDT rate
;Bank 0
;Clear WDT and
; prescaler
;Bank 1
;Select TMR0,
; prescale, and
; clock source
;
;Bank 0
xxxx xxxx uuuu uuuu
0000 0000 0000 0000
1111 1111 1111 1111
POR, BOD
Value on
DS41202C-page 47
Value on
all other
Resets

Related parts for PIC16F684-I/SLG