PIC16F505 Microchip Technology, PIC16F505 Datasheet - Page 35

no-image

PIC16F505

Manufacturer Part Number
PIC16F505
Description
(PIC1xF50x) 8-Bit Flash Microcontrollers
Manufacturer
Microchip Technology
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC16F505-E/SL
0
Part Number:
PIC16F505-I/SL
Manufacturer:
Microchip Technology
Quantity:
28 714
Part Number:
PIC16F505-I/SL
0
6.0
The Timer0 module has the following features:
• 8-bit timer/counter register, TMR0
• Readable and writable
• 8-bit software programmable prescaler
• Internal or external clock select:
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 Timer0 module will
increment every instruction cycle (without prescaler). If
TMR0 register 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 the TMR0 register.
FIGURE 6-1:
FIGURE 6-2:
 2004 Microchip Technology Inc.
PC
(Program
Counter)
Instruction
Timer0
Instruction
Executed
Fetch
- Edge select for external clock
(GP2/RC5)/T0CKI
Note 1: Bits T0CS, T0SE, PSA, PS2, PS1 and PS0 are located in the Option register.
TIMER0 MODULE AND TMR0
REGISTER
2: The prescaler is shared with the Watchdog Timer (Figure 6-5).
Pin
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
T0SE
T0
PC – 1
F
TIMER0 BLOCK DIAGRAM
TIMER0 TIMING: INTERNAL CLOCK/NO PRESCALE
OSC
MOVWF TMR0 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W
T0 + 1
/4
PC
T0CS
0
1
Write TMR0
executed
T0 + 2
(1)
PC + 1
PS2, PS1, PS0
Programmable
Prescaler
Preliminary
Read TMR0
reads NT0
3
PC + 2
(2)
(1)
PIC12F508/509/16F505
Counter mode is selected by setting the T0CS bit
(Option<5>). In this mode, Timer0 will increment either
on every rising or falling edge of pin T0CKI. The T0SE
bit (Option<4>) determines the source edge. Clearing
the T0SE bit selects the rising edge. Restrictions on the
external clock input are discussed in detail in
Section 6.1 “Using Timer0 with an External Clock”.
The prescaler may be used by either the Timer0
module or the Watchdog Timer, but not both. 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.2 “Prescaler” details
the operation of the prescaler.
A summary of registers associated with the Timer0
module is found in Table 6-1.
PSA
NT0
Read TMR0
reads NT0
1
0
PC + 3
(1)
PS
OUT
(2 T
Sync with
Internal
Read TMR0
reads NT0
Clocks
CY
PC + 4
delay)
PS
Sync
NT0 + 1
Read TMR0
reads NT0 + 1
OUT
PC + 5
TMR0 reg
Data Bus
DS41236A-page 33
Read TMR0
reads NT0 + 2
NT0 + 2
8
PC + 6

Related parts for PIC16F505