Electronic Components Datasheet Search
  New Zealand  ▼
ALLDATASHEET.CO.NZ

X  

PIC18F6X2X Datasheet(PDF) 142 Page - Microchip Technology

Part # PIC18F6X2X
Description  64/80-Pin High Performance, 64-Kbyte Enhanced FLASH Microcontrollers with A/D
PDF  386 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

PIC18F6X2X Datasheet(HTML) 142 Page - Microchip Technology

Back Button PIC18F6X2X Datasheet HTML 138Page - Microchip Technology PIC18F6X2X Datasheet HTML 139Page - Microchip Technology PIC18F6X2X Datasheet HTML 140Page - Microchip Technology PIC18F6X2X Datasheet HTML 141Page - Microchip Technology PIC18F6X2X Datasheet HTML 142Page - Microchip Technology PIC18F6X2X Datasheet HTML 143Page - Microchip Technology PIC18F6X2X Datasheet HTML 144Page - Microchip Technology PIC18F6X2X Datasheet HTML 145Page - Microchip Technology PIC18F6X2X Datasheet HTML 146Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 142 / 386 page
background image
PIC18F6X2X/8X2X
DS39612A-page 140
Advance Information
 2003 Microchip Technology Inc.
12.6
Using Timer1 as a Real-Time
Clock
Adding an external LP oscillator to Timer1 (such as the
one described in Section 12.2) gives users the option
to include RTC functionality to their applications. This is
accomplished with an inexpensive watch crystal to pro-
vide an accurate time base, and several lines of appli-
cation code to calculate the time. When operating in
SLEEP mode and using a battery or supercapacitor as
a power source, it can completely eliminate the need
for a separate RTC device and battery backup.
The application code routine, RTCisr, shown in
Example 12-1, demonstrates a simple method to incre-
ment a counter at one-second intervals using an Inter-
rupt Service Routine. Incrementing the TMR1 register
pair to overflow, triggers the interrupt and calls the rou-
tine which increments the seconds counter by one;
additional
counters
for
minutes
and
hours
are
incremented as the previous counter overflow.
Since the register pair is 16 bits wide, counting up to
overflow the register directly from a 32.768 kHz clock
would take 2 seconds. To force the overflow at the
required one-second intervals, it is necessary to pre-
load it; the simplest method is to set the MSbit of
TMR1H with a BSF instruction. Note that the TMR1L
register is never preloaded or altered; doing so may
introduce cumulative error over many cycles.
For this method to be accurate, Timer1 must operate in
Asynchronous mode, and the Timer1 overflow interrupt
must be enabled (PIE1<0> = 1), as shown in the rou-
tine, RTCinit. The Timer1 oscillator must also be
enabled and running at all times.
EXAMPLE 12-1:
IMPLEMENTING A REAL-TIME CLOCK USING A TIMER1 INTERRUPT SERVICE
RTCinit
MOVLW
0x80
; Preload TMR1 register pair
MOVWF
TMR1H
; for 1 second overflow
CLRF
TMR1L
MOVLW
b’00001111’
; Configure for external clock,
MOVWF
T1OSC
; Asynchronous operation, external oscillator
CLRF
secs
; Initialize timekeeping registers
CLRF
mins
;
MOVLW
.12
MOVWF
hours
BSF
PIE1, TMR1IE
; Enable Timer1 interrupt
RETURN
RTCisr
BSF
TMR1H,7
; Preload for 1 sec overflow
BCF
PIR1,TMR1IF
; Clear interrupt flag
INCF
secs,F
; Increment seconds
MOVLW
.59
; 60 seconds elapsed?
CPFSGT
secs
RETURN
; No, done
CLRF
secs
; Clear seconds
INCF
mins,F
; Increment minutes
MOVLW
.59
; 60 minutes elapsed?
CPFSGT
mins
RETURN
; No, done
CLRF
mins
; clear minutes
INCF
hours,F
; Increment hours
MOVLW
.23
; 24 hours elapsed?
CPFSGT
hours
RETURN
; No, done
MOVLW
.01
; Reset hours to 1
MOVWF
hours
RETURN
; Done



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com