2010 Microchip Technology Inc. DS80329B-page 1
TIMER1 MODULE
Clarifications/Corrections to the Data
Sheet:
In the Device data sheets listed below, the following
clarifications and corrections should be noted. Any
silicon issues related to the Timer1 Module will be
reported in a separate silicon errata. Please check the
Microchip web site for any existing issues.
Device Data
Sheet Device Data
Sheet Device Data
Sheet Device Data
Sheet
PIC12F609
DS41302
PIC16F716 DS41206 PIC18F2321 DS39689 PIC18F6585
DS30491
PIC12HV609 PIC16F737
DS30498
PIC18F4321 PIC18F6680
PIC12F615 PIC16F747 PIC18F2331
DS39616
PIC18F8585
PIC12HV615 PIC16F767 PIC18F2431 PIC18F8680
PIC12F617
PIC12F629 DS41190 PIC16F777 PIC18F4331 PIC18F24J10
DS39682
PIC12F675 PIC16F785 DS41249 PIC18F4431 PIC18F25J10
PIC12F635
DS41232
PIC16HV785 PIC18F2439
DS30485
PIC18F44J10
PIC16F636 PIC16F818 DS39598 PIC18F2539 PIC18F45J10
PIC16F639 PIC16F819 PIC18F4439 PIC18F63J11
DS39774
PIC12F683 DS41211 PIC16F870 DS30569 PIC18F4539 PIC18F64J11
PIC14000 DS40122 PIC16F871 PIC18F2455
DS39632
PIC18F65J11
PIC16C62A
DS30234
PIC16F872 DS30221 PIC18F2550 PIC18F83J11
PIC16C63 PIC16F873
DS30292
PIC18F4455 PIC18F84J11
PIC16C64A PIC16F874 PIC18F4550 PIC18F85J11
PIC16C65A PIC16F876 PIC18F2480
DS39637
PIC18F63J90
DS39770
PIC16C66 PIC16F877 PIC18F4480 PIC18F64J90
PIC16C67 PIC16F873A
DS39582
PIC18F4580 PIC18F65J90
PIC16C62B DS35008 PIC16F874A PIC18F2510
DS39636
PIC18F83J90
PIC16C72A PIC16F876A PIC18F2610 PIC18F84J90
PIC16C63A
DS30605
PIC16F877A PIC18F4510 PIC18F85J90
PIC16C65B PIC16F882
DS41291
PIC18F4610 PIC18F65J10
DS39663
PIC16C73B PIC16F883 PIC18F2520 DS39631 PIC18F65J15
PIC16C74B PIC16F884 PIC18F4520 PIC18F66J10
PIC16C72
DS30390
PIC16F886 PIC18F2585
DS39625
PIC18F66J15
PIC16C73A PIC16F887 PIC18F2680 PIC18F67J10
PIC16C74A PIC16F913
DS41250
PIC18F4585 PIC18F85J10
PIC16C76 PIC16F914 PIC18F4680 PIC18F85J15
PIC16C77 PIC16F916 PIC18F2620 DS39626 PIC18F86J10
PIC16C745 DS41124 PIC16F917 PIC18F4620 PIC18F85J15
PIC16C765 PIC16F946 PIC18F87J10
Timer1 Module Data Sheet Errata
TIMER1 MODULE
DS80329B-page 2 2010 Microchip Technology Inc.
PIC16C773 DS30275 PIC17C42A
DS30412
PIC18F4685 DS39761 PIC18F65J50
DS39775
PIC16C774 PIC17C43 PIC18F6390
DS39629
PIC18F66J50
PIC16C923 DS30444 PIC17C44 PIC18F6490 PIC18F66J55
PIC16C924 PIC17C752
DS30289
PIC18F8390 PIC18F67J50
PIC16C925 DS39544 PIC17C756A PIC18F8490 PIC18F85J50
PIC16C926 PIC17C762 PIC18F6520
DS39609
PIC18F85J55
PIC16F72 DS39597 PIC17C766 PIC18F6620 PIC18F87J50
PIC16F73
DS30325
PIC18C242
DS39026
PIC18F6720 PIC18F66J11
DS39778
PIC16F74 PIC18C252 PIC18F8520 PIC18F66J16
PIC16F76 PIC18C442 PIC18F8620 PIC18F67J11
PIC16F77 PIC18C452 PIC18F8720 PIC18F86J11
PIC16F87 DS30487 PIC18C601 DS39541 PIC18F6525
DS39612
PIC18F86J16
PIC16F88 PIC18C801 PIC18F6621 PIC18F87J11
PIC16F610
DS41288
PIC18C658 DS30475 PIC18F8525 PIC18F66J60
DS39762
PIC16HV610 PIC18C858 PIC18F8621 PIC18F66J65
PIC16F616 PIC18F242
DS39564
PIC18F6527
DS39646
PIC18F67J60
PIC16HV616 PIC18F252 PIC18F6622 PIC18F86J60
PIC16F627A
DS40044
PIC18F442 PIC18F6627 PIC18F86J65
PIC16F628A PIC18F452 PIC18F6722 PIC18F87J60
PIC16F648A PIC18F248
DS41159
PIC18F8527 PIC18F96J60
PIC16F630 DS40039 PIC18F258 PIC18F8622 PIC18F96J65
PICF676 PIC18F458 PIC18F8627 PIC18F97J60
PIC16F631
DS41262
PIC18F1220 DS39605 PIC18F8722
PIC16F677 PIC18F1320
PIC16F685 PIC18F1230 DS39758
PIC16F687 PIC18F1330
PIC16F689 PIC18F2220
DS39599
PIC16F690 PIC18F2330
PIC16F684 DS41202 PIC18F4220
PIC16F688 DS41203 PIC18F4320
Device Data
Sheet Device Data
Sheet Device Data
Sheet Device Data
Sheet
2010 Microchip Technology Inc. DS80329B-page 3
TIMER1 MODULE
1. Asynchronous Counter
When Timer1 is started or updated, the timer
needs to see a falling edge from the external clock
source before a rising edge can increment the
counter. If writes to TMR1H and TMR1L are not
completed while the external clock pulse is still
high, Timer1 will miss counting the first clock pulse
after the update.
When using an external crystal, the pulse width
from rising to falling edge is temperature depen-
dent and may decrease with temperature. As a
result, the timer may require an additional oscilla-
tion to overflow.
Code examples are given for the affected devices:
PIC12/14/16/17 devices – Example 1 and
Example 2
PIC18 devices – Example 3
Both examples include code to wait for Timer1 to
increment twice between the RTCisr and Update
labels.
In PIC18 devices, it is not possible to reliably
update Timer1 in a low-priority interrupt. A high-
priority interrupt could occur at any time and
unexpectedly delay the TMR1 update.
PIC18 devices also include Timer3 which is
functionally identical to Timer1.
Work around
Switching Timer1 to the main system oscillator
after reloading, the timer ensures the timer will see
a falling edge before switching back to the external
clock source.
Due to the time from Timer1 overflow to the reload
being application specific, wait for the timer to
increment before beginning the reload sequence.
This ensures the timer does not miss a rising edge
during reload. The timing of the clock source
changing is critical and is detailed in Example 1
and Example 2.
EXAMPLE 1: PIC12/14/16/17 CODE EXAMPLE FOR 1 SECOND OVERFLOW PERIOD WITH 32.786
kHZ OSCILLATOR
BTFSC TMR1L,0
GOTO $-1
BTFSS TMR1L,0
GOTO $-1 ;Timer has just incremented, 31 μs before next rising edge to
;complete reload
Update:
BCF T1CON,TMR1CS ;Select system clock for Timer1
BSF TMR1H,7 ;Timer1 high byte 0x80
BCF T1CON,TMR1ON ;Timer1 off
BSF T1CON,TMR1C ;Select external crystal
BSF T1CON,TMR1ON ;Timer1 on
Critical Timing of code sequence for instructions following last write to TMR1L or TMR1H.
TIMER1 MODULE
DS80329B-page 4 2010 Microchip Technology Inc.
EXAMPLE 2: PIC12/14/16/17 CODE EXAMPLE FOR OVERFLOW PERIODS OTHER THAN 1
SECOND OR USING AN OSCILLATOR OTHER THAN 32.768 kHZ
EXAMPLE 3: PIC18 HIGH-PRIORITY INTERRUPT SERVICE ROUTINE
BTFSC TMR1L, 0
GOTO $-1
BTFSS TMR1L, 0
GOTO $-1 ;Timer has just incremented, 31μs before next rising
edge to complete reload.
BCF T1CON, TMR1CS ;Select system clock for Timer1.
MOVF TMR1, W ;Sample low byte of Timer1 before increments.
ADDWF TMR1_Reload_lo, F ;Add reload value for low byte
BTFSC STATUS, C ;if this generates a carry then
INCF TMR1_Reload_hi, F ;modify the reload value for the high byte.
MOVF TMR1_Reload_hi, W ;Reload Timer1 high byte.
MOVWF TMR1H
MOVF TMR1_Reload_lo, W ;Reload Timer1 low byte.
MOVW TMR1L
BCF T1CON, TMR1ON ;Timer1 off.
BSF T1CON, TMR1CS ;Select external crystal.
BSF T1CON, TMR1ON ;Timer1 on.
Critical Timing of code sequence for instructions.
HIntVector code 0x0008 ; (3-4Tcy), fixed interrupt latency
goto HighISR ; (3Tcy) jump to high priority ISR code
code ; unprotected code space
HighISR:
btfss PIR1,TMR1IF ; (1Tcy) TMR1 overflow?
goto NextISR ; (2Tcy) No, check another interrupt source
; Insert the next 4 lines of code when TMR1 can not
; be reliably updated before clock pulse goes low
RTCisr:
btfsc TMR1L,0 ; wait for TMR1L<0> to become clear
bra $-2 ; may already be clear (loops for 0 to 30.5us)
btfss TMR1L,0 ; wait for TMR1L<0> to become set
bra $-2 ; (loops for 30.5us)
; If TMR1 update can be completed before clock pulse
; goes low, start update here
Update:
bsf TMR1H,7 ; reload for next 1 second overflow
bcf PIR1,TMR1IF ; clear flag
incf Seconds,F ; record second
retfie FAST
NextISR: ; Another interrupt source...
.... ; code for other interrupts, if needed
retfieFAST
2010 Microchip Technology Inc. DS80329B-page 5
TIMER1 MODULE
REVISION HISTORY
Rev A Document (7/2007)
Initial release of this errata.
Rev B Document (03/2010)
Added PIC12F617 device to the Clarifications/
Corrections to the Data Sheet section.
TIMER1 MODULE
DS80329B-page 6 2010 Microchip Technology Inc.
NOTES:
2010 Microchip Technology Inc. DS80329B-page 7
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,
QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability
arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims,
suits, or expenses resulting from such use. No licenses are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, dsPIC,
KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART,
PIC32 logo, rfPIC and UNI/O are registered trademarks of
Microchip Technology Incorporated in the U.S.A. and other
countries.
FilterLab, Hampshire, HI-TECH C, Linear Active Thermistor,
MXDEV, MXLAB, SEEVAL and The Embedded Control
Solutions Company are registered trademarks of Microchip
Technology Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, HI-TIDE, In-Circuit Serial
Programming, ICSP, Mindi, MiWi, MPASM, MPLAB Certified
logo, MPLIB, MPLINK, mTouch, Octopus, Omniscient Code
Generation, PICC, PICC-18, PICDEM, PICDEM.net, PICkit,
PICtail, REAL ICE, rfLAB, Select Mode, Total Endurance,
TSHARC, UniWinDriver, WiperLock and ZENA are
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2010, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
ISBN: 978-1-60932-048-5
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
Microchip is willing to work with the customer who is concerned about the integrity of their code.
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Microchip received ISO/TS-16949:2002 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
DS80329B-page 8 2010 Microchip Technology Inc.
AMERICAS
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Cleveland
Independence, OH
Tel: 216-447-0464
Fax: 216-447-0643
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
ASIA/PACIFIC
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2401-1200
Fax: 852-2401-3431
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
China - Chongqing
Tel: 86-23-8980-9588
Fax: 86-23-8980-9500
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
China - Nanjing
Tel: 86-25-8473-2460
Fax: 86-25-8473-2470
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
China - Xiamen
Tel: 86-592-2388138
Fax: 86-592-2388130
China - Zhuhai
Tel: 86-756-3210040
Fax: 86-756-3210049
ASIA/PACIFIC
India - Bangalore
Tel: 91-80-3090-4444
Fax: 91-80-3090-4123
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
Malaysia - Kuala Lumpur
Tel: 60-3-6201-9857
Fax: 60-3-6201-9859
Malaysia - Penang
Tel: 60-4-227-8870
Fax: 60-4-227-4068
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
Taiwan - Hsin Chu
Tel: 886-3-6578-300
Fax: 886-3-6578-370
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
EUROPE
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
WORLDWIDE SALES AND SERVICE
01/05/10