English
Language : 

PIC16C432 Datasheet, PDF (29/106 Pages) Microchip Technology – OTP 8-Bit CMOS MCU with LIN Transceiver
PIC16C432
6.0 TIMER0 MODULE
The Timer0 module timer/counter has the following
features:
• 8-bit timer/counter
• Readable and writable
• 8-bit software programmable prescaler
• Internal or external clock select
• Interrupt on overflow from FFh to 00h
• Edge select for external clock
Figure 6-1 is a simplified block diagram of the Timer0
module.
Timer mode is selected by clearing the T0CS bit
(OPTION<5>). In Timer mode, the TMR0 will increment
every instruction cycle (without prescaler). If Timer0 is
written, the increment is inhibited for the following two
cycles (Figure 6-2 and Figure 6-3). The user can work
around this by writing an adjusted value to TMR0.
Counter mode is selected by setting the T0CS bit. In
this mode, Timer0 will increment either on every rising
or falling edge of pin RA4/T0CKI. The incrementing
edge is determined by the source edge (T0SE) control
bit (OPTION<4>). Clearing the T0SE bit selects the
rising edge. Restrictions on the external clock input are
discussed in detail in Section 6.2.
The prescaler is shared between the Timer0 module
and the Watchdog Timer. The prescaler assignment is
controlled in software by the control bit PSA
(OPTION<3>). Clearing the PSA bit will assign the
prescaler to Timer0. The prescaler is not readable or
writable. When the prescaler is assigned to the Timer0
module, prescale values of 1:2, 1:4,..., 1:256 are
selectable. Section 6.3 details the operation of the
prescaler.
6.1 Timer0 Interrupt
Timer0 interrupt is generated when the TMR0 register
timer/counter overflows from FFh to 00h. This overflow
sets the T0IF bit. The interrupt can be masked by
clearing the T0IE bit (INTCON<5>). The T0IF bit
(INTCON<2>) must be cleared in software by the
Timer0 module Interrupt Service Routine, before re-
enabling this interrupt. The Timer0 interrupt cannot
wake the processor from SLEEP, since the timer is
shut-off during SLEEP. See Figure 6-4 for Timer0 inter-
rupt timing.
FIGURE 6-1:
TIMER0 BLOCK DIAGRAM
RA4/T0CKI
pin
FOSC/4
T0SE
Data Bus
0
PSOUT
8
1
Sync with
1
Internal
TMR0
Programmable 0
Prescaler
clocks
PSOUT
(2 TCY delay)
T0CS
PS<2:0>
PSA
Note 1: Bits T0SE, T0CS, PS2, PS1, PS0 and PSA are located in the OPTION register.
2: The prescaler is shared with the Watchdog Timer (Figure 6-6).
Set Flag bit T0IF
on Overflow
FIGURE 6-2:
TIMER0 (TMR0) TIMING: INTERNAL CLOCK/NO PRESCALER
PC
(Program
Counter)
Instruction
Fetch
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
PC-1
PC
PC+1
PC+2
PC+3
PC+4
PC+5
PC+6
MOVWF TMR0 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W
TMR0
T0
Instruction
Executed
T0+1
T0+2
NT0
NT0+1
NT0+2
T0
Write TMR0 Read TMR0 Read TMR0 Read TMR0 Read TMR0 Read TMR0
executed
reads NT0 reads NT0 reads NT0 reads NT0 + 1 reads NT0 + 2
 2002 Microchip Technology Inc.
Preliminary
DS41140B-page 27