电子工程世界电子工程世界电子工程世界

型号

产品描述

搜索
 

PIC18F25K80-I/SS

器件型号:PIC18F25K80-I/SS
器件类别:微处理器   
厂商名称:MICROCHIP [Microchip Technology]
厂商官网:http://www.microchip.com/
下载文档

器件描述

IC,MICROCONTROLLER,8-BIT,PIC CPU,CMOS,SSOP,28PIN,PLASTIC

IC,单片机,8位,PIC CPU,CMOS,SSOP,28PIN,塑料

参数

PIC18F25K80-I/SS无铅 Yes
PIC18F25K80-I/SS欧盟RoHS规范 Yes
PIC18F25K80-I/SS状态 CONSULT MFR
PIC18F25K80-I/SS端子涂层 MATTE 锡

文档预览

PIC18F25K80-I/SS器件文档内容

                   PIC18F66K80 FAMILY

        28/40/44/64-Pin, Enhanced Flash Microcontrollers
          with ECANTM and nanoWatt XLP Technology

Power-Managed Modes:                                         ECAN Bus Module Features (Continued):

Run: CPU on, Peripherals on                                 16 Full, 29-Bit Acceptance Filters with Dynamic
Idle: CPU off, Peripherals on                                 Association
Sleep: CPU off, Peripherals off
Two-Speed Oscillator Start-up                               Three Full, 29-Bit Acceptance Masks
Fail-Safe Clock Monitor (FSCM)                              Automatic Remote Frame Handling
Power-Saving Peripheral Module Disable (PMD)                Advanced Error Management Features
Ultra Low-Power Wake-up
Fast Wake-up, 1 s, Typical                                 Special Microcontroller Features:
Low-Power WDT, 300 nA, Typical
Run mode Currents Down to Very Low 3.8 A, Typical          Operating Voltage Range: 1.8V to 5.5V
Idle mode Currents Down to Very Low 880 nA, Typical         On-Chip 3.3V Regulator
Sleep mode Current Down to Very Low 13 nA, Typical          Operating Speed up to 64 MHz
                                                             Up to 64 Kbytes On-Chip Flash Program Memory:
ECAN Bus Module Features:
                                                                - 10,000 erase/write cycle, typical
Conforms to CAN 2.0B Active Specification                     - 20 years minimum retention, typical
Three Operating modes:                                     1,024 Bytes of Data EEPROM:
                                                                - 100,000 Erase/write cycle data EEPROM
   - Legacy mode (full backward compatibility with
      existing PIC18CXX8/FXX8 CAN modules)                         memory, typical
                                                             3.6 Kbytes of General Purpose Registers (SRAM)
   - Enhanced mode                                           Three Internal Oscillators: LF-INTOSC (31 KHz),
   - FIFO mode or programmable TX/RX buffers
Message Bit Rates up to 1 Mbps                                MF-INTOSC (500 kHz) and HF-INTOSC (16 MHz)
DeviceNetTM Data Byte Filter Support                        Self-Programmable under Software Control
Six Programmable Receive/Transmit Buffers                   Priority Levels for Interrupts
Three Dedicated Transmit Buffers with Prioritization       8 x 8 Single-Cycle Hardware Multiplier
Two Dedicated Receive Buffers                               Extended Watchdog Timer (WDT):

TABLE 1: DEVICE COMPARISON                                      - Programmable period from 4 ms to 4,194s
                                                             In-Circuit Serial ProgrammingTM (ICSPTM) via Two Pins
                                                             In-Circuit Debug via Two Pins
                                                             Programmable BOR
                                                             Programmable LVD

Device  Program    Data               Data EE  Pins     I/O  CTMU
        Memory   Memory               (Bytes)                       12-Bit A/D
                 (Bytes)                                               Channels

                                                                              CCP/
                                                                                 ECCP
                                                                                       Timers
                                                                                           8-Bit/16-Bit
                                                                                                  EUSART
                                                                                                          Comparators
                                                                                                                  ECANTM
                                                                                                                         MSSP
                                                                                                                                 BORMV/LVD
                                                                                                                                          DSM

PIC18F25K80 32 Kbytes 3,648 1,024 28 24 1 8-ch 4/1 2/3 2 2 1 1 Yes No
PIC18LF25K80 32 Kbytes 3,648 1,024 28 24 1 8-ch 4/1 2/3 2 2 1 1 Yes No
PIC18F26K80 64 Kbytes 3,648 1,024 28 24 1 8-ch 4/1 2/3 2 2 1 1 Yes No
PIC18LF26K80 64 Kbytes 3,648 1,024 28 24 1 8-ch 4/1 2/3 2 2 1 1 Yes No
PIC18F45K80 32 Kbytes 3,648 1,024 40/44 35 1 11-ch 4/1 2/3 2 2 1 1 Yes No
PIC18LF45K80 32 Kbytes 3,648 1,024 40/44 35 1 11-ch 4/1 2/3 2 2 1 1 Yes No
PIC18F46K80 64 Kbytes 3,648 1,024 40/44 35 1 11-ch 4/1 2/3 2 2 1 1 Yes No
PIC18LF46K80 64 Kbytes 3,648 1,024 40/44 35 1 11-ch 4/1 2/3 2 2 1 1 Yes No
PIC18F65K80 32 Kbytes 3,648 1,024 64 54 1 11-ch 4/1 2/3 2 2 1 1 Yes Yes
PIC18LF65K80 32 Kbytes 3,648 1,024 64 54 1 11-ch 4/1 2/3 2 2 1 1 Yes Yes
PIC18F66K80 64 Kbytes 3,648 1,024 64 54 1 11-ch 4/1 2/3 2 2 1 1 Yes Yes
PIC18LF66K80 64 Kbytes 3,648 1,024 64 54 1 11-ch 4/1 2/3 2 2 1 1 Yes Yes

2010-2012 Microchip Technology Inc.                         DS39977F-page 1
PIC18F66K80 FAMILY

Peripheral Highlights:                               High-Current Sink/Source 25 mA/25 mA
                                                       (PORTB and PORTC)
Five CCP/ECCP modules:
   - Four Capture/Compare/PWM (CCP) modules          Up to Four External Interrupts
   - One Enhanced Capture/Compare/PWM                One Master Synchronous Serial Port
      (ECCP) module
                                                       (MSSP) module:
Five 8/16-Bit Timer/Counter modules:
   - Timer0: 8/16-bit timer/counter with 8-bit         - 3/4-wire SPI (supports all four SPI modes)
      programmable prescaler                           - I2CTM Master and Slave modes
   - Timer1, Timer3: 16-bit timer/counter
   - Timer2, Timer4: 8-bit timer/counter             Two Enhanced Addressable USART modules:
                                                       - LIN/J2602 support
Two Analog Comparators
Configurable Reference Clock Output                  - Auto-Baud Detect (ABD)
Charge Time Measurement Unit (CTMU):               12-Bit A/D Converter with up to 11 Channels:

   - Capacitance measurement                           - Auto-acquisition and Sleep operation
   - Time measurement with 1 ns typical resolution     - Differential Input mode of operation
   - Integrated voltage reference
                                                    Data Signal Modulator module:
                                                       - Select modulator and carrier sources from
                                                          various module outputs

                                                    Integrated Voltage Reference

DS39977F-page 2                                      2010-2012 Microchip Technology Inc.
                                             PIC18F66K80 FAMILY

Pin Diagrams
          28-Pin QFN(1)

                                             28 RA1/AN1
                                                 27 RA0/CVREF/AN0/ULPWU
                                                     26 MCLR/RE3
                                                          25 RB7/PGD/T3G/RX2/DT2/KBI3
                                                              24 RB6/PGC/TX2/CK2/KBI2
                                                                  23 RB5/T0CKI/T3CKI/CCP5/KBI1
                                                                       22 RB4/AN9/C2INA/ECCP1/P1A/CTPLS/KBI0

                         RA2/VREF-/AN2 1                                                                      21 RB3/CANRX/C2OUT/P1D/CTED2/INT3
                                                                                                              20 RB2/CANTX/C1OUT/P1C/CTED1/INT2
                         RA3/VREF+/AN3 2                                                                      19 RB1/AN8/C1INB/P1B/CTDIN/INT1
                                                                                                              18 RB0/AN10/C1INA/FLT0/INT0
                         VDDCORE/VCAP  3     PIC18F2XK80                                                      17 VDD
                                             PIC18LF2XK80                                                     16 VSS
RA5/AN4/C2INB/HLVDIN/T1CKI/SS/CTMUI 4                                                                         15 RC7/CANRX/RX1/DT1/CCP4

                                      VSS 5

                         OSC1/CLKIN/RA7 6

                         OSC2/CLKOUT/RA6 7

                                             RC0/SOSCO/SCLKI 8
                                                 RC1/SOSCI 9

                                                     RC2/T1G/CCP2 10
                                                          RC3/REFO/SCL/SCK 11

                                                              RC4/SDA/SDI 12
                                                                  RC5/SDO 13

                                                                       RC6/CANTX/TX1/CK1/CCP3 14

Note 1: For the QFN package, it is recommended that the bottom pad be connected to VSS.

2010-2012 Microchip Technology Inc.                                                                          DS39977F-page 3
PIC18F66K80 FAMILY

Pin Diagrams (Continued)
     28-Pin SSOP/SPDIP/SOIC

                 MCLR/RE3 1                  28 RB7/PGD/T3G/RX2/DT2/KBI3

                 RA0/CVREF/AN0/ULPWU 2       27 RB6/PGC/TX2/CK2/KBI2

                             RA1/AN1 3       26 RB5/T0CKI/T3CKI/CCP5/KBI1

                 RA2/VREF-/AN2 4             25 RB4/AN9/C2INA/ECCP1/P1A/CTPLS/KBI0

                 RA3/VREF+/AN3 5             24 RB3/CANRX/C2OUT/P1D/CTED2/INT3

                 VDDCORE/VCAP 6              23 RB2/CANTX/C1OUT/P1C/CTED1/INT2

RA5/AN4/C2INB/HLVDIN/T1CKI/SS/CTMUI 7        PIC18F2XK80 22 RB1/AN8/C1INB/P1B/CTDIN/INT1

                             VSS 8           PIC18LF2XK80 21 RB0/AN10/C1INA/FLT0/INT0

                 OSC1/CLKIN/RA7 9            20 VDD

                 OSC2/CLKOUT/RA6 10          19 VSS

                 RC0/SOSCO/SCLKI 11          18 RC7/CANRX/RX1/DT1/CCP4

                 RC1/ISOSCI 12               17 RC6/CANTX/TX1/CK1/CCP3

                 RC2/T1G/CCP2 13             16 RC5/SDO

                 RC3/REFO/SCL/SCK 14         15 RC4/SDA/SDI

40-Pin PDIP

                                 MCLR/RE3 1  40 RB7/PGD/T3G/KBI3
                 RA0/CVREF/AN0/ULPWU 2       39 RB6/PGC/KBI2
                                             38 RB5/T0CKI/T3CKI/CCP5/KBI1
                           RA1/AN1/C1INC 3   37 RB4/AN9/CTPLS/KBI0
                   RA2/VREF-/AN2/C2INC 4
                                             36 RB3/CANRX/CTED2/INT3
                           RA3/VREF+/AN3 5

                 VDDCORE/VCAP  6             35 RB2/CANTX/CTED1/INT2

                 RA5/AN4/HLVDIN/T1CKI/SS 7   34 RB1/AN8/CTDIN/INT1

                 RE0/AN5/RD 8                33 RB0/AN10/FLT0/INT0

                 RE1/AN6/C1OUT/WR 9          32 VDD

                 RE2/AN7/C2OUT/CS 10 PIC18F4XK80 31 VSS

                             VDD 11 PIC18LF4XK80 30 RD7/RX2/DT2/P1D/PSP7

                             VSS 12          29 RD6/TX2/CK2/P1C/PSP6

                 OSC1/CLKIN/RA7 13           28 RD5/P1B/PSP5

                 OSC2/CLKOUT/RA6 14          27 RD4/ECCP1/P1A/PSP4
                 RC0/SOSCO/SCLKI 15          26 RC7/CANRX/RX1/DT1/CCP4
                                             25 RC6/CANTX/TX1/CK1/CCP3
                           RC1/SOSCI 16

                       RC2/T1G/CCP2 17       24 RC5/SDO
                 RC3/REFO/SCL/SCK 18         23 RC4/SDA/SDI

                 RD0/C1INA/PSP0 19           22 RD3/C2INB/CTMUI/PSP3

                 RD1/C1INB/PSP1 20           21 RD2/C2INA/PSP2

DS39977F-page 4                                           2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

Pin Diagrams (Continued)
     44-Pin TQFP

                                      44 RC6/CANTX/TX1/CK1/CCP3
                                          43 RC5/SDO
                                               42 RC4/SDA/SDI
                                                   41 RD3/C2INB/CTMUI/PSP3
                                                       40 RD2/C2INA/PSP2
                                                           39 RD1/C1INB/PSP1
                                                                38 RD0/C1INA/PSP0
                                                                     37 RC3/REFO/SCL/SCK
                                                                         36 RC2/T1G/CCP2
                                                                             35 RC1/SOSCI
                                                                                  34 N/C

RC7/CANRX/RX1/DT1/CCP4 1              PIC18F4XK80                                                  33 N/C
      RD4/ECCP1/P1A/PSP4 2            PIC18LF4XK80                                                 32 RC0/SOSCO/SCLKI
                RD5/P1B/PSP5 3
                                                                                                   31 OSC2/CLKOUT/RA6
    RD6/TX2/CK2/P1C/PSP6 4                                                                         30 OSC1/CLKIN/RA7
    RD7/RX2/DT2/P1D/PSP7 5                                                                         29 VSS
                                                                                                   28 VDD
                              VSS 6                                                                27 RE2/AN7/C2OUT/CS
                              VDD 7
                                                                                                   26 RE1/AN6/C1OUT/WR
         RB0/AN10/FLT0/INT0 8                                                                      25 RE0/AN5/RD
        RB1/AN8/CTDIN/INT1 9                                                                       24 RA5/AN4/HLVDIN/T1CKI/SS
   RB2/CANTX/CTED1/INT2 10                                                                         23 VDDCORE/VCAP
   RB3/CANRX/CTED2/INT3 11
                                      N/C 12
                                          N/C 13
                                               RB4/AN9/CTPLS/KBI0 14
                                                   RB5/T0CKI/T3CKI/CCP5/KBI1 15
                                                       RB6/PGC/KBI2 16
                                                            RB7/PGD/T3G/KBI3 17
                                                                 MCLR/RE3 18
                                                                     RA0/CVREF/AN0/ULPWU 19
                                                                         RA1/AN1/C1INC 20
                                                                             RA2/VREF-/AN2/C2INC 21
                                                                                  RA3/VREF+/AN3 22

2010-2012 Microchip Technology Inc.                                                                 DS39977F-page 5
PIC18F66K80 FAMILY

Pin Diagrams (Continued)
     44-Pin QFN(1)

                 44 RC6/CANTX/TX1/CK1/CCP3
                     43 RC5/SDO
                          42 RC4/SDA/SDI
                              41 RD3/C2INB/CTMUI/PSP3
                                  40 RD2/C2INA/PSP2
                                      39 RD1/C1INB/PSP1
                                           38 RD0/C1INA/PSP0
                                                37 RC3/REFO/SCL/SCK
                                                    36 RC2/T1G/CCP2
                                                        35 RC1/SOSCI
                                                             34 N/C

RC7/CANRX/RX1/DT1/CCP4 1             PIC18F4XK80                                                33 N/C
      RD4/ECCP1/P1A/PSP4 2           PIC18LF4XK80                                               32 RC0/SOSCO/SCLKI
                RD5/P1B/PSP5 3
                                   N/C 12                                                       31 OSC2/CLKOUT/RA6
    RD6/TX2/CK2/P1C/PSP6 4             N/C 13                                                   30 OSC1/CLKIN/RA7
    RD7/RX2/DT2/P1D/PSP7 5                 RB4/AN9/CTPLS/KBI0 14                                29 VSS
                                                RB5/T0CKI/T3CKI/CCP5/KBI1 15                    28 VDD
                              VSS 6                 RB6/PGC/KBI2 16                             27 RE2/AN7/C2OUT/CS
                              VDD 7                     RB7/PGD/T3G/KBI3 17
                                                             MCLR/RE3 18                        26 RE1/AN6/C1OUT/WR
         RB0/AN10/FLT0/INT0 8                                    RA0/CVREF/AN0/ULPWU 19         25 RE0/AN5/RD
        RB1/AN8/CTDIN/INT1 9                                          RA1/AN1/C1INC 20          24 RA5/AN4/HLVDIN/T1CKI/SS
    RB2/CANTX/CTED1/INT2 10                                               RA2/VREF-/AN2/C2INC 2123 VDDCORE/VCAP
   RB3/CANRX/CTED2/INT3 11                                                     RA3/VREF+/AN3 22

Note 1: For the QFN package, it is recommended that the bottom pad be connected to VSS.

DS39977F-page 6                                                                                    2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

Pin Diagrams (Continued)
         64-Pin QFN(1)/TQFP

                             64 RC6/CCP3
                                 63 RC5/SDO
                                      62 RC4/SDA/SDI
                                          61 RE7/TX2/CK2
                                              60 RE6/RX2/DT2
                                                   59 RD3/C2INB/CTMUI/PSP3
                                                       58 RD2/C2INA/PSP2
                                                           57 VDD
                                                               56 VSS
                                                                    55 RD1/C1INB/PSP1
                                                                        54 RD0/C1INA/PSP0
                                                                            53 RF7
                                                                                 52 RF6/MDOUT
                                                                                     51 RC3/REFO/SCL/SCK
                                                                                         50 RC2/T1G/CCP2
                                                                                             49 RC1/SOSCI

                 RC7/CCP4 1           PIC18F6XK80   48 RC0/SOSCO/SCLKI
  RD4/ECCP1/P1A/PSP4 2                PIC18LF6XK80  47 OSC2/CLKOUT/RA6

            RD5/P1B/PSP5 3                          46 OSC1/CLKIN/RA7
                                                    45 RF5
            RD6/P1C/PSP6 4                          44 RF4/MDCIN2
                                                    43 VSS
            RD7/P1D/PSP7 5                          42 AVSS
             RG0/RX1/DT1 6
              RG1/CANTX2 7                          41 VDD
                          VSS 8                     40 AVDD
                        AVDD 9                      39 RE2/AN7/C2OUT/CS
                          VDD 10                    38 RE1/AN6/C1OUT/WR
                 RG2/T3CKI 11                       37 RE0/AN5/RD
             RG3/TX1/CK1 12
                                                    36 RF3
     RB0/AN10/FLT0/INT0 13                          35 RF2/MDCIN1
    RB1/AN8/CTDIN/INT1 14                           34 RA5/AN4/HLVDIN/T1CKI/SS
RB2/CANTX/CTED1/INT2 15                             33 VDDCORE/VCAP
RB3/CANRX/CTED2/INT3 16

                                      RF0/MDMIN 17
                                          RG4/T0CKI 18

                                              RF1 19
                                                  RB4/AN9/CTPLS/KBI0 20
                                                       RB5/T0CKI/T3CKI/CCP5/KBI1 21

                                                           RB6/PGC/KBI2 22
                                                               RB7/PGD/T3G/KBI3 23

                                                                   RE5/CANTX 24
                                                                        VDD 25
                                                                            VSS 26

                                                                                RE4/CANRX 27
                                                                                    MCLR/RE3 28

                                                                                        RA0/CVREF/AN0/ULPWU 29
                                                                                             RA1/AN1/C1INC 30

                                                                                                 RA2/VREF-/AN2/C2INC 31
                                                                                                     RA3/VREF+/AN3 32

Note 1: For the QFN package, it is recommended that the bottom pad be connected to VSS.

2010-2012 Microchip Technology Inc.                                                                                     DS39977F-page 7
PIC18F66K80 FAMILY

Table of Contents

1.0 Device Overview ........................................................................................................................................................................ 11
2.0 Guidelines for Getting Started with PIC18FXXKXX Microcontrollers ......................................................................................... 45
3.0 Oscillator Configurations ............................................................................................................................................................ 51
4.0 Power-Managed Modes ............................................................................................................................................................. 65
5.0 Reset .......................................................................................................................................................................................... 79
6.0 Memory Organization ............................................................................................................................................................... 101
7.0 Flash Program Memory ............................................................................................................................................................ 129
8.0 Data EEPROM Memory ........................................................................................................................................................... 139
9.0 8 x 8 Hardware Multiplier.......................................................................................................................................................... 145
10.0 Interrupts .................................................................................................................................................................................. 147
11.0 I/O Ports ................................................................................................................................................................................... 171
12.0 Data Signal Modulator .............................................................................................................................................................. 195
13.0 Timer0 Module ......................................................................................................................................................................... 205
14.0 Timer1 Module ......................................................................................................................................................................... 209
15.0 Timer2 Module ......................................................................................................................................................................... 221
16.0 Timer3 Module ......................................................................................................................................................................... 223
17.0 Timer4 Modules........................................................................................................................................................................ 233
18.0 Charge Time Measurement Unit (CTMU) ................................................................................................................................ 235
19.0 Capture/Compare/PWM (CCP) Modules ................................................................................................................................. 253
20.0 Enhanced Capture/Compare/PWM (ECCP) Module................................................................................................................ 265
21.0 Master Synchronous Serial Port (MSSP) Module .................................................................................................................... 287
22.0 Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART) ............................................................... 333
23.0 12-Bit Analog-to-Digital Converter (A/D) Module ..................................................................................................................... 357
24.0 Comparator Module.................................................................................................................................................................. 373
25.0 Comparator Voltage Reference Module ................................................................................................................................... 381
26.0 High/Low-Voltage Detect (HLVD)............................................................................................................................................. 385
27.0 ECAN Module........................................................................................................................................................................... 391
28.0 Special Features of the CPU .................................................................................................................................................... 457
29.0 Instruction Set Summary .......................................................................................................................................................... 483
30.0 Development Support............................................................................................................................................................... 533
31.0 Electrical Characteristics .......................................................................................................................................................... 537
32.0 Packaging Information.............................................................................................................................................................. 581
Appendix A: Revision History............................................................................................................................................................. 601
Appendix B: Migration to PIC18F66K80 Family................................................................................................................................. 602
Index ................................................................................................................................................................................................. 605
The Microchip Web Site ..................................................................................................................................................................... 619
Customer Change Notification Service .............................................................................................................................................. 619
Customer Support .............................................................................................................................................................................. 619
Reader Response .............................................................................................................................................................................. 620
Product Identification System............................................................................................................................................................. 621

DS39977F-page 8   2010-2012 Microchip Technology Inc.
                                PIC18F66K80 FAMILY

                                   TO OUR VALUED CUSTOMERS

It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip
products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and
enhanced as new volumes and updates are introduced.
If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via
E-mail at docerrors@microchip.com or fax the Reader Response Form in the back of this data sheet to (480) 792-4150. We
welcome your feedback.

Most Current Data Sheet

To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at:
      http://www.microchip.com

You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.
The last character of the literature number is the version number, (e.g., DS30000A is version A of document DS30000).

Errata

An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current
devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision
of silicon and revision of document to which it applies.
To determine if an errata sheet exists for a particular device, please check with one of the following:
Microchip's Worldwide Web site; http://www.microchip.com
Your local Microchip sales office (see last page)
When contacting a sales office, please specify which device, revision of silicon and data sheet (include literature number) you are
using.

Customer Notification System

Register on our web site at www.microchip.com to receive the most current information on all of our products.

2010-2012 Microchip Technology Inc.  DS39977F-page 9
PIC18F66K80 FAMILY

NOTES:

DS39977F-page 10     2010-2012 Microchip Technology Inc.
                                                         PIC18F66K80 FAMILY

1.0 DEVICE OVERVIEW                                       A Phase Lock Loop (PLL) frequency multiplier,
                                                            available to the external oscillator modes which
This document contains device-specific information for      allows clock speeds of up to 64 MHz. PLL can
the following devices:                                      also be used with the internal oscillator.

PIC18F25K80   PIC18LF25K80                            An internal oscillator block that provides a 16 MHz
PIC18F26K80   PIC18LF26K80                               clock (2% accuracy) and an INTOSC source
PIC18F45K80   PIC18LF45K80                               (approximately 31 kHz, stable over temperature
PIC18F46K80   PIC18LF46K80                               and VDD)
PIC18F65K80   PIC18LF65K80
PIC18F66K80   PIC18LF66K80                               - Operates as HF-INTOSC or MF-INTOSC
                                                               when block is selected for 16 MHz or
This family combines the traditional advantages of all         500 kHz
PIC18 microcontrollers namely, high computational
performance and a rich feature set with an extremely      - Frees the two oscillator pins for use as
competitive price point. These features make the               additional general purpose I/O
PIC18F66K80 family a logical choice for many
high-performance applications where price is a primary   The internal oscillator block provides a stable reference
consideration.                                           source that gives the family additional features for
                                                         robust operation:
1.1 Core Features
                                                          Fail-Safe Clock Monitor: This option constantly
1.1.1 nanoWatt TECHNOLOGY                                   monitors the main clock source against a reference
                                                            signal provided by the internal oscillator. If a clock
All of the devices in the PIC18F66K80 family incorpo-       failure occurs, the controller is switched to the
rate a range of features that can significantly reduce      internal oscillator, allowing for continued low-speed
power consumption during operation. Key items include:      operation or a safe application shutdown.

Alternate Run Modes: By clocking the controller         Two-Speed Start-up: This option allows the
   from the Timer1 source or the Internal RC oscilla-       internal oscillator to serve as the clock source
   tor, power consumption during code execution             from Power-on Reset, or wake-up from Sleep
   can be reduced.                                          mode, until the primary clock source is available.

Multiple Idle Modes: The controller can also run       1.1.3 MEMORY OPTIONS
   with its CPU core disabled but the peripherals still
   active. In these states, power consumption can be     The PIC18F66K80 family provides ample room for
   reduced even further.                                 application code, from 32 Kbytes to 64 Kbytes of code
                                                         space. The Flash cells for program memory are rated
On-the-Fly Mode Switching: The power-managed           to last up to 10,000 erase/write cycles. Data retention
   modes are invoked by user code during operation,      without refresh is conservatively estimated to be
   allowing the user to incorporate power-saving ideas   greater than 20 years.
   into their application's software design.
                                                         The Flash program memory is readable and writable.
nanoWatt XLP: An extra low-power BOR and               During normal operation, the PIC18F66K80 family also
   low-power Watchdog timer                              provides plenty of room for dynamic application data
                                                         with up to 3.6 Kbytes of data RAM.
1.1.2  OSCILLATOR OPTIONS AND
       FEATURES                                          1.1.4 EXTENDED INSTRUCTION SET

All of the devices in the PIC18F66K80 family offer       The PIC18F66K80 family implements the optional
different oscillator options, allowing users a range of  extension to the PIC18 instruction set, adding eight
choices in developing application hardware. These        new instructions and an Indexed Addressing mode.
include:                                                 Enabled as a device configuration option, the extension
                                                         has been specifically designed to optimize re-entrant
External Resistor/Capacitor (RC); RA6 available        application code originally developed in high-level
External Resistor/Capacitor with Clock Out (RCIO)      languages, such as `C'.
Three External Clock modes:

   - External Clock (EC); RA6 available
   - External Clock with Clock Out (ECIO)
   - External Crystal (XT, HS, LP)

2010-2012 Microchip Technology Inc.                     DS39977F-page 11
PIC18F66K80 FAMILY

1.1.5 EASY MIGRATION                                       Charge Time Measurement Unit (CTMU): The
                                                             CTMU is a flexible analog module that provides
Regardless of the memory size, all devices share the         accurate differential time measurement between
same rich set of peripherals, allowing for a smooth          pulse sources, as well as asynchronous pulse
migration path as applications grow and evolve.              generation.

The consistent pinout scheme used throughout the             Together with other on-chip analog modules, the
entire family also aids in migrating to the next larger      CTMU can precisely measure time, measure
device. This is true when moving between the 28-pin,         capacitance or relative changes in capacitance, or
40-pin, 44-pin and 64-pin members, or even jumping           generate output pulses that are independent of the
from smaller to larger memory devices.                       system clock.

The PIC18F66K80 family is also largely pin compatible      LP Watchdog Timer (WDT): This enhanced
with other PIC18 families, such as the PIC18F4580,           version incorporates a 22-bit prescaler, allowing
PIC18F4680 and PIC18F8680 families of microcon-              an extended time-out range that is stable across
trollers with an ECAN module. This allows a new              operating voltage and temperature. See
dimension to the evolution of applications, allowing         Section 31.0 "Electrical Characteristics" for
developers to select different price points within           time-out periods.
Microchip's PIC18 portfolio, while maintaining a similar
feature set.                                              1.3 Details on Individual Family
                                                                   Members
1.2 Other Special Features
                                                          Devices in the PIC18F66K80 family are available in
Communications: The PIC18F66K80 family incor-           28-pin, 40/44-pin and 64-pin packages. Block diagrams
   porates a range of serial communication peripherals,   for each package are shown in Figure 1-1, Figure 1-2
   including two Enhanced USARTs that support             and Figure 1-3, respectively.
   LIN/J2602, one Master SSP module capable of both
   SPI and I2CTM (Master and Slave) modes of              The devices are differentiated from each other in these
   operation and an Enhanced CAN module.                  ways:

CCP Modules: PIC18F66K80 family devices                  Flash Program Memory:
   incorporate four Capture/Compare/PWM (CCP)                - PIC18FX5K80 (PIC18F25K80, PIC18F45K80
   modules. Up to four different time bases can be              and PIC18F45K80) 32 Kbytes
   used to perform several different operations at           - PIC18FX6K80 (PIC18F26K80, PIC18F46K80
   once.                                                        and PIC18F66K80) 64 Kbytes

ECCP Modules: The PIC18F66K80 family has                I/O Ports:
   one Enhanced CCP (ECCP) module to maximize                - PIC18F2XK80 (28-pin devices)
   flexibility in control applications:                         Three bidirectional ports
                                                             - PIC18F4XK80 (40/44-pin devices)
   - Up to four different time bases for performing             Five bidirectional ports
      several different operations at once                   - PIC18F6XK80 (64-pin devices)
                                                                Seven bidirectional ports
   - Up to four PWM outputs
                                                          All other features for devices in this family are identical.
   - Other beneficial features, such as polarity          These are summarized in Table 1-1, Table 1-2 and
      selection, programmable dead time,                  Table 1-3.
      auto-shutdown and restart, and Half-Bridge
      and Full-Bridge Output modes                        The pinouts for all devices are listed in Table 1-4,
                                                          Table 1-5 and Table 1-6.
12-Bit A/D Converter: The PIC18F66K80 family
   has a differential A/D. It incorporates
   programmable acquisition time, allowing for a
   channel to be selected and a conversion to be
   initiated without waiting for a sampling period, and
   thus, reducing code overhead.

DS39977F-page 12                                           2010-2012 Microchip Technology Inc.
                                              PIC18F66K80 FAMILY

TABLE 1-1: DEVICE FEATURES FOR THE PIC18F2XK80 (28-PIN DEVICES)

Features                              PIC18F25K80                             PIC18F26K80

Operating Frequency                    32K                DC 64 MHz          64K
Program Memory (Bytes)                16,384                                  32,768
Program Memory (Instructions)                                   3.6K
Data Memory (Bytes)                                               31
Interrupt Sources                                          Ports A, B, C
I/O Ports                                          Parallel Slave Port (PSP)
Parallel Communications                                          Five
Timers                                                           Two
Comparators                                                      Yes
CTMU                                                            Four
Capture/Compare/PWM (CCP)
Modules                                                                        One
Enhanced CCP (ECCP) Modules                     One MSSP and Two Enhanced USARTs (EUSART)
Serial Communications
12-Bit Analog-to-Digital Module                                     Eight Input Channels
Resets (and Delays)
                                      POR, BOR, RESET Instruction, Stack Full, Stack Underflow, MCLR,
Instruction Set                                                      WDT (PWRT, OST)
Packages
                                            75 Instructions, 83 with Extended Instruction Set Enabled
                                                       28-Pin QFN-S, SOIC, SPDIP and SSOP

TABLE 1-2: DEVICE FEATURES FOR THE PIC18F4XK80 (40/44-PIN DEVICES)

Features                              PIC18F45K80                             PIC18F46K80

Operating Frequency                    32K                DC 64 MHz          64K
Program Memory (Bytes)                16,384                                  32,768
Program Memory (Instructions)                                   3.6K
Data Memory (Bytes)                                               32
Interrupt Sources                                      Ports A, B, C, D, E
I/O Ports                                          Parallel Slave Port (PSP)
Parallel Communications                                          Five
Timers                                                           Two
Comparators                                                      Yes
CTMU                                                            Four
Capture/Compare/PWM (CCP)
Modules                                                                        One
Enhanced CCP (ECCP) Modules                     One MSSP and Two Enhanced USARTs (EUSART)
Serial Communications
12-Bit Analog-to-Digital Module                                    Eleven Input Channels
Resets (and Delays)
                                      POR, BOR, RESET Instruction, Stack Full, Stack Underflow, MCLR,
Instruction Set                                                      WDT (PWRT, OST)
Packages
                                            75 Instructions, 83 with Extended Instruction Set Enabled
                                                       40-Pin PDIP and 44-Pin QFN and TQFP

2010-2012 Microchip Technology Inc.                                          DS39977F-page 13
PIC18F66K80 FAMILY

TABLE 1-3: DEVICE FEATURES FOR THE PIC18F6XK80 (64-PIN DEVICES)

Features                         PIC18F65K80                             PIC18F66K80

Operating Frequency               32K                DC 64 MHz          64K
Program Memory (Bytes)           16,384                                  32,768
Program Memory (Instructions)                              3.6K
Data Memory (Bytes)                                          32
Interrupt Sources                             Ports A, B, C, D, E, F, G
I/O Ports                                     Parallel Slave Port (PSP)
Parallel Communications                                     Five
Timers                                                      Two
Comparators                                                 Yes
CTMU                                                       Four
Capture/Compare/PWM (CCP)
Modules                                       One
Enhanced CCP (ECCP) Modules
DSM                              Yes                                     Yes
Serial Communications
12-Bit Analog-to-Digital Module  One MSSP and Two Enhanced USARTs (EUSART)
Resets (and Delays)
                                              Eleven Input Channels
Instruction Set
Packages                         POR, BOR, RESET Instruction, Stack Full, Stack Underflow, MCLR,
                                                                WDT (PWRT, OST)

                                 75 Instructions, 83 with Extended Instruction Set Enabled

                                              64-Pin QFN and TQFP

DS39977F-page 14                                    2010-2012 Microchip Technology Inc.
                                                                PIC18F66K80 FAMILY

FIGURE 1-1:  PIC18F2XK80 (28-PIN) BLOCK DIAGRAM

             Table Pointer<21>                                 Data Bus<8>
                inc/dec logic
                       21                                   88                              Data Latch                 PORTA
                                     20                                                                               RA<3:0>
                                             PCLATU PCLATH                                Data Memory               RA<7:5>(1,2)
               Address Latch                                                               (2/4 Kbytes)
              Program Memory                PCU PCH PCL                                                                PORTB
                                             Program Counter                              Address Latch             RB<7:0>(1)
                 Data Latch
                                     8        31-Level Stack                                        12                 PORTC
                                                  STKPTR                              Data Address<12>              RC<7:0>(1)

                                         Table Latch                               4           12          4           PORTE
                                                                                BSR                   Access           RE3(1,3)
                                                                                          FSR0         Bank
                                                                                          FSR1
                                                                                          FSR2               12

                                                                                          inc/dec
                                                                                          logic

                                                    ROM Latch                             Address
             Instruction Bus<16>                                                          Decode

                                                    IR

                                          Instruction          State Machine                                 8
                                         Decode and            Control Signals            PRODH PRODL

                                            Control

OSC2/CLKO       Timing                      Power-up                                 3    8 x 8 Multiply
OSC1/CLKI    Generation                       Timer                                                             8
                                                                                BITOP
              INTOSC                        Oscillator                                 8     W                   8
              Oscillator                 Start-up Timer
               16 MHz                                                                              8
              Oscillator                    Power-on
                                              Reset                                       8                      8

             Precision                     Watchdog                                       ALU<8>
             Band Gap                         Timer
             Reference                                                                                8
                                            BOR and
              Voltage                          LVD
             Regulator

             VDDCORE/VCAP VDD, VSS       MCLR

Timer0       Timer1       Timer 2/4      Timer 3               CTMU              A/D               Comparator
                                                                                12-Bit                  1/2

CCP2/3/4/5 ECCP1 EUSART1 EUSART2 MSSP                                ECAN

Note 1:      See Table 1-4 for I/O port pin descriptions.
         2:
             RA6 and RA7 are only available as digital I/O in select oscillator modes. For more information, see Section 3.0 "Oscillator
         3:  Configurations".

             RE3 is only available when the MCLRE Configuration bit is cleared (MCLRE = 0).

2010-2012 Microchip Technology Inc.                                                                                DS39977F-page 15
PIC18F66K80 FAMILY

FIGURE 1-2:       PIC18F4XK80 (40/44-PIN) BLOCK DIAGRAM

                  Table Pointer<21>                                 Data Bus<8>
                     inc/dec logic
                           21                                   88                              Data Latch                  PORTA
                                         20                                                                                RA<3:0>
                                                  PCLATU PCLATH                               Data Memory                RA<7:5>(1,2)
                   Address Latch                                                               (2/4 Kbytes)
                  Program Memory                 PCU PCH PCL                                                                PORTB
                                                 Program Counter                              Address Latch               RB<7:0>(1)
                      Data Latch
                                         8         31-Level Stack                                        12                 PORTC
                                                       STKPTR                               Data Address<12>              RC7:0>(1)

                                             Table Latch                                 4         12          4            PORTD
                                                                                     BSR                  Access         RD<7:0>(1)
                                                                                              FSR0         Bank
                                                                                              FSR1                          PORTE
                                                                                              FSR2               12      RE<3:0>(1,3)

                                                                                              inc/dec
                                                                                              logic

                                                         ROM Latch                            Address
                  Instruction Bus<16>                                                         Decode

                                                        IR

                                              Instruction           State Machine                                8
                                             Decode and             Control Signals           PRODH PRODL

                                                Control

OSC2/CLKO            Timing                     Power-up                                  3   8 x 8 Multiply
OSC1/CLKI         Generation                      Timer                                                             8
                                                                                     BITOP
                   INTOSC                       Oscillator                                 8     W                   8
                   Oscillator                Start-up Timer
                    16 MHz                                                                             8
                   Oscillator                   Power-on
                                                  Reset                                       8                      8

                  Precision                    Watchdog                                       ALU<8>
                  Band Gap                        Timer
                  Reference                                                                               8
                                                BOR and
                   Voltage                         LVD
                  Regulator

                  VDDCORE/VCAP VDD, VSS      MCLR

Timer0            Timer1       Timer2/4                             Timer3  CTMU               A/D           Comparator
                                                                                              12-Bit              1/2

CCP              ECCP1 EUSART1 EUSART2 MSSP                                         ECAN        PSP
2/3/4/5

Note 1:      See Table 1-5 for I/O port pin descriptions.
         2:
             RA6 and RA7 are only available as digital I/O in select oscillator modes. For more information, see Section 3.0 "Oscillator
         3:  Configurations".

             RE3 is only available when the MCLRE Configuration bit is cleared (MCLRE = 0).

DS39977F-page 16                                                                                           2010-2012 Microchip Technology Inc.
                                                                       PIC18F66K80 FAMILY

FIGURE 1-3:  PIC18F6XK80 (64-PIN) BLOCK DIAGRAM

             Table Pointer<21>                                 Data Bus<8>
                inc/dec logic
                       21                                   88                              Data Latch                     PORTA
                                     20                                                   Data Memory                    RA<3:0>
                                             PCLATU PCLATH                                 (2/4 Kbytes)                 RA<7:5>(1,2)
               Address Latch
              Program Memory                PCU PCH PCL                                   Address Latch                    PORTB
                                             Program Counter                                                             RB<7:0>(1)
                 Data Latch                                                                         12
                                     8         31-Level Stack                          Data Address<12>                    PORTC
                                                   STKPTR                                                               RC<7:0>(1)
                                                                                    4         12          4
                                         Table Latch                            BSR                  Access                PORTD
                                                                                         FSR0         Bank              RD<7:0>(1)
                                                                                         FSR1
                                                                                         FSR2               12             PORTE
                                                                                                                        RE<7:0>(1,3)
                                                                                         inc/dec
                                                                                         logic                             PORTF
                                                                                                                         RF<7:0>(1)
                                                    ROM Latch                            Address
             Instruction Bus<16>                                                         Decode                            PORTG
                                                                                                                        RG<4:0>(1)
                                                    IR

                                          Instruction          State Machine                                8
                                         Decode and            Control Signals           PRODH PRODL

                                            Control

OSC2/CLKO       Timing                      Power-up                                 3   8 x 8 Multiply
OSC1/CLKI    Generation                       Timer                                                            8
                                                                                BITOP
              INTOSC                        Oscillator                                8     W                   8
              Oscillator                 Start-up Timer
               16 MHz                                                                             8
              Oscillator                    Power-on
                                              Reset                                      8                      8

             Precision                     Watchdog                                      ALU<8>
             Band Gap                         Timer
             Reference                                                                               8
                                            BOR and
              Voltage                          LVD
             Regulator

             VDDCORE/VCAP VDD, VSS       MCLR

Timer0       Timer1       Timer2/4                             Timer3  CTMU               A/D           Comparator
                                                                                         12-Bit              1/2

CCP2/3/4/5   ECCP1 EUSART1 EUSART2 MSSP                                         ECAN        PSP                    DSM

Note 1: See Table 1-6 for I/O port pin descriptions.

         2: RA6 and RA7 are only available as digital I/O in select oscillator modes. For more information, see Section 3.0 "Oscillator
                Configurations".

         3: RE3 is only available when the MCLRE Configuration bit is cleared (MCLRE = 0).

2010-2012 Microchip Technology Inc.                                                                                    DS39977F-page 17
PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS

Pin Name                   Pin Number                               Description

                                   SSOP/ Pin Buffer
                           QFN SPDIP Type Type

                                    /SOIC

MCLR/RE3                   26  1

MCLR                               I  ST Master Clear (input) or programming voltage (input). This

                                                     pin is an active-low Reset to the device.

RE3                                I  ST General purpose, input only pin.

OSC1/CLKIN/RA7             6   9

OSC1                               I  ST Oscillator crystal input.

CLKIN                              I CMOS External clock source input. Always associated with pin
                                                    function, OSC1. (See related OSC1/CLKI, OSC2/CLKO
                                                    pins.)

RA7                                I/O ST/ General purpose I/O pin.

                                      CMOS

OSC2/CLKOUT/RA6            7   10

OSC2                               O  -- Oscillator crystal output.

                                                     Connects to crystal or resonator in Crystal Oscillator mode.

CLKOUT                             O  -- In certain oscillator modes, OSC2 pin outputs CLKO, which

                                                     has 1/4 the frequency of OSC1 and denotes the instruction

                                                     cycle rate.

    RA6                            I/O ST/ General purpose I/O pin.
Legend:
                                      CMOS

         CMOS = CMOS compatible input or output       I2CTM = I2C/SMBus input buffer

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I        = Input                             O           = Output

         P        = Power

DS39977F-page 18                                                     2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS (CONTINUED)

    Pin Name             Pin Number                                      Description

                                 SSOP/ Pin Buffer
                         QFN SPDIP Type Type

                                  /SOIC

                                                   PORTA is a bidirectional I/O port.

RA0/CVREF/AN0/ULPWU 27                2

RA0                                      I/O ST/ General purpose I/O pin.

                                            CMOS

CVREF                                    O Analog Comparator reference voltage output.

AN0                                      I Analog Analog Input 0.

ULPWU                                    I Analog Ultra Low-Power Wake-up input.

RA1/AN1                  28           3

RA1                                      I/O ST/ Digital I/O.

                                            CMOS

AN1                                      I Analog Analog Input 1.

RA2/VREF-/AN2            1            4

RA2                                      I/O ST/ Digital I/O.

                                            CMOS

VREF-                                    I Analog A/D reference voltage (low) input.

AN2                                      I Analog Analog Input 2.

RA3/VREF+/AN3            2            5

RA3                                      I/O ST/ Digital I/O.

                                            CMOS

VREF+                                    I Analog A/D reference voltage (high) input.

AN3                                      I Analog Analog Input 3.

RA5/AN4/C2INB/HLVDIN/ 4               7

T1CKI/SS/CTMUI

RA5                                      I/O ST/ Digital I/O.

                                            CMOS

AN4                                      I Analog Analog Input 4.

C2INB                                    I Analog Comparator 2 Input B.

HLVDIN                                   I Analog High/Low-Voltage Detect input.

T1CKI                                    I  ST Timer1 clock input.

SS                                       I  ST SPI slave select input.

CTMUI                                              CTMU pulse generator charger for the C2INB.

Legend: CMOS = CMOS compatible input or output        I2CTM = I2C/SMBus input buffer

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I      = Input                               O            = Output

         P      = Power

2010-2012 Microchip Technology Inc.                                                    DS39977F-page 19
PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS (CONTINUED)

Pin Name                   Pin Number                             Description

                                   SSOP/ Pin Buffer
                           QFN SPDIP Type Type

                                    /SOIC

                                                     PORTB is a bidirectional I/O port.

RB0/AN10/C1INA/FLT0/ 18 21
INT0

RB0                               I/O ST/ Digital I/O.

                                     CMOS

AN10                              I Analog Analog Input 10.

C1INA                             I Analog Comparator 1 Input A.

FLT0                              I  ST Enhanced PWM Fault input for ECCP1.

INT0                              I  ST External Interrupt 0.

RB1/AN8/C1INB/P1B/         19 22
CTDIN/INT1

RB1                               I/O ST/ Digital I/O.

                                     CMOS

AN8                               I Analog Analog Input 8.

C1INB                             I Analog Comparator 1 Input B.

P1B                               O CMOS Enhanced PWM1 Output B.

CTDIN                             I  ST CTMU pulse delay input.

INT1                              I  ST External Interrupt 1.

RB2/CANTX/C1OUT/           20 23
P1C/CTED1/INT2

RB2                               I/O ST/ Digital I/O.

                                     CMOS

CANTX                             O CMOS CAN bus TX.

C1OUT                             O CMOS Comparator 1 output.

P1C                               O CMOS Enhanced PWM1 Output C.

CTED1                             I  ST CTMU Edge 1 input.

INT2                              I  ST External Interrupt 2.

RB3/CANRX/C2OUT/           21 24
P1D/CTED2/INT3

RB3                               I/O ST/ Digital I/O.

                                     CMOS

CANRX                             I  ST CAN bus RX.

C2OUT                             O CMOS Comparator 2 output.

P1D                               O CMOS Enhanced PWM1 Output D.

CTED2                             I  ST CTMU Edge 2 input.

    INT3                          I  ST External Interrupt 3.
Legend:
          CMOS = CMOS compatible input or output       I2CTM = I2C/SMBus input buffer

          ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

          I       = Input                              O     = Output

          P       = Power

DS39977F-page 20                                                   2010-2012 Microchip Technology Inc.
                                                       PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS (CONTINUED)

     Pin Name           Pin Number                                    Description

                                SSOP/ Pin Buffer
                        QFN SPDIP Type Type

                                 /SOIC

RB4/AN9/C2INA/ECCP1/ 22 25
P1A/CTPLS/KBI0

RB4                                   I/O ST/ Digital I/O.

                                         CMOS

AN9                                   I Analog Analog Input 9.

C2INA                                 I Analog Comparator 2 Input A.

ECCP1                                 I/O ST Capture 1 input/Compare 1 output/PWM1 output.

P1A                                   O CMOS Enhanced PWM1 Output A.

CTPLS                                 O ST CTMU pulse generator output.

KBI0                                  I  ST Interrupt-on-change pin.

RB5/T0CKI/T3CKI/CCP5/ 23 26
KBI1

RB5                                   I/O ST/ Digital I/O.

                                         CMOS

T0CKI                                 I  ST Timer0 external clock input.

T3CKI                                 I  ST Timer3 external clock input.

CCP5                                  I/O ST/ Capture 5 input/Compare 5 output/PWM5 output.
                                             CMOS

KBI1                                  I  ST Interrupt-on-change pin.

RB6/PGC/TX2/CK2/KBI2 24 27

RB6                                   I/O ST/ Digital I/O.

                                         CMOS

PGC                                   I  ST In-Circuit Debugger and ICSPTM programming clock input

                                                  pin.

TX2                                   O CMOS EUSART asynchronous transmit.

CK2                                   I/O ST EUSART synchronous clock. (See related RX2/DT2.)

KBI2                                  I  ST Interrupt-on-change pin.

RB7/PGD/T3G/RX2/DT2/ 25 28
KBI3

RB7                                   I/O ST/ Digital I/O.

                                         CMOS

PGD                                   I/O ST In-Circuit Debugger and ICSP programming data pin.

T3G                                   I  ST Timer3 external clock gate input.

RX2                                   I  ST EUSART asynchronous receive.

DT2                                   I/O ST EUSART synchronous data. (See related TX2/CK2.)

    KBI3                              I  ST Interrupt-on-change pin.
Legend:
          CMOS = CMOS compatible input or output        I2CTM = I2C/SMBus input buffer

          ST = Schmitt Trigger input with CMOS levels   Analog = Analog input

          I    = Input                                  O       = Output

          P    = Power

2010-2012 Microchip Technology Inc.                                                    DS39977F-page 21
PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS (CONTINUED)

     Pin Name              Pin Number                             Description

                                   SSOP/ Pin Buffer
                           QFN SPDIP Type Type

                                    /SOIC

                                                     PORTC is a bidirectional I/O port.

RC0/SOSCO/SCLKI            8  11

RC0                               I/O ST/ Digital I/O.
                                         CMOS

SOSCO                             I  ST Timer1 oscillator output.

SCLKI                             I  ST Digital SOSC input.

RC1/SOSCI                  9  12

RC1                               I/O ST/ Digital I/O.
                                         CMOS

SOSCI                             I CMOS SOSC oscillator input.

RC2/T1G/CCP2               10 13

RC2                               I/O ST/ Digital I/O.
                                         CMOS

T1G                               I  ST Timer1 external clock gate input.

CCP2                              I/O ST Capture 2 input/Compare 2 output/PWM2 output.

RC3/REFO/SCL/SCK           11 14

RC3                               I/O ST/ Digital I/O.
                                         CMOS

REFO                              O  -- Reference clock out.
SCL
                                  I/O I2C Synchronous serial clock input/output for I2C mode.

SCK                               I/O ST Synchronous serial clock input/output for SPI mode.

RC4/SDA/SDI                12 15

RC4                               I/O ST/ Digital I/O.
SDA                                      CMOS

                                  I/O I2C I2C data input/output.

SDI                               I  ST SPI data in.

RC5/SDO                    13 16

RC5                               I/O ST/ Digital I/O.
                                         CMOS

SDO                               O CMOS SPI data out.

RC6/CANTX/TX1/CK1/ 14 17
CCP3

RC6                               I/O ST/ Digital I/O.
                                         CMOS

CANTX                             O CMOS CAN bus TX.

TX1                               O CMOS EUSART asynchronous transmit.

CK1                               I/O ST EUSART synchronous clock. (See related RX1/DT1.)

CCP3                              I/O ST/ Capture 3 input/Compare 3 output/PWM3 output.

                                     CMOS

Legend: CMOS = CMOS compatible input or output        I2CTM = I2C/SMBus input buffer

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I        = Input                             O  = Output

         P        = Power

DS39977F-page 22                                                   2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-4: PIC18F2XK80 I/O DESCRIPTIONS (CONTINUED)

                        Pin Number

     Pin Name                   SSOP/ Pin Buffer               Description
                        QFN SPDIP Type Type

                                 /SOIC

RC7/CANRX/RX1/DT1/ 15 18
CCP4

RC7                                      I/O ST/ Digital I/O.
                                                CMOS

CANRX                                    I  ST CAN bus RX.

RX1                                      I  ST EUSART asynchronous receive.

DT1                                      I/O ST EUSART synchronous data. (See related TX2/CK2.)

CCP4                                     I/O ST Capture 4 input/Compare 4 output/PWM4 output.
                                                CMOS

VSS                     5             8  P

VSS                                               Ground reference for logic and I/O pins.

VSS                     16 19

VSS                                               Ground reference for logic and I/O pins.

VDDCORE/VCAP            3             6  P

VDDCORE                                           External filter capacitor connection.

VCAP                                              External filter capacitor connection

VDD                     17 20 P

    VDD                                           Positive supply for logic and I/O pins.
Legend:
         CMOS = CMOS compatible input or output       I2CTM = I2C/SMBus input buffer

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I     = Input                                O        = Output

         P     = Power

2010-2012 Microchip Technology Inc.                                                        DS39977F-page 23
PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS

                    Pin Number

Pin Name                                 Pin Buffer                          Description

                    PDIP  QFN/           Type  Type
                          TQFP

MCLR/RE3            1     18

MCLR                                     I     ST Master Clear (input) or programming voltage (input). This

                                                     pin is an active-low Reset to the device.

RE3                                      I     ST General purpose, input only pin.

OSC1/CLKIN/RA7      13 30

OSC1                                     I     ST Oscillator crystal input.

CLKIN                                    I CMOS External clock source input. Always associated with pin
                                                          function, OSC1. (See related OSC1/CLKI, OSC2/CLKO
                                                          pins.)

RA7                                      I/O ST/ General purpose I/O pin.

                                               CMOS

OSC2/CLKOUT/RA6     14 31

OSC2                                     O     -- Oscillator crystal output. Connects to crystal or resonator in

                                                     Crystal Oscillator mode.

CLKOUT                                   O     -- In certain oscillator modes, OSC2 pin outputs CLKO, which

                                                     has 1/4 the frequency of OSC1 and denotes the instruction

                                                     cycle rate.

    RA6                                  I/O ST/ General purpose I/O pin.
Legend:
                                               CMOS

         I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                    O           = Output

         P = Power

DS39977F-page 24                                                              2010-2012 Microchip Technology Inc.
                                                        PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                      Pin Number

    Pin Name                               Pin Buffer                        Description

                      PDIP  QFN/           Type  Type
                            TQFP

                                                       PORTA is a bidirectional I/O port.

RA0/CVREF/AN0/ULPWU 2                 19

    RA0                                    I/O ST/ General purpose I/O pin.

                                                 CMOS

    CVREF                                  O Analog Comparator reference voltage output.

    AN0                                    I Analog Analog Input 0.

    ULPWU                                  I Analog Ultra Low-Power Wake-up input.

RA1/AN1/C1INC         3               20

    RA1                                    I/O ST/ Digital I/O.

                                                 CMOS

    AN1                                    I Analog Analog Input 1.

    C1INC                                  I Analog Comparator 1 Input C.

RA2/VREF-/AN2/C2INC   4               21

    RA2                                    I/O ST/ Digital I/O.

                                                 CMOS

    VREF-                                  I Analog A/D reference voltage (low) input.

    AN2                                    I Analog Analog Input 2.

    C2INC                                  I Analog Comparator 2 Input C.

RA3/VREF+/AN3         5               22

    RA3                                    I/O ST/ Digital I/O.

                                                 CMOS

    VREF+                                  I Analog A/D reference voltage (high) input.

    AN3                                    I Analog Analog Input 3.

RA5/AN4/HLVDIN/T1CKI/ 7               24

SS

    RA5                                    I/O ST/ Digital I/O.

                                                 CMOS

    AN4                                    I Analog Analog Input 4.

    HLVDIN                                 I Analog High/Low-Voltage Detect input.

    T1CKI                                  I     ST Timer1 clock input.

    SS                                     I     ST SPI slave select input.
Legend:
           I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

           ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

           I = Input                                    O            = Output

           P = Power

2010-2012 Microchip Technology Inc.                                                       DS39977F-page 25
PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                     Pin Number

Pin Name                                  Pin Buffer                      Description

                     PDIP  QFN/           Type  Type
                           TQFP

                                                      PORTB is a bidirectional I/O port.

RB0/AN10/FLT0/INT0   33    8

RB0                                       I/O ST/ Digital I/O.

                                                CMOS

AN10                                      I Analog Analog Input 10.

FLT0                                      I     ST Enhanced PWM Fault input for ECCP1.

INT0                                      I     ST External Interrupt 0.

RB1/AN8/CTDIN/INT1   34    9

RB1                                       I/O ST/ Digital I/O.

                                                CMOS

AN8                                       I Analog Analog Input 8.

CTDIN                                     I     ST CTMU pulse delay input.

INT1                                      I     ST External Interrupt 1.

RB2/CANTX/CTED1/     35 10
INT2

RB2                                       I/O ST/ Digital I/O.

                                                CMOS

CANTX                                     O CMOS CAN bus TX.

CTED1                                     I     ST CTMU Edge 1 input.

INT2                                      I     ST External Interrupt 2.

RB3/CANRX/CTED2/     36 11
INT3

RB3                                       I/O ST/ Digital I/O.

                                                CMOS

CANRX                                     I     ST CAN bus RX.

CTED2                                     I     ST CTMU Edge 2 input.

INT3                                      I     ST External Interrupt 3.

RB4/AN9/CTPLS/KBI0   37 14

RB4                                       I/O ST/ Digital I/O.

                                                CMOS

AN9                                       I Analog Analog Input 9.

CTPLS                                     O ST CTMU pulse generator output.

KBI0                                      I     ST Interrupt-on-change pin.

RB5/T0CKI/T3CKI/CCP5/ 38 15
KBI1

RB5                                       I/O ST/ Digital I/O.

                                                CMOS

T0CKI                                     I     ST Timer0 external clock input.

T3CKI                                     I     ST Timer3 external clock input.

CCP5                                      I/O ST Capture 5 input/Compare 5 output/PWM5 output.

    KBI1                                  I     ST Interrupt-on-change pin.
Legend:
          I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

          ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

          I = Input                                    O             = Output

          P = Power

DS39977F-page 26                                                           2010-2012 Microchip Technology Inc.
                                                       PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                     Pin Number

Pin Name                                  Pin Buffer            Description

                     PDIP  QFN/           Type  Type
                           TQFP

RB6/PGC/KBI2         39 16

RB6                                       I/O ST/ Digital I/O.

                                                CMOS

PGC                                       I     ST In-Circuit Debugger and ICSPTM programming clock input

                                                      pin.

KBI2                                      I     ST Interrupt-on-change pin.

RB7/PGD/T3G/KBI3     40 17

RB7                                       I/O ST/ Digital I/O.

                                                CMOS

PGD                                       I/O ST In-Circuit Debugger and ICSPTM programming data pin.

T3G                                       I     ST Timer3 external clock gate input.

    KBI3                                  I     ST Interrupt-on-change pin.
Legend:
          I2CTM = I2C/SMBus input buffer                    CMOS = CMOS compatible input or output

          ST = Schmitt Trigger input with CMOS levels       Analog = Analog input

          I = Input                                         O   = Output

          P = Power

2010-2012 Microchip Technology Inc.                                                  DS39977F-page 27
PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                    Pin Number

     Pin Name                   Pin Buffer                      Description

                    PDIP  QFN/  Type  Type
                          TQFP

                                            PORTC is a bidirectional I/O port.

RC0/SOSCO/SCLKI     15 32

RC0                             I/O ST/ Digital I/O.
                                       CMOS

SOSCO                           I     ST SOSC oscillator output.

SCLKI                           I     ST Digital SOSC input.

RC1/SOSCI           16 35

RC1                             I/O ST/ Digital I/O.
                                       CMOS

SOSCI                           I CMOS SOSC oscillator input.

RC2/T1G/CCP2        17 36

RC2                             I/O ST/ Digital I/O.
                                       CMOS

T1G                             I     ST Timer1 external clock gate input.

CCP2                            I/O ST/ Capture 2 input/Compare 2 output/PWM2 output.
                                       CMOS

RC3/REFO/SCL/SCK    18 37

RC3                             I/O ST/ Digital I/O.
                                       CMOS

REFO                            O CMOS Reference clock out.
SCL                             I/O I2C Synchronous serial clock input/output for I2C mode.

SCK                             I/O ST Synchronous serial clock input/output for SPI mode.

RC4/SDA/SDI         23 42

RC4                             I/O ST/ Digital I/O.
SDA                                    CMOS

                                I/O I2C I2C data input/output.

SDI                             I     ST SPI data in.

RC5/SDO             24 43

RC5                             I/O ST/ Digital I/O.
                                       CMOS

SDO                             O CMOS SPI data out.

RC6/CANTX/TX1/CK1/ 25 44
CCP3

RC6                             I/O ST/ Digital I/O.
                                       CMOS

CANTX                           O CMOS CAN bus TX.

TX1                             O CMOS EUSART synchronous transmit.

CK1                             I/O ST EUSART synchronous clock. (See related RX2/DT2.)

CCP3                            I/O ST Capture 3 input/Compare 3 output/PWM3 output.

Legend: I2CTM = I2C/SMBus input buffer                     CMOS = CMOS compatible input or output
              ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                         O  = Output

         P = Power

DS39977F-page 28                                                   2010-2012 Microchip Technology Inc.
                                                           PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                 Pin Number

      Pin Name                           Pin Buffer            Description

                 PDIP  QFN/              Type  Type
                       TQFP

RC7/CANRX/RX1/DT1/ 26                 1

CCP4

RC7                                      I/O ST/ Digital I/O.
                                                CMOS

CANRX                                    I     ST CAN bus RX.

RX1                                      I     ST EUSART asynchronous receive.

DT1                                      I/O ST EUSART synchronous data. (See related TX2/CK2.)

CCP4                                     I/O ST Capture 4 input/Compare 4 output/PWM4 output.

Legend: I2CTM = I2C/SMBus input buffer                     CMOS = CMOS compatible input or output
              ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

      I = Input                                            O   = Output

      P = Power

2010-2012 Microchip Technology Inc.                                            DS39977F-page 29
PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                  Pin Number

Pin Name                                Pin Buffer                      Description

                  PDIP  QFN/            Type  Type
                        TQFP

                                                    PORTD is a bidirectional I/O port.

RD0/C1INA/PSP0    19 38

RD0                                     I/O ST/ Digital I/O.
                                               CMOS

C1INA                                   I Analog Comparator 1 Input A.

PSP0                                    I/O ST/ Parallel Slave Port data.
                                               CMOS

RD1/C1INB/PSP1    20 39

RD1                                     I/O ST/ Digital I/O.
                                               CMOS

C1INB                                   I Analog Comparator 1 Input B.

PSP1                                    I/O ST/ Parallel Slave Port data.
                                               CMOS

RD2/C2INA/PSP2    21 40

RD2                                     I/O ST/ Digital I/O.
                                               CMOS

C2INA                                   I Analog Comparator 2 Input A.

PSP2                                    I/O ST/ Parallel Slave Port data.
                                               CMOS

RD3/C2INB/CTMUI/  22 41
PSP3

RD3                                     I/O ST/ Digital I/O.
                                               CMOS

C2INB                                   I Analog Comparator 2 Input B.

CTMUI                                               CTMU pulse generator charger for the C2INB.

PSP3                                    I/O ST/ Parallel Slave Port data.
                                               CMOS

RD4/ECCP1/P1A/PSP4 27   2

RD4                                     I/O ST/ Digital I/O.
                                               CMOS

ECCP1                                   I/O ST Capture 1 input/Compare 1 output/PWM1 output.

P1A                                     O CMOS Enhanced PWM1 Output A.

PSP4                                    I/O ST/ Parallel Slave Port data.
                                               CMOS

RD5/P1B/PSP5      28    3

RD5                                     I/O ST/ Digital I/O.
                                               CMOS

P1B                                     O CMOS Enhanced PWM1 Output B.

PSP5                                    I/O ST/ Parallel Slave Port data.

                                              CMOS

Legend: I2CTM = I2C/SMBus input buffer              CMOS = CMOS compatible input or output

       ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

       I = Input                                    O         = Output

       P = Power

DS39977F-page 30                                                         2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                    Pin Number

    Pin Name                              Pin Buffer                   Description

                    PDIP  QFN/            Type  Type
                          TQFP

RD6/TX2/CK2/P1C/PSP6 29               4
    RD6
                                          I/O ST/ Digital I/O.
    TX2                                          CMOS
    CK2
    P1C                                   I     ST EUSART asynchronous transmit.
    PSP6
                                          I/O ST EUSART synchronous clock. (See related RX2/DT2.)
RD7/RX2/DT2/P1D/PSP7 30
    RD7                                   O CMOS Enhanced PWM1 Output C.

    RX2                                   I/O ST/ Parallel Slave Port data.
    DT2                                          CMOS
    P1D
    PSP7                              5

                                          I/O ST/ Digital I/O.
                                                 CMOS

                                          I     ST EUSART asynchronous receive.

                                          I/O ST EUSART synchronous data. (See related TX2/CK2.)

                                          O CMOS Enhanced PWM1 Output D.

                                          I/O ST/ Parallel Slave Port data.
                                                 CMOS

RE0/AN5/RD          8                 25
    RE0
                                          I/O ST/ Digital I/O.
    AN5                                          CMOS

                                          I Analog Analog Input 5.

RD                                        I     ST Parallel Slave Port read strobe.

RE1/AN6/C1OUT/WR    9                 26
    RE1
                                          I/O ST/ Digital I/O.
    AN6                                          CMOS
    C1OUT
                                          I Analog Analog Input 6.

                                          O CMOS Comparator 1 output.

WR                                        I     ST Parallel Slave Port write strobe.

RE2/AN7/C2OUT/CS    10 27
    RE2                                I/O ST/ Digital I/O.
                                               CMOS
    AN7                                 I Analog Analog Input 7.
    C2OUT                               O CMOS Comparator 2 output.

CS                                        I     ST Parallel Slave Port chip select.

RE3                                                   See the MCLR/RE3 pin.
Legend:
         I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                    O             = Output

         P = Power

2010-2012 Microchip Technology Inc.                                                  DS39977F-page 31
PIC18F66K80 FAMILY

TABLE 1-5: PIC18F4XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

                    Pin Number

     Pin Name                            Pin Buffer      Description

                    PDIP  QFN/           Type  Type
                          TQFP

VSS                 12 29 P

VSS                                                  Ground reference for logic and I/O pins.

VSS                 31    6

VSS                                                  Ground reference for logic and I/O pins.

VDDCORE/VCAP        6     23 P

VDDCORE                                              External filter capacitor connection

VCAP                                                 External filter capacitor connection

VDD                 11 28 P

VDD                                                  Positive supply for logic and I/O pins.

VDD                 32    7              P

    VDD                                              Positive supply for logic and I/O pins.
Legend:
         I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                    O  = Output

         P = Power

DS39977F-page 32                                          2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS

Pin Name             Pin Pin Buffer                                     Description
                    Num Type Type

MCLR/RE3            28

MCLR                                  I  ST Master Clear (input) or programming voltage (input). This pin is an

                                               active-low Reset to the device.

RE3                                   I  ST General purpose, input only pin.

OSC1/CLKIN/RA7      46

OSC1                                  I  ST Oscillator crystal input.

CLKIN                                 I CMOS External clock source input. Always associated with pin function,
                                                       OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.)

RA7                                   I/O ST/ General purpose I/O pin.

                                         CMOS

OSC2/CLKOUT/RA6     47

OSC2                                  O  -- Oscillator crystal output. Connects to crystal or resonator in Crystal

                                               Oscillator mode.

CLKOUT                                O  -- In certain oscillator modes, OSC2 pin outputs CLKO, which has 1/4

                                               the frequency of OSC1 and denotes the instruction cycle rate.

    RA6                               I/O ST/ General purpose I/O pin.
Legend:
                                         CMOS

         I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                    O                = Output

         P = Power

2010-2012 Microchip Technology Inc.                                                 DS39977F-page 33
PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin Name              Pin Pin Buffer                                  Description
                     Num Type Type

                                          PORTA is a bidirectional I/O port.

RA0/CVREF/AN0/       29

ULPWU

RA0                      I/O ST/ General purpose I/O pin.

                            CMOS

CVREF                    O Analog Comparator reference voltage output.

AN0                      I Analog Analog Input 0.

ULPWU                    I Analog Ultra Low-Power Wake-up input.

RA1/AN1/C1INC        30

RA1                      I/O ST/ Digital I/O.

                            CMOS

AN1                      I Analog Analog Input 1.

C1INC                    I Analog Comparator 1 Input C.

RA2/VREF-/AN2/C2INC  31

RA2                      I/O ST/ Digital I/O.

                            CMOS

VREF-                    I Analog A/D reference voltage (low) input.

AN2                      I Analog Analog Input 2.

C2INC                    I Analog Comparator 2 Input C.

RA3/VREF+/AN3        32

RA3                      I/O ST/ Digital I/O.

                            CMOS

VREF+                    I Analog A/D reference voltage (high) input.

AN3                      I Analog Analog Input 3.

RA5/AN4/HLVDIN/      34

T1CKI/SS

RA5                      I/O ST/ Digital I/O.

                            CMOS

AN4                      I Analog Analog Input 4.

HLVDIN                   I Analog High/Low-Voltage Detect input.

T1CKI                    I                ST Timer1 clock input.

    SS                   I                ST SPI slave select input.
Legend:
          I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

          ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

          I = Input                                    O              = Output

          P = Power

DS39977F-page 34                                                       2010-2012 Microchip Technology Inc.
                                                       PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

      Pin Name        Pin Pin Buffer                                   Description
                     Num Type Type

                                               PORTB is a bidirectional I/O port.

RB0/AN10/FLT0/INT0   13

RB0                                   I/O ST/ Digital I/O.

                                         CMOS

AN10                                  I Analog Analog Input 10.

FLT0                                  I   ST Enhanced PWM Fault input for ECCP1.

INT0                                  I   ST External Interrupt 0.

RB1/AN8/CTDIN/INT1   14

RB1                                   I/O ST/ Digital I/O.

                                         CMOS

AN8                                   I Analog Analog Input 8.

CTDIN                                 I   ST CTMU pulse delay input.

INT1                                  I   ST External Interrupt 1.

RB2/CANTX/CTED1/     15

INT2

RB2                                   I/O ST/ Digital I/O.

                                         CMOS

CANTX                                 O CMOS CAN bus TX.

CTED1                                 I   ST CTMU Edge 1 input.

INT2                                  I   ST External Interrupt 2.

RB3/CANRX/CTED2/     16

INT3

RB3                                   I/O ST/ Digital I/O.

                                         CMOS

CANRX                                 I   ST CAN bus RX.

CTED2                                 I   ST CTMU Edge 2 input.

INT3                                  I   ST External Interrupt 3.

RB4/AN9/CTPLS/KBI0   20

RB4                                   I/O ST/ Digital I/O.

                                         CMOS

AN9                                   I Analog Analog Input 9.

CTPLS                                 O   ST CTMU pulse generator output.

KBI0                                  I   ST Interrupt-on-change pin.

RB5/T0CKI/T3CKI/CCP5/ 21
KBI1

RB5                                   I/O ST/ Digital I/O.

                                         CMOS

T0CKI                                 I   ST Timer0 external clock input.

T3CKI                                 I   ST Timer3 external clock input.

CCP5                                  I/O ST/ Capture 5 input/Compare 5 output/PWM5 output.
                                              CMOS

    KBI1                              I   ST Interrupt-on-change pin.
Legend:
          I2CTM = I2C/SMBus input buffer                    CMOS = CMOS compatible input or output

          ST = Schmitt Trigger input with CMOS levels       Analog = Analog input

          I = Input                                         O       = Output

          P = Power

2010-2012 Microchip Technology Inc.                                                DS39977F-page 35
PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin Name              Pin Pin Buffer                                   Description
                     Num Type Type

RB6/PGC/KBI2         22

RB6                      I/O ST/ Digital I/O.

                            CMOS

PGC                      I                ST In-Circuit Debugger and ICSPTM programming clock input pin.

KBI2                     I                ST Interrupt-on-change pin.

RB7/PGD/T3G/KBI3     23

RB7                      I/O ST/ Digital I/O.

                            CMOS

PGD                      I/O ST In-Circuit Debugger and ICSPTM programming data pin.

T3G                      I                ST Timer3 external clock gate input.

    KBI3                 I                ST Interrupt-on-change pin.
Legend:
          I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

          ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

          I = Input                                    O  = Output

          P = Power

DS39977F-page 36                                                        2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

     Pin Name        Pin Pin Buffer                                    Description
                    Num Type Type

                                               PORTC is a bidirectional I/O port.

RC0/SOSCO/SCLKI     48

RC0                                   I/O ST/ Digital I/O.
                                              CMOS

SOSCO                                 I  ST Timer1 oscillator output.

SCLKI                                 I  ST Digital SOSC input.

RC1/SOSCI           49

RC1                                   I/O ST/ Digital I/O.
                                              CMOS

SOSCI                                 I CMOS SOSC oscillator input.

RC2/T1G/CCP2        50

RC2                                   I/O ST/ Digital I/O.
                                              CMOS

T1G                                   I  ST Timer1 external clock gate input.

CCP2                                  I/O ST Capture 2 input/Compare 2 output/PWM2 output.

RC3/REFO/SCL/SCK    51

RC3                                   I/O ST/ Digital I/O.
                                              CMOS

REFO                                  O CMOS Reference clock out.
SCL                                   I/O I2C Synchronous serial clock input/output for I2C mode.

SCK                                   I/O ST Synchronous serial clock input/output for SPI mode.

RC4/SDA/SDI         62

RC4                                   I/O ST/ Digital I/O.
SDA                                           CMOS

                                      I/O I2C I2C data input/output.

SDI                                   I  ST SPI data in.

RC5/SDO             63

RC5                                   I/O ST/ Digital I/O.
                                              CMOS

SDO                                   O CMOS SPI data out.

RC6/CCP3            64

RC6                                   I/O ST/ Digital I/O.
                                              CMOS

CCP3                                  I/O ST/ Capture 3 input/Compare 3 output/PWM3 output.
                                              CMOS

RC7/CCP4            1

RC7                                   I/O ST/ Digital I/O.
                                              CMOS

CCP4                                  I/O ST/ Capture 4 input/Compare 4 output/PWM4 output.

                                         CMOS

Legend: I2CTM = I2C/SMBus input buffer                      CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels        Analog = Analog input

         I = Input                                          O         = Output

         P = Power

2010-2012 Microchip Technology Inc.                                                DS39977F-page 37
PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

      Pin Name     Pin Pin Buffer                        Description
                  Num Type Type

                                        PORTD is a bidirectional I/O port.

RD0/C1INA/PSP0    54

RD0                   I/O ST/ Digital I/O.
                              CMOS

C1INA                 I Analog Comparator 1 Input A.

PSP0                  I/O ST/ Parallel Slave Port data.
                              CMOS

RD1/C1INB/PSP1    55

RD1                   I/O ST/ Digital I/O.
                              CMOS

C1INB                 I Analog Comparator 1 Input B.

PSP1                  I/O ST/ Parallel Slave Port data.
                              CMOS

RD2/C2INA/PSP2    58

RD2                   I/O ST/ Digital I/O.
                              CMOS

C2INA                 I Analog Comparator 2 Input A.

PSP2                  I/O ST/ Parallel Slave Port data.
                              CMOS

RD3/C2INB/CTMUI/  59

PSP3

RD3                   I/O ST/ Digital I/O.
                              CMOS

C2INB                 I Analog Comparator 2 Input B.

CTMUI                 O CMOS CTMU pulse generator charger for the C2INB.

PSP3                  I/O ST/ Parallel Slave Port data.
                              CMOS

RD4/ECCP1/P1A/PSP4 2

RD4                   I/O ST/ Digital I/O.
                              CMOS

ECCP1                 I/O ST Capture 1 input/Compare 1 output/PWM1 output.

P1A                   O CMOS Enhanced PWM1 Output A.

PSP4                  I/O ST/ Parallel Slave Port data.
                              CMOS

RD5/P1B/PSP5      3

RD5                   I/O ST/ Digital I/O.
                              CMOS

P1B                   O CMOS Enhanced PWM1 Output B.

PSP5                  I/O ST/ Parallel Slave Port data.

                      CMOS

Legend: I2CTM = I2C/SMBus input buffer              CMOS = CMOS compatible input or output

       ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

       I = Input                                    O  = Output

       P = Power

DS39977F-page 38                                          2010-2012 Microchip Technology Inc.
                                                   PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

Pin Name          Pin Pin Buffer                                         Description
                 Num Type Type

RD6/P1C/PSP6     4

RD6                                   I/O ST/ Digital I/O.
                                              CMOS

P1C                                   O CMOS Enhanced PWM1 Output C.

PSP6                                  I/O ST/ Parallel Slave Port data.
                                              CMOS

RD7/P1D/PSP7     5

RD7                                   I/O ST/ Digital I/O.
                                              CMOS

P1D                                   O CMOS Enhanced PWM1 Output D.

PSP7                                  I/O ST/ Parallel Slave Port data.

                                      CMOS

Legend: I2CTM = I2C/SMBus input buffer                      CMOS = CMOS compatible input or output

      ST = Schmitt Trigger input with CMOS levels           Analog = Analog input

      I = Input                                             O  = Output

      P = Power

2010-2012 Microchip Technology Inc.                                                  DS39977F-page 39
PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

     Pin Name        Pin Pin Buffer                             Description
                    Num Type Type

                                         PORTE is a bidirectional I/O port.

RE0/AN5/RD          37
    RE0
                             I/O ST/ Digital I/O.
    AN5                               CMOS

                               I Analog Analog Input 5.

RD                      I                ST Parallel Slave Port read strobe.

RE1/AN6/C1OUT/WR    38
    RE1                      I/O ST/ Digital I/O.
                                      CMOS
    AN6                        I Analog Analog Input 6.
    C1OUT                     O CMOS Comparator 1 output.

WR                      I                ST Parallel Slave Port write strobe.

RE2/AN7/C2OUT/CS    39
    RE2                      I/O ST/ Digital I/O.
                                      CMOS
    AN7                        I Analog Analog Input 7.
    C2OUT                     O CMOS Comparator 2 output.

CS                      I                ST Parallel Slave Port chip select.

RE3                                      See the MCLR/RE3 pin.

RE4/CANRX           27

RE4                     I/O ST/ Digital I/O.

                           CMOS

CANRX                   I                ST CAN bus RX.

RE5/CANTX           24

RE5                     I/O ST/ Digital I/O.

                           CMOS

CANTX                   O CMOS CAN bus TX.

RE6/RX2/DT2         60

RE6                     I/O ST/ Digital I/O.

                           CMOS

RX2                     I                ST EUSART asynchronous receive.

DT2                     I/O ST EUSART synchronous data. (See related TX2/CK2.)

RE7/TX2/CK2         61

RE7                     I/O ST/ Digital I/O.

                           CMOS

TX2                     O CMOS EUSART asynchronous transmit.

    CK2                 I/O ST EUSART synchronous clock. (See related RX2/DT2.)
Legend:
         I2CTM = I2C/SMBus input buffer                  CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels     Analog = Analog input

         I = Input                                       O  = Output

         P = Power

DS39977F-page 40                                                               2010-2012 Microchip Technology Inc.
                                               PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

     Pin Name   Pin Pin Buffer                                          Description
               Num Type Type

                                               PORTF is a bidirectional I/O port.

RF0/MDMIN      17

RF0                                   I/O ST/ Digital I/O.

                                         CMOS

MDMIN                                 I CMOS Modulator source input.

RF1            19

RF1                                   I/O ST/ Digital I/O.

                                         CMOS

RF2/MDCIN1     35

RF2                                   I/O ST/ Digital I/O.

                                         CMOS

MDCIN1                                I  ST Modulator Carrier Input 1.

RF3            36

RF3                                   I/O ST/ Digital I/O.

                                         CMOS

RF4/MDCIN2     44

RF4                                   I/O ST/ Digital I/O.

                                         CMOS

MDCIN2                                I  ST Modulator Carrier Input 2.

RF5            45

RF5                                   I/O ST/ Digital I/O.

                                         CMOS

RF6/MDOUT      52

RF6                                   I/O ST/ Digital I/O.

                                         CMOS

MDOUT                                 O CMOS Modulator output.

RF7            53

    RF7                                   I/O ST/ Digital I/O.  CMOS = CMOS compatible input or output
Legend:                                            CMOS

         I2CTM = I2C/SMBus input buffer                         Analog = Analog input
         ST = Schmitt Trigger input with CMOS levels
         I = Input                                              O     = Output
         P = Power

2010-2012 Microchip Technology Inc.                                                   DS39977F-page 41
PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

     Pin Name      Pin Pin Buffer                             Description
                  Num Type Type

                                   PORTG is a bidirectional I/O port.

RG0/RX1/DT1       6

RG0                   I/O ST/ Digital I/O.
                              CMOS

RX1                   I  ST EUSART asynchronous receive.

DT1                   I/O ST EUSART synchronous data. (See related TX2/CK2.)

RG1/CANTX2        7

RG1                   I/O ST/ Digital I/O.
                              CMOS

CANTX2                O CMOS CAN bus complimentary transmit output or CAN bus time clock.

RG2/T3CKI         11

RG2                   I/O ST/ Digital I/O.
                              CMOS

T3CKI                 I  ST Timer3 clock input.

RG3/TX1/CK1       12

RG3                   I/O ST/ Digital I/O.
                              CMOS

TX1                   O CMOS EUSART asynchronous transmit.

CK1                   I/O ST EUSART synchronous clock. (See related RX2/DT2.)

RG4/T0CKI         18

RG4                   I/O ST/ Digital I/O.
                              CMOS

T0CKI                 I  ST Timer0 external clock input.

Legend: I2CTM = I2C/SMBus input buffer                     CMOS = CMOS compatible input or output
              ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

       I = Input                                           O  = Output

       P = Power

DS39977F-page 42                                               2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

TABLE 1-6: PIC18F6XK80 PINOUT I/O DESCRIPTIONS (CONTINUED)

      Pin Name       Pin Pin Buffer                      Description
                    Num Type Type

VSS                 8                    P

VSS                                         Ground reference for logic and I/O pins.

VSS                 26                   P

VSS                                         Ground reference for logic and I/O pins.

AVSS                42                   P

AVSS                                        Ground reference for analog modules.

VSS                 43                   P

VSS                                         Ground reference for logic and I/O pins.

VSS                 56                   P

VSS                                         Ground reference for logic and I/O pins.

AVDD                9                    P

AVDD                                        Positive supply for analog modules.

VDD                 10                   P

VDD                                         Positive supply for logic and I/O pins.

VDD                 25                   P

VDD                                         Positive supply for logic and I/O pins.

VDDCORE/VCAP        33                   P

VDDCORE                                     External filter capacitor connection.

VCAP                                        External filter capacitor connection.

AVDD                40                   P

AVDD                                        Positive supply for analog modules.

VDD                 41                   P

VDD                                         Positive supply for logic and I/O pins.

VDD                 57                   P

    VDD                                     Positive supply for logic and I/O pins.
Legend:
         I2CTM = I2C/SMBus input buffer               CMOS = CMOS compatible input or output

         ST = Schmitt Trigger input with CMOS levels  Analog = Analog input

         I = Input                                    O  = Output

         P = Power

2010-2012 Microchip Technology Inc.                                                  DS39977F-page 43
PIC18F66K80 FAMILY

NOTES:

DS39977F-page 44     2010-2012 Microchip Technology Inc.
                                                        PIC18F66K80 FAMILY

2.0 GUIDELINES FOR GETTING                              FIGURE 2-1:        RECOMMENDED
         STARTED WITH PIC18FXXKXX                                          MINIMUM CONNECTIONS
         MICROCONTROLLERS

                                                                                           C2(2)

2.1 Basic Connection Requirements                       VDD

Getting started with the PIC18F66K80 family family of    R1                       VDD
8-bit microcontrollers requires attention to a minimal       R2                           VSS
set of device pin connections before proceeding with                                                      (1) (1)
development.                                              C1         MCLR
                                                                                  ENVREG
                                                        C6(2)                     VCAP/VDDCORE

The following pins must always be connected:                               PIC18FXXKXX                             C7(2)
                                                                                                                  C3(2)
All VDD and VSS pins                                               VSS                          VDD
   (see Section 2.2 "Power Supply Pins")
                                                                     VDD                          VSS
All AVDD and AVSS pins, regardless of whether or
   not the analog device features are used                                 AVDD
   (see Section 2.2 "Power Supply Pins")                                           AVSS
                                                                                                    VDD
MCLR pin                                                                                                   VSS
   (see Section 2.3 "Master Clear (MCLR) Pin")
                                                                           C5(2)           C4(2)
ENVREG (if implemented) and VCAP/VDDCORE pins
   (see Section 2.4 "Voltage Regulator Pins             Key (all values are recommendations):
   (ENVREG and VCAP/VDDCORE)")

These pins must also be connected if they are being     C1 through C6: 0.1 F, 20V ceramic
used in the end application:
                                                        R1: 10 k

PGC/PGD pins used for In-Circuit Serial               R2: 100 to 470
   ProgrammingTM (ICSPTM) and debugging purposes
   (see Section 2.5 "ICSP Pins")                        Note 1:      See Section 2.4 "Voltage Regulator Pins
                                                                 2:  (ENVREG and VCAP/VDDCORE)" for
OSCI and OSCO pins when an external oscillator                     explanation of ENVREG pin connections.
   source is used
   (see Section 2.6 "External Oscillator Pins")                      The example shown is for a PIC18F device
                                                                     with five VDD/VSS and AVDD/AVSS pairs.
Additionally, the following pins may be required:                    Other devices may have more or less pairs;
                                                                     adjust the number of decoupling capacitors
VREF+/VREF- pins are used when external voltage                    appropriately.
   reference for analog modules is implemented

Note:  The AVDD and AVSS pins must always be
       connected, regardless of whether any of
       the analog modules are being used.

The minimum mandatory connections are shown in
Figure 2-1.

2010-2012 Microchip Technology Inc.                                                       DS39977F-page 45
PIC18F66K80 FAMILY

2.2 Power Supply Pins                                         2.3 Master Clear (MCLR) Pin

2.2.1 DECOUPLING CAPACITORS                                   The MCLR pin provides two specific device
                                                              functions: Device Reset, and Device Programming
The use of decoupling capacitors on every pair of             and Debugging. If programming and debugging are
power supply pins, such as VDD, VSS, AVDD and                 not required in the end application, a direct
AVSS, is required.                                            connection to VDD may be all that is required. The
                                                              addition of other components, to help increase the
Consider the following criteria when using decoupling         application's resistance to spurious Resets from
capacitors:                                                   voltage sags, may be beneficial. A typical
                                                              configuration is shown in Figure 2-1. Other circuit
Value and type of capacitor: A 0.1 F (100 nF),              designs may be implemented, depending on the
   10-20V capacitor is recommended. The capacitor             application's requirements.
   should be a low-ESR device, with a resonance
   frequency in the range of 200 MHz and higher.              During programming and debugging, the resistance
   Ceramic capacitors are recommended.                        and capacitance that can be added to the pin must
                                                              be considered. Device programmers and debuggers
Placement on the printed circuit board: The                 drive the MCLR pin. Consequently, specific voltage
   decoupling capacitors should be placed as close            levels (VIH and VIL) and fast signal transitions must
   to the pins as possible. It is recommended to              not be adversely affected. Therefore, specific values
   place the capacitors on the same side of the               of R1 and C1 will need to be adjusted based on the
   board as the device. If space is constricted, the          application and PCB requirements. For example, it is
   capacitor can be placed on another layer on the            recommended that the capacitor, C1, be isolated
   PCB using a via; however, ensure that the trace            from the MCLR pin during programming and
   length from the pin to the capacitor is no greater         debugging operations by using a jumper (Figure 2-2).
   than 0.25 inch (6 mm).                                     The jumper is replaced for normal run-time
                                                              operations.
Handling high-frequency noise: If the board is
   experiencing high-frequency noise (upward of               Any components associated with the MCLR pin
   tens of MHz), add a second ceramic type capaci-            should be placed within 0.25 inch (6 mm) of the pin.
   tor in parallel to the above described decoupling
   capacitor. The value of the second capacitor can           FIGURE 2-2:            EXAMPLE OF MCLR PIN
   be in the range of 0.01 F to 0.001 F. Place this                                  CONNECTIONS
   second capacitor next to each primary decoupling                             VDD
   capacitor. In high-speed circuit designs, consider
   implementing a decade pair of capacitances as                          R1
   close to the power and ground pins as possible                                     R2
   (e.g., 0.1 F in parallel with 0.001 F).                                                      MCLR

Maximizing performance: On the board layout                             JP         PIC18FXXKXX
   from the power supply circuit, run the power and
   return traces to the decoupling capacitors first,                      C1
   and then to the device pins. This ensures that the
   decoupling capacitors are first in the power chain.        Note 1:     R1  10 k is recommended. A suggested
   Equally important is to keep the trace length                      2:  starting value is 10 k. Ensure that the
   between the capacitor and the power pins to a                          MCLR pin VIH and VIL specifications are met.
   minimum, thereby reducing PCB trace
   inductance.                                                            R2  470 will limit any current flowing into
                                                                          MCLR from the external capacitor, C, in the
2.2.2 TANK CAPACITORS                                                     event of MCLR pin breakdown, due to
                                                                          Electrostatic Discharge (ESD) or Electrical
On boards with power traces running longer than                           Overstress (EOS). Ensure that the MCLR pin
six inches in length, it is suggested to use a tank capac-                VIH and VIL specifications are met.
itor for integrated circuits, including microcontrollers, to
supply a local power source. The value of the tank
capacitor should be determined based on the trace
resistance that connects the power supply source to
the device, and the maximum current drawn by the
device in the application. In other words, select the tank
capacitor so that it meets the acceptable voltage sag at
the device. Typical values range from 4.7 F to 47 F.

DS39977F-page 46                                                                      2010-2012 Microchip Technology Inc.
                                                        PIC18F66K80 FAMILY

2.4 Voltage Regulator Pins (ENVREG                      Some PIC18FXXKXX families, or some devices within
                                                        a family, do not provide the option of enabling or
         and VCAP/VDDCORE)                              disabling the on-chip voltage regulator:

The on-chip voltage regulator enable pin, ENVREG,       Some devices (with the name, PIC18LFXXKXX)
must always be connected directly to either a supply       permanently disable the voltage regulator.
voltage or to ground. Tying ENVREG to VDD enables          These devices do not have the ENVREG pin and
the regulator, while tying it to ground disables the       require a 0.1 F capacitor on the VCAP/VDDCORE
regulator. Refer to Section 28.3 "On-Chip Voltage          pin. The VDD level of these devices must comply
Regulator" for details on connecting and using the         with the "voltage regulator disabled" specification
on-chip regulator.                                         for Parameter D001, in Section 31.0 "Electrical
                                                           Characteristics".
When the regulator is enabled, a low-ESR (< 5)
capacitor is required on the VCAP/VDDCORE pin to         Some devices permanently enable the voltage
stabilize the voltage regulator output voltage. The        regulator.
VCAP/VDDCORE pin must not be connected to VDD and          These devices also do not have the ENVREG pin.
must use a capacitor of 10 F connected to ground. The     The 10 F capacitor is still required on the
type can be ceramic or tantalum. Suitable examples of      VCAP/VDDCORE pin.
capacitors are shown in Table 2-1. Capacitors with
equivalent specifications can be used.                  FIGURE 2-3:                 FREQUENCY vs. ESR
                                                                                    PERFORMANCE FOR
Designers may use Figure 2-3 to evaluate ESR                     10                 SUGGESTED VCAP
equivalence of candidate devices.
                                                                   1
It is recommended that the trace length not exceed
0.25 inch (6 mm). Refer to Section 31.0 "Electrical        ESR ()  0.1
Characteristics" for additional information.

When the regulator is disabled, the VCAP/VDDCORE pin
must be tied to a voltage supply at the VDDCORE level.
Refer to Section 31.0 "Electrical Characteristics" for
information on VDD and VDDCORE.

                                                                   0.01

                                                           0.001               0.1  1  10            100  1000 10,000
                                                                   0.01

                                                                                    Frequency (MHz)

                                                           Note:         Typical data measurement at 25C, 0V DC bias.

                                                        .

TABLE 2-1:    SUITABLE CAPACITOR EQUIVALENTS

      Make    Part #                    Nominal            Base Tolerance Rated Voltage Temp. Range
                                      Capacitance
       TDK
       TDK        C3216X7R1C106K      10 F                              10%          16V                -55 to 125C
   Panasonic      C3216X5R1C106K      10 F                              10%
   Panasonic       ECJ-3YX1C106K      10 F                              10%          16V                -55 to 85C
     Murata        ECJ-4YB1C106K      10 F                              10%
     Murata   GRM32DR71C106KA01L      10 F                              10%          16V                -55 to 125C
              GRM31CR61C106KC31L      10 F                              10%
                                                                                       16V                -55 to 85C

                                                                                       16V                -55 to 125C

                                                                                       16V                -55 to 85C

2010-2012 Microchip Technology Inc.                                                                 DS39977F-page 47
PIC18F66K80 FAMILY

2.4.1  CONSIDERATIONS FOR CERAMIC                             FIGURE 2-4:                                 DC BIAS VOLTAGE vs.
       CAPACITORS                                                                                         CAPACITANCE
                                                                                                          CHARACTERISTICS
In recent years, large value, low-voltage, surface-mount
ceramic capacitors have become very cost effective in         Capacitance Change (%)   10                                     16V Capacitor
sizes up to a few tens of microfarad. The low-ESR, small                                0                 10V Capacitor
physical size and other properties make ceramic
capacitors very attractive in many types of applications.                             -10                 6 7 8 9 10 11 12 13 14 15 16 17
                                                                                      -20
Ceramic capacitors are suitable for use with the inter-                               -30
nal voltage regulator of this microcontroller. However,                               -40
some care is needed in selecting the capacitor to                                     -50
ensure that it maintains sufficient capacitance over the                              -60
intended operating range of the application.
                                                                                      -70 6.3V Capacitor

                                                                                      -80
                                                                                           01234 5

Typical low-cost, 10 F ceramic capacitors are available                               DC Bias Voltage (VDC)
in X5R, X7R and Y5V dielectric ratings (other types are
also available, but are less common). The initial toler-      When selecting a ceramic capacitor to be used with the
ance specifications for these types of capacitors are         internal voltage regulator, it is suggested to select a
often specified as 10% to 20% (X5R and X7R), or             high-voltage rating, so that the operating voltage is a
-20%/+80% (Y5V). However, the effective capacitance           small percentage of the maximum rated capacitor volt-
that these capacitors provide in an application circuit will  age. For example, choose a ceramic capacitor rated at
also vary based on additional factors, such as the            16V for the 2.5V core voltage. Suggested capacitors
applied DC bias voltage and the temperature. The total        are shown in Table 2-1.
in-circuit tolerance is, therefore, much wider than the
initial tolerance specification.                              2.5 ICSP Pins

The X5R and X7R capacitors typically exhibit satisfac-        The PGC and PGD pins are used for In-Circuit Serial
tory temperature stability (ex: 15% over a wide              ProgrammingTM (ICSPTM) and debugging purposes. It
temperature range, but consult the manufacturer's data        is recommended to keep the trace length between the
sheets for exact specifications). However, Y5V capaci-        ICSP connector and the ICSP pins on the device as
tors typically have extreme temperature tolerance             short as possible. If the ICSP connector is expected to
specifications of +22%/-82%. Due to the extreme               experience an ESD event, a series resistor is recom-
temperature tolerance, a 10 F nominal rated Y5V type          mended, with the value in the range of a few tens of
capacitor may not deliver enough total capacitance to         ohms, not to exceed 100.
meet minimum internal voltage regulator stability and
transient response requirements. Therefore, Y5V               Pull-up resistors, series diodes and capacitors on the
capacitors are not recommended for use with the               PGC and PGD pins are not recommended as they will
internal regulator if the application must operate over a     interfere with the programmer/debugger communica-
wide temperature range.                                       tions to the device. If such discrete components are an
                                                              application requirement, they should be removed from
In addition to temperature tolerance, the effective           the circuit during programming and debugging. Alter-
capacitance of large value ceramic capacitors can vary        natively, refer to the AC/DC characteristics and timing
substantially, based on the amount of DC voltage              requirements information in the respective device
applied to the capacitor. This effect can be very signifi-    Flash programming specification for information on
cant, but is often overlooked or is not always                capacitive loading limits, and pin input voltage high
documented.                                                   (VIH) and input low (VIL) requirements.

A typical DC bias voltage vs. capacitance graph for           For device emulation, ensure that the "Communication
X7R type and Y5V type capacitors is shown in                  Channel Select" (i.e., PGCx/PGDx pins), programmed
Figure 2-4.                                                   into the device, matches the physical connections for
                                                              the ICSP to the Microchip debugger/emulator tool.

                                                              For more information on available Microchip
                                                              development tools connection requirements, refer to
                                                              Section 30.0 "Development Support".

DS39977F-page 48                                                                       2010-2012 Microchip Technology Inc.
                                                             PIC18F66K80 FAMILY

2.6 External Oscillator Pins                                 FIGURE 2-5:                SUGGESTED
                                                                                        PLACEMENT OF THE
Many microcontrollers have options for at least two                                     OSCILLATOR CIRCUIT
oscillators: a high-frequency primary oscillator and a
low-frequency secondary oscillator (refer to                        Single-Sided and In-Line Layouts:
Section 3.0 "Oscillator Configurations" for details).
                                                                               Copper Pour Primary Oscillator
The oscillator circuit should be placed on the same                      (tied to ground)                  Crystal
side of the board as the device. Place the oscillator
circuit close to the respective oscillator pins with no                                                    DEVICE PINS
more than 0.5 inch (12 mm) between the circuit
components and the pins. The load capacitors should           Primary                                                         OSC1
be placed next to the oscillator itself, on the same side    Oscillator                                                       OSC2
of the board.                                                                                                                 GND
                                                             C1                `
Use a grounded copper pour around the oscillator cir-                                                                         T1OSO
cuit to isolate it from surrounding circuits. The            C2                                                               T1OS I
grounded copper pour should be routed directly to the                                `
MCU ground. Do not run any signal traces or power
traces inside the ground pour. Also, if using a two-sided    Timer1 Oscillator
board, avoid any traces on the other side of the board             Crystal
where the crystal is placed.                                                                            `

Layout suggestions are shown in Figure 2-4. In-line                 T1 Oscillator: C1                      T1 Oscillator: C2
packages may be handled with a single-sided layout
that completely encompasses the oscillator pins. With                    Fine-Pitch (Dual-Sided) Layouts:
fine-pitch packages, it is not always possible to com-
pletely surround the pins and components. A suitable                                  Top Layer Copper Pour
solution is to tie the broken guard sections to a mirrored                                  (tied to ground)
ground layer. In all cases, the guard trace(s) must be
returned to ground.                                           Bottom Layer
                                                              Copper Pour
In planning the application's routing and I/O assign-        (tied to ground)
ments, ensure that adjacent port pins, and other
signals in close proximity to the oscillator, are benign     OSCO
(i.e., free of high frequencies, short rise and fall times,
and other similar noise).                                    GND                                                              C2
                                                              OSCI                                                               Oscillator
For additional information and design guidance on                                                                                 Crystal
oscillator circuits, please refer to these Microchip
Application Notes, available at the corporate web site                                                                        C1
(www.microchip.com):
                                                                    DEVICE PINS
AN826, "Crystal Oscillator Basics and Crystal
   Selection for rfPICTM and PICmicro Devices"

AN849, "Basic PICmicro Oscillator Design"
AN943, "Practical PICmicro Oscillator Analysis

   and Design"

AN949, "Making Your Oscillator Work"

2.7 Unused I/Os

Unused I/O pins should be configured as outputs and
driven to a logic low state. Alternatively, connect a 1 k
to 10 k resistor to VSS on unused pins and drive the
output to logic low.

2010-2012 Microchip Technology Inc.                                                                       DS39977F-page 49
PIC18F66K80 FAMILY

NOTES:

DS39977F-page 50     2010-2012 Microchip Technology Inc.
                                                         PIC18F66K80 FAMILY

3.0 OSCILLATOR                                           To optimize power consumption when using EC/HS/
         CONFIGURATIONS                                  XT/LP/RC as the primary oscillator, the frequency input
                                                         range can be configured to yield an optimized power
3.1 Oscillator Types                                     bias:

The PIC18F66K80 family of devices can be operated in      Low-Power Bias External frequency less than
the following oscillator modes:                             160 kHz

EC      External Clock, RA6 Available                   Medium Power Bias External frequency
ECIO                                                      between 160 kHz and 16 MHz
          External Clock, Clock Out RA6 (FOSC/4
HS      on RA6)                                        High-Power Bias External frequency greater
XT                                                        than 16 MHz
LP      High-Speed Crystal/Resonator
RC                                                     All of these modes are selected by the user by
          Crystal/Resonator                              programming the FOSC<3:0> Configuration bits
RCIO                                                   (CONFIG1H<3:0>). In addition, PIC18F66K80 family
          Low-Power Crystal                              devices can switch between different clock sources,
INTIO2                                                 either under software control, or under certain condi-
          External Resistor/Capacitor, RA6               tions, automatically. This allows for additional power
INTIO1  Available                                      savings by managing device clock speed in real time
                                                         without resetting the application. The clock sources for
          External Resistor/Capacitor, Clock Out         the PIC18F66K80 family of devices are shown in
          RA6 (FOSC/4 on RA6)                            Figure 3-1.

          Internal Oscillator with I/O on RA6 and        For the HS and EC mode, there are additional power
          RA7                                            modes of operation, depending on the frequency of
                                                         operation.
          Internal Oscillator with FOSC/4 Output on
          RA6 and I/O on RA7                             HS1 is the Medium Power mode with a frequency
                                                         range of 4 MHz to 16 MHz. HS2 is the High-Power
There is also an option for running the 4xPLL on any of  mode, where the oscillator frequency can go from
the clock sources in the input frequency range of 4 to   16 MHz to 25 MHz. HS1 and HS2 are achieved by
16 MHz.                                                  setting the CONFIG1H<3:0> bits correctly. (For details,
                                                         see Register 28-2 on Page 460.)
The PLL is enabled by setting the PLLCFG bit
(CONFIG1H<4>) or the PLLEN bit (OSCTUNE<6>).             EC mode has these modes of operation:

For the EC and HS modes, the PLLEN (software) or          EC1 For low power with a frequency range up to
PLLCFG (CONFIG1H<4>) bit can be used to enable              160 kHz
the PLL.
                                                          EC2 Medium power with a frequency range of
For the INTIOx modes (HF-INTOSC):                           160 kHz to 16 MHz

Only the PLLEN can enable the PLL (PLLCFG is            EC3 High power with a frequency range of
   ignored).                                                16 MHz to 64 MHz

When the oscillator is configured for the internal     EC1, EC2 and EC3 are achieved by setting the
   oscillator (FOSC<3:0> = 100x), the PLL can be         CONFIG1H<3:0> correctly. (For details, see
   enabled only when the HF-INTOSC frequency is          Register 28-2 on Page 460.)
   4, 8 or 16 MHz.
                                                         Table 3-1 shows the HS and EC modes' frequency
When the RA6 and RA7 pins are not used for an oscil-     range and FOSC<3:0> settings.
lator function or CLKOUT function, they are available
as general purpose I/Os.

2010-2012 Microchip Technology Inc.                     DS39977F-page 51
PIC18F66K80 FAMILY

TABLE 3-1: HS, EC, XT, LP AND RC MODES: RANGES AND SETTINGS

               Mode                        Frequency Range                                FOSC<3:0> Setting

EC1 (low power)                               DC-160 kHz                                                 1101
(EC1 & EC1IO)                                                                                            1100
EC2 (medium power)                         160 kHz-16 MHz                                                1011
(EC2 & EC2IO)                                                                                            1010
EC3 (high power)                           16 MHz-64 MHz                                                 0101
(EC3 & EC3IO)                               4 MHz-16 MHz                                                 0100
HS1 (medium power)                         16 MHz-25 MHz                                                 0011
HS2 (high power)                           100 kHz-4 MHz                                                 0010
XT                                                                                                       0001
LP                                             31.25 kHz                                                 0000
RC (External)                                   0-4 MHz                                                  001x
INTIO                                      32 kHz-16 MHz                                                 100x
                                                                                          (and OSCCON, OSCCON2)

FIGURE 3-1:          PIC18F66K80 FAMILY CLOCK DIAGRAM

       SOSCO                                                4x PLL                                                                 Peripherals
        SOSCI                                       MUX                                                                              CPU
         OSC2                                                                  MUX
         OSC1                                                                                                  MUX

                                                    FOSC<3:0>                PLLEN
                                                                             and PLLCFG

                                                                                                                    IDLEN

                                           16 MHz           16 MHz 111                                              Clock Control  SCS<1:0>
                                           8 MHz
                  HF-INTOSC    Postscaler  4 MHz    MUX       8 MHz                                                 FOSC<3:0>
                   16 MHz to               2 MHz                     MUX110
                                           1 MHz
                     31 kHz                                                          MUX4 MHz
                                           500 kHz                      101
                                           250 kHz
                                           31 kHz             2 MHz
                                                                        100

                                                              1 MHz 011
                                                           500 kHz
                                                           250 kHz 010

                                                                        001
                                                             31 kHz

                                                                        000

                  MF-INTOSC    Postscaler  500 kHz                                        IRCF<2:0>
                   500 kHz to              250 kHz
                                           31 kHz
                     31 kHz

                                           MFIOSEL          INTSRC

                  LF-INTOSC    31 kHz
                     31 kHz

DS39977F-page 52                                                                           2010-2012 Microchip Technology Inc.
                                                            PIC18F66K80 FAMILY

3.2 Control Registers                                       The OSCTUNE register (Register 3-3) controls the
                                                            tuning and operation of the internal oscillator block. It also
The OSCCON register (Register 3-1) controls the main        implements the PLLEN bit which controls the operation of
aspects of the device clock's operation. It selects the     the Phase Locked Loop (PLL) (see Section 3.5.3 "PLL
oscillator type to be used, which of the power-managed      Frequency Multiplier").
modes to invoke and the output frequency of the
INTOSC source. It also provides status on the oscillators.

REGISTER 3-1: OSCCON: OSCILLATOR CONTROL REGISTER

    R/W-0    R/W-1     R/W-1             R/W-0               R(1)     R-0          R/W-0         R/W-0
    IDLEN   IRCF2(2)  IRCF1(2)          IRCF0(2)            OSTS   HFIOFS         SCS1(4)       SCS0(4)
bit 7
                                                                                                        bit 0

Legend:               W = Writable bit                      U = Unimplemented bit, read as `0'
R = Readable bit      `1' = Bit is set
-n = Value at POR                                           `0' = Bit is cleared  x = Bit is unknown

bit 7       IDLEN: Idle Enable bit
bit 6-4
            1 = Device enters an Idle mode when a SLEEP instruction is executed
bit 3       0 = Device enters Sleep mode when a SLEEP instruction is executed

            IRCF<2:0>: Internal Oscillator Frequency Select bits(2)

            111 = HF-INTOSC output frequency is used (16 MHz)
            110 = HF-INTOSC/2 output frequency is used (8 MHz, default)
            101 = HF-INTOSC/4 output frequency is used (4 MHz)
            100 = HF-INTOSC/8 output frequency is used (2 MHz)
            011 = HF-INTOSC/16 output frequency is used (1 MHz)

            If INTSRC = 0 and MFIOSEL = 0:(3,5)
            010 = HF-INTOSC/32 output frequency is used (500 kHz)
            001 = HF-INTOSC/64 output frequency is used (250 kHz)
            000 = LF-INTOSC output frequency is used (31.25 kHz)(6)

            If INTSRC = 1 and MFIOSEL = 0:(3,5)
            010 = HF-INTOSC/32 output frequency is used (500 kHz)
            001 = HF-INTOSC/64 output frequency is used (250 kHz)
            000 = HF-INTOSC/512 output frequency is used (31.25 kHz)

            If INTSRC = 0 and MFIOSEL = 1:(3,5)
            010 = MF-INTOSC output frequency is used (500 kHz)
            001 = MF-INTOSC/2 output frequency is used (250 kHz)
            000 = LF-INTOSC output frequency is used (31.25 kHz)(6)

            If INTSRC = 1 and MFIOSEL = 1:(3,5)
            010 = MF-INTOSC output frequency is used (500 kHz)
            001 = MF-INTOSC/2 output frequency is used (250 kHz)
            000 = MF-INTOSC/16 output frequency is used (31.25 kHz)

            OSTS: Oscillator Start-up Timer Time-out Status bit(1)

            1 = Oscillator Start-up Timer (OST) time-out has expired; primary oscillator is running, as defined by
                  FOSC<3:0>

            0 = Oscillator Start-up Timer (OST) time-out is running; primary oscillator is not ready device is
                  running from internal oscillator (HF-INTOSC, MF-INTOSC or LF-INTOSC)

Note 1:     The Reset state depends on the state of the IESO Configuration bit (CONFIG1H<7>).
        2:  Modifying these bits will cause an immediate clock frequency switch if the internal oscillator is providing
            the device clocks.
        3:  The source is selected by the INTSRC bit (OSCTUNE<7>).
        4:  Modifying these bits will cause an immediate clock source switch.
        5:  INTSRC = OSCTUNE<7> and MFIOSEL = OSCCON2<0>.
        6:  This is the lowest power option for an internal source.

2010-2012 Microchip Technology Inc.                                                            DS39977F-page 53
PIC18F66K80 FAMILY

REGISTER 3-1: OSCCON: OSCILLATOR CONTROL REGISTER (CONTINUED)

bit 2       HFIOFS: HF-INTOSC Frequency Stable bit
bit 1-0
            1 = HF-INTOSC oscillator frequency is stable
            0 = HF-INTOSC oscillator frequency is not stable

            SCS<1:0>: System Clock Select bits(4)

            1x = Internal oscillator block (LF-INTOSC, MF-INTOSC or HF-INTOSC)
            01 = SOSC oscillator
            00 = Default primary oscillator (OSC1/OSC2 or HF-INTOSC with or without PLL; defined by the

                   FOSC<3:0> Configuration bits, CONFIG1H<3:0>)

Note 1:     The Reset state depends on the state of the IESO Configuration bit (CONFIG1H<7>).
        2:  Modifying these bits will cause an immediate clock frequency switch if the internal oscillator is providing
            the device clocks.
        3:  The source is selected by the INTSRC bit (OSCTUNE<7>).
        4:  Modifying these bits will cause an immediate clock source switch.
        5:  INTSRC = OSCTUNE<7> and MFIOSEL = OSCCON2<0>.
        6:  This is the lowest power option for an internal source.

REGISTER 3-2: OSCCON2: OSCILLATOR CONTROL REGISTER 2

       U-0         R-0  U-0               R/W-1     R/W-0                 U-0     R-x     R/W-0
                                                                               MFIOFS   MFIOSEL
       --   SOSCRUN     --   SOSCDRV(1) SOSCGO                            --
                                                                                                 bit 0
bit 7

Legend:                 W = Writable bit            U = Unimplemented bit, read as `0'
R = Readable bit        `1' = Bit is set
-n = Value at POR                                   `0' = Bit is cleared       x = Bit is unknown

bit 7       Unimplemented: Read as `0'

bit 6       SOSCRUN: SOSC Run Status bit

            1 = System clock comes from a secondary SOSC
            0 = System clock comes from an oscillator other than SOSC

bit 5       Unimplemented: Read as `0'

bit 4       SOSCDRV: Secondary Oscillator Drive Control bit(1)

            1 = High-power SOSC circuit is selected
            0 = Low/high-power select is done via the SOSCSEL<1:0> Configuration bits

bit 3       SOSCGO: Oscillator Start Control bit

            1 = Oscillator is running even if no other sources are requesting it.
            0 = Oscillator is shut off if no other sources are requesting it (When the SOSC is selected to run from

                  a digital clock input, rather than an external crystal, this bit has no effect.)

bit 2       Unimplemented: Read as `0'

bit 1       MFIOFS: MF-INTOSC Frequency Stable bit

            1 = MF-INTOSC is stable
            0 = MF-INTOSC is not stable

bit 0       MFIOSEL: MF-INTOSC Select bit

            1 = MF-INTOSC is used in place of HF-INTOSC frequencies of 500 kHz, 250 kHz and 31.25 kHz
            0 = MF-INTOSC is not used

Note 1: When SOSC is selected to run from a digital clock input, rather than an external crystal, this bit has no effect.

DS39977F-page 54                                                           2010-2012 Microchip Technology Inc.
                                                       PIC18F66K80 FAMILY

REGISTER 3-3: OSCTUNE: OSCILLATOR TUNING REGISTER

    R/W-0     R/W-0  R/W-0             R/W-0           R/W-0        R/W-0  R/W-0                 R/W-0
   INTSRC     PLLEN  TUN5              TUN4            TUN3         TUN2   TUN1                  TUN0
bit 7
                                                                                                        bit 0

Legend:              W = Writable bit         U = Unimplemented bit, read as `0'
R = Readable bit     `1' = Bit is set
-n = Value at POR                             `0' = Bit is cleared         x = Bit is unknown

bit 7      INTSRC: Internal Oscillator Low-Frequency Source Select bit
bit 6
bit 5-0    1 = 31.25 kHz device clock is derived from 16 MHz INTOSC source (divide-by-512 enabled, HF-INTOSC)
           0 = 31 kHz device clock is derived from INTOSC 31 kHz oscillator (LF-INTOSC)

           PLLEN: Frequency Multiplier PLL Enable bit

           1 = PLL is enabled
           0 = PLL is disabled

           TUN<5:0>: Fast RC Oscillator (INTOSC) Frequency Tuning bits

           011111 = Maximum frequency

                    

                    

           000001
           000000 = Center frequency; fast RC oscillator is running at the calibrated frequency

           111111

                    

                    

           100000 = Minimum frequency

2010-2012 Microchip Technology Inc.                                                             DS39977F-page 55
PIC18F66K80 FAMILY

3.3 Clock Sources and                                        In addition to being a primary clock source in some
         Oscillator Switching                                circumstances, the internal oscillator is available as a
                                                             power-managed mode clock source. The LF-INTOSC
Essentially, PIC18F66K80 family devices have these           source is also used as the clock source for several
independent clock sources:                                   special features, such as the WDT and Fail-Safe Clock
                                                             Monitor. The internal oscillator block is discussed in
Primary oscillators                                        more detail in Section 3.6 "Internal Oscillator
Secondary oscillators                                      Block".
Internal oscillator
                                                             The PIC18F66K80 family includes features that allow
The primary oscillators can be thought of as the main        the device clock source to be switched from the main
device oscillators. These are any external oscillators       oscillator, chosen by device configuration, to one of the
connected to the OSC1 and OSC2 pins, and include             alternate clock sources. When an alternate clock
the External Crystal and Resonator modes and the             source is enabled, various power-managed operating
External Clock modes. If selected by the FOSC<3:0>           modes are available.
Configuration bits (CONFIG1H<3:0>), the internal
oscillator block may be considered a primary oscillator.     3.3.1 OSC1/OSC2 OSCILLATOR
The internal oscillator block can be one of the following:
                                                             The OSC1/OSC2 oscillator block is used to provide the
31 kHz LF-INTOSC source                                    oscillator modes and frequency ranges:

31 kHz to 500 kHz MF-INTOSC source                         Mode   Design Operating Frequency

31 kHz to 16 MHz HF-INTOSC source                             LP           31.25-100 kHz
                                                                XT        100 kHz to 4 MHz
The particular mode is defined by the FOSCx                     HS         4 MHz to 25 MHz
Configuration bits. The details of these modes are              EC  0 to 64 MHz (external clock)
covered in Section 3.5 "External Oscillator Modes".          EXTRC    0 to 4 MHz (external RC)

The secondary oscillators are external clock                 The crystal-based oscillators (XT, HS and LP) have a
sources that are not connected to the OSC1 or OSC2           built-in start-up time. The operation of the EC and
pin. These sources may continue to operate, even             EXTRC clocks is immediate.
after the controller is placed in a power-managed
mode. PIC18F66K80 family devices offer the SOSC              3.3.2 CLOCK SOURCE SELECTION
(Timer1/3/5/7) oscillator as a secondary oscillator
source.                                                      The System Clock Select bits, SCS<1:0>
                                                             (OSCCON<1:0>), select the clock source. The avail-
The SOSC can be enabled from any peripheral that             able clock sources are the primary clock defined by the
requests it. The SOSC can be enabled several ways by         FOSC<3:0> Configuration bits, the secondary clock
doing one of the following:                                  (SOSC oscillator) and the internal oscillator. The clock
                                                             source changes after one or more of the bits is written
The SOSC is selected as the source by either of            to, following a brief clock transition interval.
   the odd timers, which is done by each respective
   SOSCEN bit (TxCON<3>)                                     The OSTS (OSCCON<3>) and SOSCRUN
                                                             (OSCCON2<6>) bits indicate which clock source is
The SOSC is selected as the CPU clock source               currently providing the device clock. The OSTS bit
   by the SCSx bits (OSCCON<1:0>)                            indicates that the Oscillator Start-up Timer (OST) has
                                                             timed out and the primary clock is providing the device
The SOSCGO bit is set (OSCCON2<3>)                         clock in primary clock modes. The SOSCRUN bit indi-
                                                             cates when the SOSC oscillator (from Timer1/3/5/7) is
The SOSCGO bit is used to warm up the SOSC so that           providing the device clock in secondary clock modes.
it is ready before any peripheral requests it.               In power-managed modes, only one of these bits will
                                                             be set at any time. If neither of these bits is set, the
The secondary oscillator has three Run modes. The            INTOSC is providing the clock or the internal oscillator
SOSCSEL<1:0> bits (CONFIG1L<4:3>) decide the                 has just started and is not yet stable.
SOSC mode of operation:
                                                             The IDLEN bit (OSCCON<7>) determines if the device
11 = High-Power SOSC Circuit                               goes into Sleep mode or one of the Idle modes when
                                                             the SLEEP instruction is executed.
10 = Digital (SCLKI) mode

11 = Low-Power SOSC Circuit

If a secondary oscillator is not desired and digital I/O on
port pins, RC0 and RC1, is needed, the SOSCSELx
bits must be set to Digital mode.

DS39977F-page 56                                                     2010-2012 Microchip Technology Inc.
                                                               PIC18F66K80 FAMILY

The use of the flag and control bits in the OSCCON             3.4 RC Oscillator
register is discussed in more detail in Section 4.0
"Power-Managed Modes".                                         For timing-insensitive applications, the RC and RCIO
                                                               Oscillator modes offer additional cost savings. The actual
    Note 1: The Timer1/3/5/7 oscillator must be                oscillator frequency is a function of several factors:
                enabled to select the secondary clock
                source. The Timerx oscillator is enabled by    Supply voltage
                setting the SOSCEN bit in the Timerx Con-       Values of the external resistor (REXT) and capacitor
                trol register (TxCON<3>). If the Timerx
                oscillator is not enabled, then any attempt       (CEXT)
                to select a secondary clock source when         Operating temperature
                executing a SLEEP instruction will be
                ignored.                                       Given the same device, operating voltage and tempera-
                                                               ture, and component values, there will also be unit to unit
           2: It is recommended that the Timerx                frequency variations. These are due to factors such as:
                oscillator be operating and stable before
                executing the SLEEP instruction or a very       Normal manufacturing variation
                long delay may occur while the Timerx          Difference in lead frame capacitance between
                oscillator starts.
                                                                  package types (especially for low CEXT values)
3.3.2.1  System Clock Selection and Device                      Variations within the tolerance of the limits of
         Resets
                                                                  REXT and CEXT
Since the SCSx bits are cleared on all forms of Reset,
this means the primary oscillator defined by the               In the RC Oscillator mode, the oscillator frequency,
FOSC<3:0> Configuration bits is used as the primary            divided by 4, is available on the OSC2 pin. This signal
clock source on device Resets. This could either be the        may be used for test purposes or to synchronize other
internal oscillator block by itself, or one of the other       logic. Figure 3-2 shows how the R/C combination is
primary clock sources (HS, EC, XT, LP, External RC             connected.
and PLL-enabled modes).
                                                               FIGURE 3-2:  RC OSCILLATOR MODE

                                                                       VDD

In those cases when the internal oscillator block, with-       REXT         OSC1                   Internal
out PLL, is the default clock on Reset, the Fast RC            CEXT                                 Clock
Oscillator (INTOSC) will be used as the device clock
source. It will initially start at 8 MHz; the postscaler       VSS                PIC18F66K80
selection that corresponds to the Reset value of the
IRCF<2:0> bits (`110').                                                                 OSC2/CLKO
                                                                            FOSC/4

Regardless of which primary oscillator is selected,            Recommended values: 3 k  REXT  100 k
INTOSC will always be enabled on device power-up. It                                           20 pF CEXT  300 pF
serves as the clock source until the device has loaded
its configuration values from memory. It is at this point      The RCIO Oscillator mode (Figure 3-3) functions like
that the FOSCx Configuration bits are read and the             the RC mode, except that the OSC2 pin becomes an
oscillator selection of the operational mode is made.          additional general purpose I/O pin. The I/O pin
                                                               becomes bit 6 of PORTA (RA6).
Note that either the primary clock source or the internal
oscillator will have two bit setting options for the possible  FIGURE 3-3:  RCIO OSCILLATOR MODE
values of the SCS<1:0> bits, at any given time.
                                                                       VDD
3.3.3 OSCILLATOR TRANSITIONS
                                                               REXT                                Internal
PIC18F66K80 family devices contain circuitry to                                                     Clock
prevent clock "glitches" when switching between clock                       OSC1
sources. A short pause in the device clock occurs
during the clock switch. The length of this pause is the       CEXT                    PIC18F66K80
sum of two cycles of the old clock source and three to         VSS          I/O (OSC2)
four cycles of the new clock source. This formula
assumes that the new clock source is stable.                         RA6

Clock transitions are discussed in greater detail in           Recommended values: 3 k  REXT  100 k
Section 4.1.2 "Entering Power-Managed Modes".                                                  20 pF CEXT  300 pF

2010-2012 Microchip Technology Inc.                                                               DS39977F-page 57
PIC18F66K80 FAMILY

3.5 External Oscillator Modes                               TABLE 3-3: CAPACITOR SELECTION FOR
                                                                                 CRYSTAL OSCILLATOR
3.5.1  CRYSTAL OSCILLATOR/CERAMIC
       RESONATORS (HS MODES)                                                         Typical Capacitor Values
                                                                         Crystal                 Tested:
                                                            Osc Type      Freq.
In HS or HSPLL Oscillator modes, a crystal or ceramic
resonator is connected to the OSC1 and OSC2 pins to                                  C1     C2
establish oscillation. Figure 3-4 shows the pin
connections.                                                HS           4 MHz       27 pF  27 pF

The oscillator design requires the use of a crystal rated                8 MHz       22 pF  22 pF
for parallel resonant operation.
                                                                         20 MHz      15 pF  15 pF

       Use of a crystal rated for series resonant           Capacitor values are for design guidance only.
       operation may give a frequency out of the
Note:  crystal manufacturer's specifications.               Different capacitor values may be required to produce
                                                            acceptable oscillator operation. The user should test
                                                            the performance of the oscillator over the expected
                                                            VDD and temperature range for the application.

TABLE 3-2: CAPACITOR SELECTION FOR                          Refer to the Microchip application notes cited in
                     CERAMIC RESONATORS                     Table 3-2 for oscillator specific information. Also see
                                                            the notes following this table for additional
       Typical Capacitor Values Used:                       information.

Mode   Freq.      OSC1                 OSC2

HS     8.0 MHz    27 pF                27 pF                Note 1: Higher capacitance increases the stability
                  22 pF                22 pF                            of oscillator but also increases the start-up
       16.0 MHz                                                         time.

Capacitor values are for design guidance only.                     2: Since each resonator/crystal has its own
                                                                        characteristics, the user should consult
Different capacitor values may be required to produce                   the resonator/crystal manufacturer for
acceptable oscillator operation. The user should test                   appropriate values of external components.
the performance of the oscillator over the expected
VDD and temperature range for the application. Refer               3: Rs may be required to avoid overdriving
to the following application notes for oscillator-specific              crystals with low drive level specification.
information:
                                                                   4: Always verify oscillator performance over
AN588, "PIC Microcontroller Oscillator Design                        the VDD and temperature range that is
   Guide"                                                               expected for the application.

AN826, "Crystal Oscillator Basics and Crystal             FIGURE 3-4:           CRYSTAL/CERAMIC
   Selection for rfPIC and PIC Devices"                                         RESONATOR OPERATION
                                                                                  (HS OR HSPLL
AN849, "Basic PIC Oscillator Design"                                           CONFIGURATION)
AN943, "Practical PIC Oscillator Analysis and
                                                            C1(1)              OSC1
   Design"

AN949, "Making Your Oscillator Work"

See the notes following Table 3-3 for additional
information.

                                                                         XTAL        RF(3)         To
                                                                                                   Internal
                                                                               OSC2                Logic
                                                                         RS(2)              Sleep

                                                            C2(1)                    PIC18F66K80

                                                            Note 1:     See Table 3-2 and Table 3-3 for initial values of
                                                                    2:  C1 and C2.
                                                                    3:
                                                                        A series resistor (RS) may be required for AT
                                                                        strip cut crystals.

                                                                        RF varies with the oscillator mode chosen.

DS39977F-page 58                                                          2010-2012 Microchip Technology Inc.
                                                             PIC18F66K80 FAMILY

3.5.2  EXTERNAL CLOCK INPUT                                  3.5.3.1 HSPLL and ECPLL Modes
       (EC MODES)
                                                             The HSPLL and ECPLL modes provide the ability to
The EC and ECPLL Oscillator modes require an                 selectively run the device at four times the external
external clock source to be connected to the OSC1 pin.       oscillating source to produce frequencies up to
There is no oscillator start-up time required after a        64 MHz.
Power-on Reset or after an exit from Sleep mode.
                                                             The PLL is enabled by setting the PLLEN bit
In the EC Oscillator mode, the oscillator frequency          (OSCTUNE<6>) or the PLLCFG bit (CONFIG1H<4>).
divided by 4 is available on the OSC2 pin. This signal       For the HF-INTOSC as primary, the PLL must be
may be used for test purposes or to synchronize other        enabled with the PLLEN. This provides a software con-
logic. Figure 3-5 shows the pin connections for the EC       trol for the PLL, enabling even if PLLCFG is set to `1',
Oscillator mode.                                             so that the PLL is enabled only when the HF-INTOSC
                                                             frequency is within the 4 MHz to16 MHz input range.
FIGURE 3-5:             EXTERNAL CLOCK
                        INPUT OPERATION                      This also enables additional flexibility for controlling the
                        (EC CONFIGURATION)                   application's clock speed in software. The PLLEN
                                                             should be enabled in HF-INTOSC mode only if the
                                                             input frequency is in the range of 4 MHz-16 MHz.

Clock from              OSC1/CLKI                            FIGURE 3-7:         PLL BLOCK DIAGRAM
Ext. System
                             PIC18F66K80                        PLLCFG (CONFIG1H<4>)
               FOSC/4                                        PLL Enable (OSCTUNE<6>)
                        OSC2/CLKO

An external clock source may also be connected to the        OSC2                FIN      Phase
OSC1 pin in the HS mode, as shown in Figure 3-6. In                              FOUT  Comparator
this configuration, the divide-by-4 output on OSC2 is                  HS or EC
not available. Current consumption in this configuration     OSC1 Mode
will be somewhat higher than EC mode, as the internal
oscillator's feedback circuitry will be enabled (in EC                                 Loop
mode, the feedback circuit is disabled).                                               Filter

FIGURE 3-6:             EXTERNAL CLOCK INPUT
                        OPERATION (HS OSC
                        CONFIGURATION)                                           4     VCO              SYSCLK

                                                                                                   MUX

Clock from              OSC1                                 3.5.3.2 PLL and HF-INTOSC
Ext. System
                            PIC18F66K80                      The PLL is available to the internal oscillator block
                  Open                                       when the internal oscillator block is configured as the
                                 (HS Mode)                   primary clock source. In this configuration, the PLL is
                        OSC2                                 enabled in software and generates a clock output of up
                                                             to 64 MHz.
3.5.3 PLL FREQUENCY MULTIPLIER
                                                             The operation of INTOSC with the PLL is described in
A Phase Lock Loop (PLL) circuit is provided as an            Section 3.6.2 "INTPLL Modes". Care should be taken
option for users who want to use a lower frequency           that the PLL is enabled only if the HF-INTOSC
oscillator circuit or to clock the device up to its highest  postscaler is configured for 4 MHz, 8 MHz or 16 MHz.
rated frequency from a crystal oscillator. This may be
useful for customers who are concerned with EMI due
to high-frequency crystals or users who require higher
clock speeds from an internal oscillator.

2010-2012 Microchip Technology Inc.                                                           DS39977F-page 59
PIC18F66K80 FAMILY

3.6 Internal Oscillator Block                               FIGURE 3-8: INTIO1 OSCILLATOR MODE

The PIC18F66K80 family of devices includes an internal         RA7  I/O (OSC1)
oscillator block which generates two different clock        FOSC/4
signals. Either clock can be used as the microcontroller's                   PIC18F66K80
clock source, which may eliminate the need for an
external oscillator circuit on the OSC1 and/or OSC2 pins.           OSC2

The Internal oscillator consists of three blocks,           FIGURE 3-9: INTIO2 OSCILLATOR MODE
depending on the frequency of operation. They are
HF-INTOSC, MF-INTOSC and LF-INTOSC.                         RA7     I/O (OSC1)

In HF-INTOSC mode, the internal oscillator can provide              PIC18F66K80
a frequency ranging from 31 KHz to 16 MHz, with the
postscaler deciding the selected frequency                  RA6     I/O (OSC2)
(IRCF<2:0>).
                                                            3.6.2 INTPLL MODES
The INTSRC bit (OSCTUNE<7>) and MFIOSEL bit
(OSCCON2<0>) also decide which INTOSC provides              The 4x Phase Lock Loop (PLL) can be used with the
the lower frequency (500 kHz to 31 KHz). For the            HF-INTOSC to produce faster device clock speeds
HF-INTOSC to provide these frequencies, INTSRC = 1          than are normally possible with the internal oscillator
and MFIOSEL = 0.                                            sources. When enabled, the PLL produces a clock
                                                            speed of 16 MHz or 64 MHz.
In HF-INTOSC, the postscaler (IRCF<2:0>) provides
the frequency range of 31 kHz to 16 MHz. If                 PLL operation is controlled through software. The
HF-INTOSC is used with the PLL, the input frequency         control bits, PLLEN (OSCTUNE<6>) and PLLCFG
to the PLL should be 4 MHz to 16 MHz                        (CONFIG1H<4>), are used to enable or disable its
(IRCF<2:0> = 111, 110 or 101).                              operation. The PLL is available only to HF-INTOSC.
                                                            The other oscillator is set with HS and EC modes. Addi-
For MF-INTOSC mode to provide a frequency range of          tionally, the PLL will only function when the selected
500 kHz to 31 kHz, INTSRC = 1 and MFIOSEL = 1.              output frequency is either 4 MHz or 16 MHz
The postscaler (IRCF<2:0>), in this mode, provides the      (OSCCON<6:4> = 111, 110 or 101).
frequency range of 31 kHz to 500 kHz.
                                                            Like the INTIO modes, there are two distinct INTPLL
The LF-INTOSC can provide only 31 kHz if INTSRC = 0.        modes available:

The LF-INTOSC provides 31 kHz and is enabled if it is       In INTPLL1 mode, the OSC2 pin outputs FOSC/4,
selected as the device clock source. The mode is               while OSC1 functions as RA7 for digital input and
enabled automatically when any of the following are            output. Externally, this is identical in appearance
enabled:                                                       to INTIO1 (see Figure 3-8).
Power-up Timer (PWRT)
                                                             In INTPLL2 mode, OSC1 functions as RA7 and
Fail-Safe Clock Monitor (FSCM)                               OSC2 functions as RA6, both for digital input and
                                                               output. Externally, this is identical to INTIO2 (see
Watchdog Timer (WDT)                                         Figure 3-9).

Two-Speed Start-up

These features are discussed in greater detail in
Section 28.0 "Special Features of the CPU".

The clock source frequency (HF-INTOSC, MF-INTOSC
or LF-INTOSC direct) is selected by configuring the
IRCFx bits of the OSCCON register, as well the
INTSRC and MFIOSEL bits. The default frequency on
device Resets is 8 MHz.

3.6.1 INTIO MODES

Using the internal oscillator as the clock source elimi-
nates the need for up to two external oscillator pins,
which can then be used for digital I/O. Two distinct
oscillator configurations, which are determined by the
FOSCx Configuration bits, are available:
In INTIO1 mode, the OSC2 pin (RA6) outputs

   FOSC/4, while OSC1 functions as RA7 (see
   Figure 3-8) for digital input and output.

In INTIO2 mode, OSC1 functions as RA7 and
   OSC2 functions as RA6 (see Figure 3-9). Both
   are available as digital input and output ports.

DS39977F-page 60                                                     2010-2012 Microchip Technology Inc.
                                                             PIC18F66K80 FAMILY

3.6.3  INTERNAL OSCILLATOR OUTPUT                            3.6.4.3  Compensating with the CCP Module
       FREQUENCY AND TUNING                                           in Capture Mode

The internal oscillator block is calibrated at the factory   A CCP module can use free-running Timer1 (or
to produce an INTOSC output frequency of 16 MHz. It          Timer3), clocked by the internal oscillator block and an
can be adjusted in the user's application by writing to      external event with a known period (i.e., AC power
TUN<5:0> (OSCTUNE<5:0>) in the OSCTUNE                       frequency). The time of the first event is captured in the
register (Register 3-3).                                     CCPRxH:CCPRxL registers and is recorded for use
                                                             later. When the second event causes a capture, the
When the OSCTUNE register is modified, the INTOSC            time of the first event is subtracted from the time of the
(HF-INTOSC and MF-INTOSC) frequency will begin               second event. Since the period of the external event is
shifting to the new frequency. The oscillator will require   known, the time difference between events can be
some time to stabilize. Code execution continues             calculated.
during this shift and there is no indication that the shift
has occurred.                                                If the measured time is much greater than the
                                                             calculated time, the internal oscillator block is running
The LF-INTOSC oscillator operates independently of           too fast. To compensate, decrement the OSCTUNE
the HF-INTOSC or the MF-INTOSC source. Any                   register. If the measured time is much less than the
changes in the HF-INTOSC or the MF-INTOSC source,            calculated time, the internal oscillator block is running
across voltage and temperature, are not necessarily          too slow. To compensate, increment the OSCTUNE
reflected by changes in LF-INTOSC or vice versa. The         register.
frequency of LF-INTOSC is not affected by OSCTUNE.

3.6.4 INTOSC FREQUENCY DRIFT                                 3.7 Reference Clock Output

The INTOSC frequency may drift as VDD or tempera-            In addition to the FOSC/4 clock output, in certain
ture changes and can affect the controller operation in      oscillator modes, the device clock in the PIC18F66K80
a variety of ways. It is possible to adjust the INTOSC       family can also be configured to provide a reference
frequency by modifying the value in the OSCTUNE              clock output signal to a port pin. This feature is avail-
register. Depending on the device, this may have no          able in all oscillator configurations and allows the user
effect on the LF-INTOSC clock source frequency.              to select a greater range of clock submultiples to drive
                                                             external devices in the application.
Tuning INTOSC requires knowing when to make the
adjustment, in which direction it should be made, and in     This reference clock output is controlled by the
some cases, how large a change is needed. Three              REFOCON register (Register 3-4). Setting the ROON
compensation techniques are shown here.                      bit (REFOCON<7>) makes the clock signal available
                                                             on the REFO (RC3) pin. The RODIV<3:0> bits enable
3.6.4.1 Compensating with the EUSARTx                        the selection of 16 different clock divider options.

An adjustment may be required when the EUSARTx               The ROSSLP and ROSEL bits (REFOCON<5:4>) con-
begins to generate framing errors or receives data with      trol the availability of the reference output during Sleep
errors while in Asynchronous mode. Framing errors            mode. The ROSEL bit determines if the oscillator on
indicate that the device clock frequency is too high. To     OSC1 and OSC2, or the current system clock source,
adjust for this, decrement the value in OSCTUNE to           is used for the reference clock output. The ROSSLP bit
reduce the clock frequency. On the other hand, errors        determines if the reference source is available on RE3
in data may suggest that the clock speed is too low. To      when the device is in Sleep mode.
compensate, increment OSCTUNE to increase the
clock frequency.                                             To use the reference clock output in Sleep mode, both
                                                             the ROSSLP and ROSEL bits must be set. The device
3.6.4.2 Compensating with the Timers                         clock must also be configured for an EC or HS mode. If
                                                             not, the oscillator on OSC1 and OSC2 will be powered
This technique compares device clock speed to some           down when the device enters Sleep mode. Clearing the
reference clock. Two timers may be used; one timer is        ROSEL bit allows the reference output frequency to
clocked by the peripheral clock, while the other is          change as the system clock changes during any clock
clocked by a fixed reference source, such as the SOSC        switches.
oscillator.

Both timers are cleared, but the timer clocked by the
reference generates interrupts. When an interrupt
occurs, the internally clocked timer is read and both
timers are cleared. If the internally clocked timer value
is much greater than expected, then the internal
oscillator block is running too fast. To adjust for this,
decrement the OSCTUNE register.

2010-2012 Microchip Technology Inc.                                  DS39977F-page 61
PIC18F66K80 FAMILY

REGISTER 3-4:      REFOCON: REFERENCE OSCILLATOR CONTROL REGISTER

      R/W-0        U-0  R/W-0             R/W-0  R/W-0                 R/W-0  R/W-0    R/W-0
      ROON                                                                            RODIV0
bit 7             --   ROSSLP ROSEL(1) RODIV3          RODIV2                RODIV1
                                                                                              bit 0

Legend:                 W = Writable bit         U = Unimplemented bit, read as `0'
R = Readable bit        `1' = Bit is set
-n = Value at POR                                `0' = Bit is cleared         x = Bit is unknown

bit 7    ROON: Reference Oscillator Output Enable bit

bit 6    1 = Reference oscillator output is available on REFO pin
bit 5    0 = Reference oscillator output is disabled

bit 4    Unimplemented: Read as `0'

bit 3-0  ROSSLP: Reference Oscillator Output Stop in Sleep bit

         1 = Reference oscillator continues to run in Sleep
         0 = Reference oscillator is disabled in Sleep

         ROSEL: Reference Oscillator Source Select bit(1)

         1 = Primary oscillator (EC or HS) is used as the base clock
         0 = System clock is used as the base clock; base clock reflects any clock switching of the device

         RODIV<3:0>: Reference Oscillator Divisor Select bits

         1111 = Base clock value divided by 32,768
         1110 = Base clock value divided by 16,384
         1101 = Base clock value divided by 8,192
         1100 = Base clock value divided by 4,096
         1011 = Base clock value divided by 2,048
         1010 = Base clock value divided by 1,024
         1001 = Base clock value divided by 512
         1000 = Base clock value divided by 256
         0111 = Base clock value divided by 128
         0110 = Base clock value divided by 64
         0101 = Base clock value divided by 32
         0100 = Base clock value divided by 16
         0011 = Base clock value divided by 8
         0010 = Base clock value divided by 4
         0001 = Base clock value divided by 2
         0000 = Base clock value

Note 1: For ROSEL (REFOCON<4>), the primary oscillator is available only when configured as the default via the
              FOSCx settings. This is regardless of whether the device is in Sleep mode.

DS39977F-page 62                                                        2010-2012 Microchip Technology Inc.
                                                            PIC18F66K80 FAMILY

3.8 Effects of Power-Managed Modes                          3.9 Power-up Delays

          on the Various Clock Sources                      Power-up delays are controlled by two timers, so that no
                                                            external Reset circuitry is required for most applications.
When PRI_IDLE mode is selected, the designated pri-         The delays ensure that the device is kept in Reset until
mary oscillator continues to run without interruption.      the device power supply is stable under normal circum-
For all other power-managed modes, the oscillator           stances and the primary clock is operating and stable.
using the OSC1 pin is disabled. The OSC1 pin (and           For additional information on power-up delays, see
OSC2 pin if used by the oscillator) will stop oscillating.  Section 5.6.1 "Power-up Timer (PWRT)".

In secondary clock modes (SEC_RUN and                       The first timer is the Power-up Timer (PWRT), which
SEC_IDLE), the SOSC oscillator is operating and             provides a fixed delay on power-up time of about 64 ms
providing the device clock. The SOSC oscillator may         (Parameter 33, Table 31-11); it is always enabled.
also run in all power-managed modes if required to
clock SOSC.                                                 The second timer is the Oscillator Start-up Timer
                                                            (OST), intended to keep the chip in Reset until the
In RC_RUN and RC_IDLE modes, the internal                   crystal oscillator is stable (HS, XT or LP modes). The
oscillator provides the device clock source. The 31 kHz     OST does this by counting 1,024 oscillator cycles
LF-INTOSC output can be used directly to provide the        before allowing the oscillator to clock the device.
clock and may be enabled to support various special
features, regardless of the power-managed mode (see         There is a delay of interval, TCSD (Parameter 38,
Section 28.2 "Watchdog Timer (WDT)" through                 Table 31-11), following POR, while the controller
Section 28.5 "Fail-Safe Clock Monitor" for more             becomes ready to execute instructions.
information on WDT, Fail-Safe Clock Monitor and
Two-Speed Start-up).

If the Sleep mode is selected, all clock sources are
stopped. Since all the transistor switching currents have
been stopped, Sleep mode achieves the lowest current
consumption of the device (only leakage currents).

Enabling any on-chip feature that will operate during
Sleep will increase the current consumed during Sleep.
The INTOSC is required to support WDT operation. The
SOSC oscillator may be operating to support Timer1 or
3. Other features may be operating that do not require a
device clock source (i.e., MSSP slave, INTx pins and
others). Peripherals that may add significant current con-
sumption are listed in Section 31.2 "DC Characteris-

tics: Power-Down and Supply Current PIC18F66K80
Family (Industrial/Extended)".

TABLE 3-4: OSC1 AND OSC2 PIN STATES IN SLEEP MODE

Oscillator Mode                       OSC1 Pin                            OSC2 Pin

EC, ECPLL          Floating, pulled by external clock       At logic low (clock/4 output)

HS, HSPLL          Feedback inverter disabled at quiescent  Feedback inverter disabled at quiescent
                   voltage level                            voltage level

INTOSC, INTPLL1/2  I/O pin, RA6, direction controlled by    I/O pin, RA6, direction controlled by
                   TRISA<6>                                 TRISA<7>

Note: See Section 5.0 "Reset" for time-outs due to Sleep and MCLR Reset.

2010-2012 Microchip Technology Inc.                                      DS39977F-page 63
PIC18F66K80 FAMILY

NOTES:

DS39977F-page 64     2010-2012 Microchip Technology Inc.
                                                          PIC18F66K80 FAMILY

4.0 POWER-MANAGED MODES                                   The IDLEN bit (OSCCON<7>) controls CPU clocking,
                                                          while the SCS<1:0> bits (OSCCON<1:0>) select the
The PIC18F66K80 family of devices offers a total of       clock source. The individual modes, bit settings, clock
seven operating modes for more efficient power man-       sources and affected modules are summarized in
agement. These modes provide a variety of options for     Table 4-1.
selective power conservation in applications where
resources may be limited (such as battery-powered         4.1.1 CLOCK SOURCES
devices).
                                                          The SCS<1:0> bits select one of three clock sources
There are three categories of power-managed mode:         for power-managed modes. Those sources are:

Run modes                                                The primary clock as defined by the FOSC<3:0>
Idle modes                                                 Configuration bits
Sleep mode
                                                          The Secondary Clock (the SOSC oscillator)
There is an Ultra Low-Power Wake-up (ULPWU) for            The Internal Oscillator block (for LF-INTOSC
waking from Sleep mode.
                                                             modes)
These categories define which portions of the device
are clocked, and sometimes, at what speed. The Run        4.1.2    ENTERING POWER-MANAGED
and Idle modes may use any of the three available                  MODES
clock sources (primary, secondary or internal oscillator
block). The Sleep mode does not use a clock source.       Switching from one power-managed mode to another
                                                          begins by loading the OSCCON register. The
The ULPWU mode, on the RA0 pin, enables a slow fall-      SCS<1:0> bits select the clock source and determine
ing voltage to generate a wake-up, even from Sleep,       which Run or Idle mode is used. Changing these bits
without excess current consumption. (See Section 4.7      causes an immediate switch to the new clock source,
"Ultra Low-Power Wake-up".)                               assuming that it is running. The switch may also be
                                                          subject to clock transition delays. These considerations
The power-managed modes include several power-            are discussed in Section 4.1.3 "Clock Transitions
saving features offered on previous PIC devices. One     and Status Indicators" and subsequent sections.
is the clock switching feature, offered in other PIC18
devices. This feature allows the controller to use the    Entering the power-managed Idle or Sleep modes is
SOSC oscillator instead of the primary one. Another       triggered by the execution of a SLEEP instruction. The
power-saving feature is Sleep mode, offered by all PIC    actual mode that results depends on the status of the
devices, where all device clocks are stopped.             IDLEN bit.

4.1 Selecting Power-Managed Modes                         Depending on the current and impending mode, a
                                                          change to a power-managed mode does not always
Selecting a power-managed mode requires two               require setting all of the previously discussed bits. Many
decisions:                                                transitions can be done by changing the oscillator select
                                                          bits, or changing the IDLEN bit, prior to issuing a SLEEP
Will the CPU be clocked or not                          instruction. If the IDLEN bit is already configured as
What will be the clock source                           desired, it may only be necessary to perform a SLEEP
                                                          instruction to switch to the desired mode.

TABLE 4-1: POWER-MANAGED MODES

Mode              OSCCON Bits         Module Clocking              Available Clock and Oscillator Source
          IDLEN<7>(1) SCS<1:0>        CPU Peripherals

Sleep     0    N/A                    Off                 Off      None All clocks are disabled

PRI_RUN   N/A  00                     Clocked             Clocked  Primary XT, LP, HS, EC, RC and PLL modes.
                                                                   This is the normal, full-power execution mode.

SEC_RUN   N/A  01                     Clocked Clocked Secondary SOSC Oscillator

RC_RUN    N/A  1x                     Clocked Clocked Internal oscillator block(2)

PRI_IDLE  1    00                     Off                 Clocked Primary LP, XT, HS, RC, EC

SEC_IDLE  1    01                     Off                 Clocked Secondary SOSC oscillator

RC_IDLE   1    1x                     Off                 Clocked Internal oscillator block(2)

Note 1: IDLEN reflects its value when the SLEEP instruction is executed.

        2: Includes INTOSC (HF-INTOSC and MG-INTOSC) and INTOSC postscaler, as well as the LF-INTOSC
              source.

2010-2012 Microchip Technology Inc.                                                            DS39977F-page 65
PIC18F66K80 FAMILY

4.1.3  CLOCK TRANSITIONS AND STATUS                         4.1.4 MULTIPLE SLEEP COMMANDS
       INDICATORS
                                                            The power-managed mode that is invoked with the
The length of the transition between clock sources is       SLEEP instruction is determined by the setting of the
the sum of two cycles of the old clock source and three     IDLEN bit at the time the instruction is executed. If
to four cycles of the new clock source. This formula        another SLEEP instruction is executed, the device will
assumes that the new clock source is stable. The HF-        enter the power-managed mode specified by IDLEN at
INTOSC and MF-INTOSC are termed as INTOSC in                that time. If IDLEN has changed, the device will enter
this chapter.                                               the new power-managed mode specified by the new
                                                            setting.
Three bits indicate the current clock source and its
status, as shown in Table 4-2. The three bits are:          4.2 Run Modes

OSTS (OSCCON<3>)                                          In the Run modes, clocks to both the core and
HFIOFS (OSCCON<2>)                                        peripherals are active. The difference between these
SOSCRUN (OSCCON2<6>)                                      modes is the clock source.

TABLE 4-2: SYSTEM CLOCK INDICATOR                           4.2.1 PRI_RUN MODE

Main Clock Source     OSTS  HFIOFS or  SOSCRUN              The PRI_RUN mode is the normal, full-power execu-
                             MFIOFS                         tion mode of the microcontroller. This is also the default
                                                            mode upon a device Reset, unless Two-Speed Start-up
Primary Oscillator    1     0          0                    is enabled. (For details, see Section 28.4 "Two-Speed
                                                            Start-up".) In this mode, the OSTS bit is set. The
INTOSC (HF-INTOSC     0     1          0                    HFIOFS or MFIOFS bit may be set if the internal
                                                            oscillator block is the primary clock source. (See
or MF-INTOSC)                                               Section 3.2 "Control Registers".)

Secondary Oscillator  0     0          1                    4.2.2 SEC_RUN MODE

MF-INTOSC or                                                The SEC_RUN mode is the compatible mode to the
                                                            "clock-switching" feature offered in other PIC18
HF-INTOSC as Primary 1      1          0                    devices. In this mode, the CPU and peripherals are
                                                            clocked from the SOSC oscillator. This enables lower
Clock Source                                                power consumption while retaining a high-accuracy
                                                            clock source.
LF-INTOSC is
                                                            SEC_RUN mode is entered by setting the SCS<1:0>
Running or INTOSC is 0      0          0                    bits to `01'. The device clock source is switched to the
                                                            SOSC oscillator (see Figure 4-1), the primary oscillator
Not Yet Stable                                              is shut down, the SOSCRUN bit (OSCCON2<6>) is set
                                                            and the OSTS bit is cleared.
When the OSTS bit is set, the primary clock is providing
the device clock. When the HFIOFS or MFIOFS bit is
set, the INTOSC output is providing a stable clock
source to a divider that actually drives the device clock.
When the SOSCRUN bit is set, the SOSC oscillator is
providing the clock. If none of these bits are set, either
the LF-INTOSC clock source is clocking the device or
the INTOSC source is not yet stable.

If the internal oscillator block is configured as the       Note:  The SOSC oscillator can be enabled by
primary clock source by the FOSC<3:0> Configuration                setting the SOSCGO bit (OSCCON2<3>).
bits (CONFIG1H<3:0>). Then, the OSTS and HFIOFS                    If this bit is set, the clock switch to the
or MFIOFS bits can be set when in PRI_RUN or                       SEC_RUN mode can switch immediately
PRI_IDLE mode. This indicates that the primary clock               once SCS<1:0> are set to `01'.
(INTOSC output) is generating a stable output. Enter-
ing another INTOSC power-managed mode at the                On transitions from SEC_RUN mode to PRI_RUN
same frequency would clear the OSTS bit.                    mode, the peripherals and CPU continue to be clocked
                                                            from the SOSC oscillator while the primary clock is
Note 1: Caution should be used when modifying               started. When the primary clock becomes ready, a
            a single IRCF bit. At a lower VDD, it is        clock switch back to the primary clock occurs (see
            possible to select a higher clock speed         Figure 4-2). When the clock switch is complete, the
            than is supportable by that VDD. Improper       SOSCRUN bit is cleared, the OSTS bit is set and the
            device operation may result if the VDD/         primary clock is providing the clock. The IDLEN and
            FOSC specifications are violated.               SCSx bits are not affected by the wake-up and the
                                                            SOSC oscillator continues to run.
       2: Executing a SLEEP instruction does not
            necessarily place the device into Sleep
            mode. It acts as the trigger to place the
            controller into either the Sleep mode, or
            one of the Idle modes, depending on the
            setting of the IDLEN bit.

DS39977F-page 66                                                    2010-2012 Microchip Technology Inc.
                                                                    PIC18F66K80 FAMILY

FIGURE 4-1:  TRANSITION TIMING FOR ENTRY TO SEC_RUN MODE

             Q1 Q2 Q3 Q4 Q1                                                   Q2 Q3 Q4 Q1 Q2 Q3

SOSCI                                 1  2         3           n-1 n
OSC1
                                               Clock Transition(1)

CPU
Clock

Peripheral
      Clock

Program      PC                                                PC + 2                    PC + 4
Counter

Note 1: Clock transition typically occurs within 2-4 TOSC.

FIGURE 4-2:  TRANSITION TIMING FROM SEC_RUN MODE TO PRI_RUN MODE (HSPLL)

                             Q1                Q2     Q3       Q4      Q1                Q2 Q3 Q4 Q1 Q2 Q3

     SOSC                             TOST(1)         TPLL(1)
     OSC1
                                                                       1 2 n-1 n
PLL Clock
    Output                                                                    Clock
                                                                          Transition(2)
CPU Clock

Peripheral
      Clock

Program                                  PC                                   PC + 2     PC + 4
Counter

             SCS<1:0> Bits Changed                    OSTS Bit Set

Note 1: TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale.
       2: Clock transition typically occurs within 2-4 TOSC.

4.2.3 RC_RUN MODE                                                      This mode is entered by setting the SCS1 bit to `1'. To
                                                                       maintain software compatibility with future devices, it is
In RC_RUN mode, the CPU and peripherals are                            recommended that the SCS0 bit also be cleared, even
clocked from the internal oscillator block using the                   though the bit is ignored. When the clock source is
INTOSC multiplexer. In this mode, the primary clock is                 switched to the INTOSC multiplexer (see Figure 4-3),
shut down. When using the LF-INTOSC source, this                       the primary oscillator is shut down and the OSTS bit is
mode provides the best power conservation of all the                   cleared. The IRCFx bits may be modified at any time to
Run modes, while still executing code. It works well for               immediately change the clock speed.
user applications which are not highly timing-sensitive
or do not require high-speed clocks at all times.                      Note:  Caution should be used when modifying a
                                                                              single IRCF bit. At a lower VDD, it is
If the primary clock source is the internal oscillator                        possible to select a higher clock speed
block either LF-INTOSC or INTOSC (MF-INTOSC or                              than is supportable by that VDD. Improper
HF-INTOSC) there are no distinguishable differences                         device operation may result if the VDD/
between the PRI_RUN and RC_RUN modes during                                   FOSC specifications are violated.
execution. Entering or exiting RC_RUN mode, how-
ever, causes a clock switch delay. Therefore, if the
primary clock source is the internal oscillator block,
using RC_RUN mode is not recommended.

2010-2012 Microchip Technology Inc.                                                     DS39977F-page 67
PIC18F66K80 FAMILY

If the IRCFx bits and the INTSRC bit are all clear, the  If the IRCFx bits are changed from all clear (thus,
INTOSC output (HF-INTOSC/MF-INTOSC) is not               enabling the INTOSC output) or if INTSRC or
enabled and the HFIOFS and MFIOFS bits will remain       MFIOSEL is set, the HFIOFS or MFIOFS bit is set after
clear. There will be no indication of the current clock  the INTOSC output becomes stable. For details, see
source. The LF-INTOSC source is providing the device     Table 4-3.
clocks.

TABLE 4-3: INTERNAL OSCILLATOR FREQUENCY STABILITY BITS

IRCF<2:0>         INTSRC  MFIOSEL                        Status of MFIOFS or HFIOFS when INTOSC is Stable

000               0       x        MFIOFS = 0, HFIOFS = 0 and clock source is LF-INTOSC

000               1       0        MFIOFS = 0, HFIOFS = 1 and clock source is HF-INTOSC

000               1       1        MFIOFS = 1, HFIOFS = 0 and clock source is MF-INTOSC

Non-Zero          x       0        MFIOFS = 0, HFIOFS = 1 and clock source is HF-INTOSC

Non-Zero          x       1        MFIOFS = 1, HFIOFS = 0 and clock source is MF-INTOSC

Clocks to the device continue while the INTOSC source    On transitions from RC_RUN mode to PRI_RUN mode,
stabilizes after an interval of TIOBST (Parameter 39,    the device continues to be clocked from the INTOSC
Table 31-11).                                            multiplexer while the primary clock is started. When the
                                                         primary clock becomes ready, a clock switch to the
If the IRCFx bits were previously at a non-zero value,   primary clock occurs (see Figure 4-4). When the clock
or if INTSRC was set before setting SCS1 and the         switch is complete, the HFIOFS or MFIOFS bit is
INTOSC source was already stable, the HFIOFS or          cleared, the OSTS bit is set and the primary clock is
MFIOFS bit will remain set.                              providing the device clock. The IDLEN and SCSx bits
                                                         are not affected by the switch. The LF-INTOSC source
                                                         will continue to run if either the WDT or the Fail-Safe
                                                         Clock Monitor (FSCM) is enabled.

DS39977F-page 68                                          2010-2012 Microchip Technology Inc.
                                                                    PIC18F66K80 FAMILY

FIGURE 4-3:  TRANSITION TIMING TO RC_RUN MODE

             Q1 Q2 Q3 Q4 Q1                                                Q2 Q3 Q4 Q1 Q2 Q3
                                                                                                                   PC + 4
LF-INTOSC                             1  2         3           n-1 n
       OSC1
                                               Clock Transition(1)

CPU
Clock

Peripheral
      Clock

Program      PC                                                PC + 2
Counter

Note 1: Clock transition typically occurs within 2-4 TOSC.

FIGURE 4-4:  TRANSITION TIMING FROM RC_RUN MODE TO PRI_RUN MODE

                             Q1                Q2     Q3       Q4      Q1                          Q2 Q3 Q4 Q1 Q2 Q3

   INTOSC                             TOST(1)         TPLL(1)
Multiplexer
                                                                       1 2 n-1 n
      OSC1                                                                    Clock

PLL Clock                                                                 Transition(2)
     Output
                                                                                           PC + 2
CPU Clock

Peripheral
      Clock

Program                                  PC                                                        PC + 4
Counter

             SCS<1:0> Bits Changed                    OSTS Bit Set

Note 1: TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale.
       2: Clock transition typically occurs within 2-4 TOSC.

2010-2012 Microchip Technology Inc.                                                               DS39977F-page 69
PIC18F66K80 FAMILY

4.3 Sleep Mode                                                        4.4 Idle Modes

The power-managed Sleep mode in the PIC18F66K80                       The Idle modes allow the controller's CPU to be
family of devices is identical to the legacy Sleep mode               selectively shut down while the peripherals continue to
offered in all other PIC devices. It is entered by clearing           operate. Selecting a particular Idle mode allows users
the IDLEN bit (the default state on device Reset) and                 to further manage power consumption.
executing the SLEEP instruction. This shuts down the
selected oscillator (Figure 4-5). All clock source status             If the IDLEN bit is set to a `1' when a SLEEP instruction is
bits are cleared.                                                     executed, the peripherals will be clocked from the clock
                                                                      source selected using the SCS<1:0> bits. The CPU,
Entering Sleep mode from any other mode does not                      however, will not be clocked. The clock source status bits
require a clock switch. This is because no clocks are                 are not affected. This approach is a quick method to
needed once the controller has entered Sleep. If the                  switch from a given Run mode to its corresponding Idle
WDT is selected, the LF-INTOSC source will continue                   mode.
to operate. If the SOSC oscillator is enabled, it will also
continue to run.                                                      If the WDT is selected, the LF-INTOSC source will
                                                                      continue to operate. If the SOSC oscillator is enabled,
When a wake event occurs in Sleep mode (by interrupt,                 it will also continue to run.
Reset or WDT time-out), the device will not be clocked
until the clock source selected by the SCS<1:0> bits                  Since the CPU is not executing instructions, the only
becomes ready (see Figure 4-6). Alternately, the device               exits from any of the Idle modes are by interrupt, WDT
will be clocked from the internal oscillator block if either          time-out or a Reset. When a wake event occurs, CPU
the Two-Speed Start-up or the Fail-Safe Clock Monitor is              execution is delayed by an interval of TCSD
enabled (see Section 28.0 "Special Features of the                    (Parameter 38, Table 31-11) while it becomes ready to
CPU"). In either case, the OSTS bit is set when the                   execute code. When the CPU begins executing code,
primary clock is providing the device clocks. The IDLEN               it resumes with the same clock source for the current
and SCSx bits are not affected by the wake-up.                        Idle mode. For example, when waking from RC_IDLE
                                                                      mode, the internal oscillator block will clock the CPU
                                                                      and peripherals (in other words, RC_RUN mode). The
                                                                      IDLEN and SCSx bits are not affected by the wake-up.

                                                                      While in any Idle mode or Sleep mode, a WDT time-
                                                                      out will result in a WDT wake-up to the Run mode
                                                                      currently specified by the SCS<1:0> bits.

FIGURE 4-5:       TRANSITION TIMING FOR ENTRY TO SLEEP MODE

             Q1 Q2 Q3 Q4 Q1

OSC1

       CPU
      Clock
Peripheral
      Clock

Sleep

Program      PC                                               PC + 2
Counter

FIGURE 4-6:       TRANSITION TIMING FOR WAKE FROM SLEEP (HSPLL)

                             Q1                    Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4

     OSC1                        TOST(1)  TPLL(1)
PLL Clock

    Output

CPU Clock

Peripheral
      Clock

Program                                   PC                          PC + 2            PC + 4  PC + 6
Counter

                  Wake Event              OSTS Bit Set

Note 1:TOST = 1024 TOSC; TPLL = 2 ms (approx). These intervals are not shown to scale.

DS39977F-page 70                                                                         2010-2012 Microchip Technology Inc.
                                                           PIC18F66K80 FAMILY

4.4.1 PRI_IDLE MODE                                        4.4.2 SEC_IDLE MODE

This mode is unique among the three low-power Idle         In SEC_IDLE mode, the CPU is disabled but the
modes, in that it does not disable the primary device      peripherals continue to be clocked from the SOSC
clock. For timing-sensitive applications, this allows for  oscillator. This mode is entered from SEC_RUN by set-
the fastest resumption of device operation with its more   ting the IDLEN bit and executing a SLEEP instruction. If
accurate, primary clock source, since the clock source     the device is in another Run mode, set the IDLEN bit
does not have to "warm-up" or transition from another      first, then set the SCS<1:0> bits to `01' and execute
oscillator.                                                SLEEP. When the clock source is switched to the SOSC
                                                           oscillator, the primary oscillator is shut down, the OSTS
PRI_IDLE mode is entered from PRI_RUN mode by              bit is cleared and the SOSCRUN bit is set.
setting the IDLEN bit and executing a SLEEP instruc-
tion. If the device is in another Run mode, set IDLEN      When a wake event occurs, the peripherals continue to
first, then clear the SCSx bits and execute SLEEP.         be clocked from the SOSC oscillator. After an interval
Although the CPU is disabled, the peripherals continue     of TCSD following the wake event, the CPU begins
to be clocked from the primary clock source specified      executing code that is being clocked by the SOSC
by the FOSC<3:0> Configuration bits. The OSTS bit          oscillator. The IDLEN and SCSx bits are not affected by
remains set (see Figure 4-7).                              the wake-up and the SOSC oscillator continues to run
                                                           (see Figure 4-8).
When a wake event occurs, the CPU is clocked from the
primary clock source. A delay of interval, TCSD
(Parameter 39, Table 31-11), is required between the
wake event and the start of code execution. This is
required to allow the CPU to become ready to execute
instructions. After the wake-up, the OSTS bit remains
set. The IDLEN and SCSx bits are not affected by the
wake-up (see Figure 4-8).

FIGURE 4-7:      TRANSITION TIMING FOR ENTRY TO IDLE MODE

             Q1  Q2                   Q3        Q4  Q1

OSC1

CPU Clock

Peripheral
      Clock

Program              PC                                        PC + 2
Counter

FIGURE 4-8:      TRANSITION TIMING FOR WAKE FROM IDLE TO RUN MODE

             Q1                                                        Q2  Q3  Q4

      OSC1                                TCSD
CPU Clock

Peripheral
      Clock

Program                                                    PC
Counter

                 Wake Event

2010-2012 Microchip Technology Inc.                                           DS39977F-page 71
PIC18F66K80 FAMILY

4.4.3 RC_IDLE MODE                                         4.5 Selective Peripheral Module

In RC_IDLE mode, the CPU is disabled but the periph-                Control
erals continue to be clocked from the internal oscillator
block using the INTOSC multiplexer. This mode              Idle mode allows users to substantially reduce power
provides controllable power conservation during Idle       consumption by stopping the CPU clock. Even so,
periods.                                                   peripheral modules still remain clocked, and thus, con-
                                                           sume power. There may be cases where the application
From RC_RUN, this mode is entered by setting the           needs what this mode does not provide: the allocation of
IDLEN bit and executing a SLEEP instruction. If the        power resources to the CPU processing with minimal
device is in another Run mode, first set IDLEN, then set   power consumption from the peripherals.
the SCS1 bit and execute SLEEP. To maintain software
compatibility with future devices, it is recommended       PIC18F66K80 family devices address this requirement
that SCS0 also be cleared, though its value is ignored.    by allowing peripheral modules to be selectively
The INTOSC multiplexer may be used to select a             disabled, reducing or eliminating their power
higher clock frequency by modifying the IRCFx bits         consumption. This can be done with two control bits:
before executing the SLEEP instruction. When the
clock source is switched to the INTOSC multiplexer, the    Peripheral Enable bit, generically named XXXEN
primary oscillator is shut down and the OSTS bit is           Located in the respective module's main control
cleared.                                                      register

If the IRCFx bits are set to any non-zero value, or the    Peripheral Module Disable (PMD) bit, generically
INTSRC/MFIOSEL bit is set, the INTOSC output is               named, XXXMD Located in one of the PMDx
enabled. The HFIOFS/MFIOFS bits become set, after             Control registers (PMD0, PMD1 or PMD2)
the INTOSC output becomes stable, after an interval of
TIOBST (Parameter 38, Table 31-11). For information on     Disabling a module by clearing its XXXEN bit disables
the HFIOFS/MFIOFS bits, see Table 4-3.                     the module's functionality, but leaves its registers
                                                           available to be read and written to. This reduces power
Clocks to the peripherals continue while the INTOSC        consumption, but not by as much as the second
source stabilizes. The HFIOFS/MFIOFS bits will             approach.
remain set if the IRCFx bits were previously at a non-
zero value or if INTSRC was set before the SLEEP           Most peripheral modules have an enable bit.
instruction was executed and the INTOSC source was
already stable. If the IRCFx bits and INTSRC are all       In contrast, setting the PMD bit for a module disables
clear, the INTOSC output will not be enabled, the          all clock sources to that module, reducing its power
HFIOFS/MFIOFS bits will remain clear and there will be     consumption to an absolute minimum. In this state, the
no indication of the current clock source.                 control and status registers associated with the periph-
                                                           eral are also disabled, so writes to those registers have
When a wake event occurs, the peripherals continue to      no effect and read values are invalid. Many peripheral
be clocked from the INTOSC multiplexer. After a delay      modules have a corresponding PMD bit.
of TCSD (Parameter 38, Table 31-11) following the wake
event, the CPU begins executing code clocked by the        There are three PMD registers in PIC18F66K80 family
INTOSC multiplexer. The IDLEN and SCSx bits are not        devices: PMD0, PMD1 and PMD2. These registers
affected by the wake-up. The INTOSC source will            have bits associated with each module for disabling or
continue to run if either the WDT or the Fail-Safe Clock   enabling a particular peripheral.
Monitor is enabled.

DS39977F-page 72                                            2010-2012 Microchip Technology Inc.
                                                PIC18F66K80 FAMILY

REGISTER 4-1:      PMD2: PERIPHERAL MODULE DISABLE REGISTER 2

        U-0        U-0                U-0  U-0  R/W-0                 R/W-0    R/W-0         R/W-0
         --                                                                  CMP2MD        CMP1MD
bit 7             --                 --   --   MODMD(1) ECANMD
                                                                                                    bit 0

Legend:                 W = Writable bit        U = Unimplemented bit, read as `0'
R = Readable bit        `1' = Bit is set
-n = Value at POR                               `0' = Bit is cleared         x = Bit is unknown

bit 7-4  Unimplemented: Read as `0'
bit 3
         MODMD: Modulator Output Module Disable bit(1)
bit 2
         1 = The modulator output module is disabled; all Modulator Output registers are held in Reset and are
bit 1          not writable

bit 0    0 = The modulator output module is enabled

         ECANMD: Enhanced CAN Module Disable bit

         1 = The Enhanced CAN module is disabled; all Enhanced CAN registers are held in Reset and are
               not writable

         0 = The Enhanced CAN module is enabled

         CMP2MD: Comparator 2 Module Disable bit

         1 = The Comparator 2 module is disabled; all Comparator 2 registers are held in Reset and are not
               writable

         0 = The Comparator 2 module is enabled

         CMP1MD: Comparator 1 Module Disable bit
         1 = The Comparator 1 module is disabled; all Comparator 1 registers are held in Reset and are not

               writable
         0 = The Comparator 1 module is enabled

Note 1: This bit is only implemented on devices with 64 pins (PIC18F6XK80, PIC18LF6XK80).

2010-2012 Microchip Technology Inc.                                                       DS39977F-page 73
PIC18F66K80 FAMILY

REGISTER 4-2: PMD1: PERIPHERAL MODULE DISABLE REGISTER 1

     R/W-0          R/W-0   R/W-0              R/W-0    R/W-0    R/W-0              R/W-0               R/W-0
  PSPMD(1)        CTMUMD   ADCMD             TMR4MD   TMR3MD   TMR2MD             TMR1MD              TMR0MD
bit 7
                                                                                                               bit 0

Legend:                    W = Writable bit           U = Unimplemented bit, read as `0'
R = Readable bit           `1' = Bit is set
-n = Value at POR                                     `0' = Bit is cleared  x = Bit is unknown

bit 7       PSPMD: Peripheral Module Disable bit(1)

            1 = The PSP module is disabled; all PSP registers are held in Reset and are not writable
            0 = The PSP module is enabled

bit 6       CTMUMD: PMD CTMU Disable bit

            1 = The CTMU module is disabled; all CTMU registers are held in Reset and are not writable
            0 = The CTMU module is enabled

bit 5       ADCMD: A/D Module Disable bit

            1 = The A/D module is disabled; all A/D registers are held in Reset and are not writable
            0 = The A/D module is enabled

bit 4       TMR4MD: TMR4MD Disable bit

            1 = The Timer4 module is disabled; all Timer4 registers are held in Reset and are not writable
            0 = The Timer4 module is enabled

bit 3       TMR3MD: TMR3MD Disable bit

            1 = The Timer3 module is disabled; all Timer3 registers are held in Reset and are not writable
            0 = The Timer3 module is enabled

bit 2       TMR2MD: TMR2MD Disable bit

            1 = The Timer2 module is disabled; all Timer2 registers are held in Reset and are not writable
            0 = The Timer2 module is enabled

bit 1       TMR1MD: TMR1MD Disable bit

            1 = The Timer1 module is disabled; all Timer1 registers are held in Reset and are not writable
            0 = The Timer1 module is enabled

bit 0       TMR0MD: Timer0 Module Disable bit

            1 = The Timer0 module is disabled; all Timer0 registers are held in Reset and are not writable

            0 = The Timer0 module is enabled

Note 1: This bit is unimplemented on 28-pin devices (PIC18F2XK80, PIC18LF2XK80).

DS39977F-page 74                                                             2010-2012 Microchip Technology Inc.
                                                 PIC18F66K80 FAMILY

REGISTER 4-3: PMD0: PERIPHERAL MODULE DISABLE REGISTER 0

     R/W-0    R/W-0    R/W-0             R/W-0     R/W-0     R/W-0        R/W-0       R/W-0
   CCP5MD   CCP4MD   CCP3MD            CCP2MD    CCP1MD   UART2MD      UART1MD       SSPMD
bit 7
                                                                                             bit 0

Legend:              W = Writable bit            U = Unimplemented bit, read as `0'
R = Readable bit     `1' = Bit is set
-n = Value at POR                                `0' = Bit is cleared  x = Bit is unknown

bit 7       CCP5MD: CCP5 Module Disable bit

            1 = The CCP5 module is disabled; all CCP5 registers are held in Reset and are not writable
            0 = The CCP5 module is enabled

bit 6       CCP4MD: CCP4 Module Disable bit

            1 = The CCP4 module is disabled; all CCP4 registers are held in Reset and are not writable
            0 = The CCP4 module is enabled

bit 5       CCP3MD: CCP3 Module Disable bit

            1 = The CCP3 module is disabled; all CCP3 registers are held in Reset and are not writable
            0 = The CCP3 module is enabled

bit 4       CCP2MD: CCP2 Module Disable bit

            1 = The CCP2 module is disabled; all CCP2 registers are held in Reset and are not writable
            0 = The CCP2 module is enabled

bit 3       CCP1MD: ECCP1 Module Disable bit

            1 = The ECCP1 module is disabled; all ECCP1 registers are held in Reset and are not writable
            0 = The ECCP1 module is enabled

bit 2       UART2MD: EUSART2 Module Disable bit

            1 = The USART2 module is disabled; all USART2 registers are held in Reset and are not writable
            0 = The USART2 module is enabled

bit 1       UART1MD: EUSART1 Module Disable bit

            1 = The USART1 module is disabled; all USART1 registers are held in Reset and are not writable
            0 = The USART1 module is enabled

bit 0       SSPMD: MSSP Module Disable bit

            1 = The MSSP module is disabled; all SSP registers are held in Reset and are not writable

            0 = The MSSP module is enabled

2010-2012 Microchip Technology Inc.                                                 DS39977F-page 75
PIC18F66K80 FAMILY

4.6 Exiting Idle and Sleep Modes                             4.6.3 EXIT BY RESET

An exit from Sleep mode or any of the Idle modes is          Normally, the device is held in Reset by the Oscillator
triggered by an interrupt, a Reset or a WDT time-out.        Start-up Timer (OST) until the primary clock becomes
This section discusses the triggers that cause exits         ready. At that time, the OSTS bit is set and the device
from power-managed modes. The clocking subsystem             begins executing code. If the internal oscillator block is
actions are discussed in each of the power-managed           the new clock source, the HFIOFS/MFIOFS bits are set
modes (see Section 4.2 "Run Modes", Section 4.3              instead.
"Sleep Mode" and Section 4.4 "Idle Modes").
                                                             The exit delay time from Reset to the start of code
4.6.1 EXIT BY INTERRUPT                                      execution depends on both the clock sources before
                                                             and after the wake-up, and the type of oscillator, if the
Any of the available interrupt sources can cause the         new clock source is the primary clock. Exit delays are
device to exit from an Idle mode or Sleep mode to a          summarized in Table 4-4.
Run mode. To enable this functionality, an interrupt
source must be enabled by setting its enable bit in one      Code execution can begin before the primary clock
of the INTCONx or PIEx registers. The exit sequence is       becomes ready. If either the Two-Speed Start-up (see
initiated when the corresponding interrupt flag bit is set.  Section 28.4 "Two-Speed Start-up") or Fail-Safe
                                                             Clock Monitor (see Section 28.5 "Fail-Safe Clock
On all exits from Idle or Sleep modes by interrupt, code     Monitor") is enabled, the device may begin execution
execution branches to the interrupt vector if the GIE/       as soon as the Reset source has cleared. Execution is
GIEH bit (INTCON<7>) is set. Otherwise, code execu-          clocked by the INTOSC multiplexer driven by the inter-
tion continues or resumes without branching (see             nal oscillator block. Execution is clocked by the internal
Section 10.0 "Interrupts").                                  oscillator block until either the primary clock becomes
                                                             ready or a power-managed mode is entered before the
4.6.2 EXIT BY WDT TIME-OUT                                   primary clock becomes ready; the primary clock is then
                                                             shut down.
A WDT time-out will cause different actions depending
on which power-managed mode the device is in when            4.6.4  EXIT WITHOUT AN OSCILLATOR
the time-out occurs.                                                START-UP DELAY

If the device is not executing code (all Idle modes and      Certain exits from power-managed modes do not
Sleep mode), the time-out will result in an exit from the    invoke the OST at all. The two cases are:
power-managed mode (see Section 4.2 "Run
Modes" and Section 4.3 "Sleep Mode"). If the device          When in PRI_IDLE mode, where the primary
is executing code (all Run modes), the time-out will            clock source is not stopped
result in a WDT Reset (see Section 28.2 "Watchdog
Timer (WDT)").                                                When the primary clock source is not any of the
                                                                LP, XT, HS or HSPLL modes
Executing a SLEEP or CLRWDT instruction clears the
WDT timer and postscaler, loses the currently selected       In these instances, the primary clock source either
clock source (if the Fail-Safe Clock Monitor is enabled)     does not require an oscillator start-up delay, since it is
and modifies the IRCFx bits in the OSCCON register (if       already running (PRI_IDLE), or normally, does not
the internal oscillator block is the device clock source).   require an oscillator start-up delay (RC, EC and INTIO
                                                             Oscillator modes). However, a fixed delay of interval,
                                                             TCSD, following the wake event is still required when
                                                             leaving Sleep and Idle modes to allow the CPU to
                                                             prepare for execution. Instruction execution resumes
                                                             on the first clock cycle following this delay.

DS39977F-page 76                                                     2010-2012 Microchip Technology Inc.
                                                        PIC18F66K80 FAMILY

4.7 Ultra Low-Power Wake-up                             A series resistor, between RA0 and the external
                                                        capacitor, provides overcurrent protection for the RA0/
The Ultra Low-Power Wake-up (ULPWU) on pin, RA0,        CVREF/AN0/ULPWU pin and enables software
allows a slow falling voltage to generate an interrupt  calibration of the time-out (see Figure 4-9).
without excess current consumption.
                                                        FIGURE 4-9:  ULTRA LOW-POWER
To use this feature:                                                 WAKE-UP INITIALIZATION

1. Charge the capacitor on RA0 by configuring the       RA0/CVREF/AN0/ULPWU
      RA0 pin to an output and setting it to `1'.
                                                        A timer can be used to measure the charge time and
2. Stop charging the capacitor by configuring RA0       discharge time of the capacitor. The charge time can
      as an input.                                      then be adjusted to provide the desired delay in Sleep.
                                                        This technique compensates for the affects of
3. Discharge the capacitor by setting the ULPEN         temperature, voltage and component accuracy. The
      and ULPSINK bits in the WDTCON register.          peripheral can also be configured as a simple
                                                        programmable Low-Voltage Detect (LVD) or temperature
4. Configure Sleep mode.                                sensor.
5. Enter Sleep mode.

When the voltage on RA0 drops below VIL, the device
wakes up and executes the next instruction.

This feature provides a low-power technique for
periodically waking up the device from Sleep mode.

The time-out is dependent on the discharge time of the
RC circuit on RA0.

When the ULPWU module wakes the device from
Sleep mode, the ULPLVL bit (WDTCON<5>) is set.
Software can check this bit upon wake-up to determine
the wake-up source.

See Example 4-1 for initializing the ULPWU module.

EXAMPLE 4-1:  ULTRA LOW-POWER
              WAKE-UP INITIALIZATION
                                                        Note:  For more information, see AN879, "Using

                    //***************************              the Microchip Ultra Low-Power Wake-up
                    //Charge the capacitor on RA0              Module" (DS00879).
                    //***************************
TRISAbits.TRISA0 = 0;
PORTAbits.RA0 = 1;
for(i = 0; i < 10000; i++) Nop();
                    //*****************************
                    //Stop Charging the capacitor
                    //on RA0
                    //*****************************
TRISAbits.TRISA0 = 1;
                    //*****************************
                    //Enable the Ultra Low Power
                    //Wakeup module and allow
                    //capacitor discharge
                    //*****************************
WDTCONbits.ULPEN = 1;
WDTCONbits.ULPSINK = 1;
                    //For Sleep
OSCCONbits.IDLEN = 0;
                    //Enter Sleep Mode
                    //
Sleep();
                    //for sleep, execution will
                    //resume here

2010-2012 Microchip Technology Inc.                                         DS39977F-page 77
PIC18F66K80 FAMILY

TABLE 4-4: EXIT DELAY ON WAKE-UP BY RESET FROM SLEEP MODE OR ANY IDLE MODE
                     (BY CLOCK SOURCES)

Power-Managed     Clock Source(5)  Exit Delay     Clock Ready
       Mode                                        Status Bits

                  LP, XT, HS

                  HSPLL                           OSTS

PRI_IDLE mode         EC, RC       TCSD(1)        HFIOFS
                  HF-INTOSC(2)

                  MF-INTOSC(2)                    MFIOFS

                  LF-INTOSC                       None

SEC_IDLE mode     SOSC             TCSD(1)        SOSCRUN

                  HF-INTOSC(2)                    HFIOFS

RC_IDLE mode      MF-INTOSC(2)     TCSD(1)        MFIOFS

                  LF-INTOSC                       None

                  LP, XT, HS       TOST(3)

Sleep mode            HSPLL        TOST + trc(3)   OSTS
                      EC, RC          TCSD(1)     HFIOFS
                  HF-INTOSC(2)

                  MF-INTOSC(2)     TIOBST(4)      MFIOFS

                  LF-INTOSC                       None

Note 1: TCSD (Parameter 38, Table 31-11) is a required delay when waking from Sleep and all Idle modes, and
              runs concurrently with any other required delays (see Section 4.4 "Idle Modes").

2: Includes postscaler derived frequencies. On Reset, INTOSC defaults to HF-INTOSC at 8 MHz.

3: TOST is the Oscillator Start-up Timer (Parameter 32, Table 31-11). TRC is the PLL Lock-out Timer
      (Parameter F12, Table 31-7); it is also designated as TPLL.

4: Execution continues during TIOBST (Parameter 39, Table 31-11), the INTOSC stabilization period.

5: The clock source is dependent upon the settings of the SCSx (OSCCON<1:0>), IRCFx (OSCCON<6:4>)
      and FOSCx (CONFIG1H<3:0>) bits.

DS39977F-page 78                             2010-2012 Microchip Technology Inc.
                                                      PIC18F66K80 FAMILY

5.0 RESET                                             A simplified block diagram of the On-Chip Reset Circuit
                                                      is shown in Figure 5-1.
The PIC18F66K80 family devices differentiate between
various kinds of Reset:                               5.1 RCON Register

a) Power-on Reset (POR)                               Device Reset events are tracked through the RCON
b) MCLR Reset during Normal Operation                 register (Register 5-1). The lower five bits of the regis-
c) MCLR Reset during Power-Managed modes              ter indicate that a specific Reset event has occurred. In
d) Watchdog Timer (WDT) Reset (during                 most cases, these bits can only be cleared by the event
                                                      and must be set by the application after the event. The
      execution)                                      state of these flag bits, taken together, can be read to
e) Configuration Mismatch (CM) Reset                  indicate the type of Reset that just occurred. This is
f) Programmable Brown-out Reset (BOR)                 described in more detail in Section 5.7 "Reset State
g) RESET Instruction                                  of Registers".
h) Stack Full Reset
i) Stack Underflow Reset                              The RCON register also has control bits for setting
                                                      interrupt priority (IPEN) and software control of the
This section discusses Resets generated by MCLR,      BOR (SBOREN). Interrupt priority is discussed in
POR and BOR, and covers the operation of the various  Section 10.0 "Interrupts". BOR is covered in
start-up timers. Stack Reset events are covered in    Section 5.4 "Brown-out Reset (BOR)".
Section 6.1.3.4 "Stack Full and Underflow Resets".
WDT Resets are covered in Section 28.2 "Watchdog
Timer (WDT)".

FIGURE 5-1:         SIMPLIFIED BLOCK DIAGRAM OF ON-CHIP RESET CIRCUIT

      RESET

      Instruction
             Stack Stack Full/Underflow Reset
            Pointer

MCLR                     External Reset

                           MCLRE
              ( )_IDLE

                 Sleep

               WDT
             Time-out

             VDD Rise POR Pulse
              Detect

VDD

      Brown-out
             Reset
                                                      S
                    BOREN<1:0>

      OST/PWRT            1024 Cycles                                     Chip_Reset
                     OST

                    10-Bit Ripple Counter             R                Q

OSC1

        32 s        PWRT 65.5 ms
      INTOSC(1)         11-Bit Ripple Counter

                                                                                                                                                      Enable PWRT
                                                                                                                                                     Enable OST(2)

Note 1: This is the INTOSC source from the internal oscillator block and is separate from the RC oscillator of the CLKI pin.
        2: See Table 5-2 for time-out situations.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 79
PIC18F66K80 FAMILY

REGISTER 5-1: RCON: RESET CONTROL REGISTER

R/W-0             R/W-1(1)  R/W-1               R/W-1  R-1                   R-1        R/W-0(2)  R/W-0

       IPEN       SBOREN    CM                    RI   TO                    PD         POR           BOR

bit 7                                                                                                     bit 0

Legend:                     W = Writable bit           U = Unimplemented bit, read as `0'
R = Readable bit            `1' = Bit is set
-n = Value at POR                                      `0' = Bit is cleared       x = Bit is unknown

bit 7        IPEN: Interrupt Priority Enable bit

             1 = Enables priority levels on interrupts
             0 = Disables priority levels on interrupts (PIC16CXXX Compatibility mode)

bit 6        SBOREN: BOR Software Enable bit(1)

             If BOREN<1:0> = 01:
             1 = BOR is enabled
             0 = BOR is disabled

             If BOREN<1:0> = 00, 10 or 11:
             Bit is disabled and reads as `0'.

bit 5        CM: Configuration Mismatch Flag bit

             1 = A Configuration Mismatch Reset has not occurred.
             0 = A Configuration Mismatch Reset has occurred (must be set in software once the Reset occurs)

bit 4        RI: RESET Instruction Flag bit

             1 = The RESET instruction was not executed (set by firmware only)
             0 = The RESET instruction was executed causing a device Reset (must be set in software after a

                   Brown-out Reset occurs)

bit 3        TO: Watchdog Time-out Flag bit

             1 = Set by power-up, CLRWDT instruction or SLEEP instruction
             0 = A WDT time-out has occurred

bit 2        PD: Power-down Detection Flag bit

             1 = Set by power-up or by the CLRWDT instruction
             0 = Set by execution of the SLEEP instruction

bit 1        POR: Power-on Reset Status bit(2)

             1 = A Power-on Reset has not occurred (set by firmware only)
             0 = A Power-on Reset has occurred (must be set in software after a Power-on Reset occurs)

bit 0        BOR: Brown-out Reset Status bit

             1 = A Brown-out Reset has not occurred (set by firmware only)
             0 = A Brown-out Reset has occurred (must be set in software after a Brown-out Reset occurs)

Note 1: If SBOREN is enabled, its Reset state is `1'; otherwise, it is `0'.

        2: The actual Reset value of POR is determined by the type of device Reset. See the notes following this
              register and Section 5.7 "Reset State of Registers" for additional information.

Note 1: It is recommended that the POR bit be set after a Power-on Reset has been detected so that subsequent
            Power-on Resets may be detected.

       2: Brown-out Reset is said to have occurred when BOR is `0' and POR is `1' (assuming that POR was set to
            `1' by software immediately after a Power-on Reset).

DS39977F-page 80                                                              2010-2012 Microchip Technology Inc.
                                                           PIC18F66K80 FAMILY

5.2 Master Clear Reset (MCLR)                              FIGURE 5-2:       EXTERNAL POWER-ON
                                                                             RESET CIRCUIT (FOR
The MCLR pin provides a method for triggering an                             SLOW VDD POWER-UP)
external Reset of the device. A Reset is generated by
holding the pin low. These devices have a noise filter in  VDD VDD
the MCLR Reset path which detects and ignores small
pulses.                                                                D  R

The MCLR pin is not driven low by any internal Resets,                    C  R1
including the WDT.                                                                     MCLR

In PIC18F66K80 family devices, the MCLR input can                                     PIC18FXX80
be disabled with the MCLRE Configuration bit. When
MCLR is disabled, the pin becomes a digital input. See     Note 1:     External Power-on Reset circuit is required
Section 11.6 "PORTE, TRISE and LATE Registers"                     2:  only if the VDD power-up slope is too slow.
for more information.                                              3:  The diode, D, helps discharge the capacitor
                                                                       quickly when VDD powers down.
5.3 Power-on Reset (POR)
                                                                       R < 40 k is recommended to make sure that
A Power-on Reset pulse is generated on-chip                            the voltage drop across R does not violate
whenever VDD rises above a certain threshold. This                     the device's electrical specification.
allows the device to start in the initialized state when
VDD is adequate for operation.                                         R1  1 k will limit any current flowing into
                                                                       MCLR from external capacitor, C, in the event
To take advantage of the POR circuitry, tie the MCLR                   of MCLR/VPP pin breakdown, due to Electro-
pin through a resistor (1 k to 10 k) to VDD. This will                 static Discharge (ESD) or Electrical
eliminate external RC components usually needed to                     Overstress (EOS).
create a Power-on Reset delay. A minimum rise rate for
VDD is specified (Parameter D004). For a slow rise
time, see Figure 5-2.

When the device starts normal operation (i.e., exits the
Reset condition), device operating parameters
(voltage, frequency, temperature, etc.) must be met to
ensure operation. If these conditions are not met, the
device must be held in Reset until the operating
conditions are met.

POR events are captured by the POR bit (RCON<1>).
The state of the bit is set to `0' whenever a Power-on
Reset occurs; it does not change for any other Reset
event. POR is not reset to `1' by any hardware event.
To capture multiple events, the user manually resets
the bit to `1' in software following any Power-on Reset.

2010-2012 Microchip Technology Inc.                                         DS39977F-page 81
PIC18F66K80 FAMILY

5.4 Brown-out Reset (BOR)                                 Placing the BOR under software control gives the user
                                                          the additional flexibility of tailoring the application to its
The PIC18F66K80 family has four BOR Power modes:          environment without having to reprogram the device to
                                                          change BOR configuration. It also allows the user to
High-Power BOR                                          tailor device power consumption in software by elimi-
                                                          nating the incremental current that the BOR consumes.
Medium Power BOR                                        While the BOR current is typically very small, it may
                                                          have some impact in low-power applications.
Low-Power BOR
                                                          Note:  Even when BOR is under software con-
Zero-Power BOR                                                 trol, the Brown-out Reset voltage level is
                                                                 still set by the BORV<1:0> Configuration
Each power mode is selected by the BORPWR<1:0>                   bits; it cannot be changed in software.
setting (CONFIG2L<6:5>). For low, medium and
high-power BOR, the module monitors the VDD depend-       5.4.2 DETECTING BOR
ing on the BORV<1:0> setting (CONFIG1L<3:2>). The
typical current draw (IBOR) for zero, low and medium      When Brown-out Reset is enabled, the BOR bit always
power BOR is 200 nA, 750 nA and 3 A, respectively. A      resets to `0' on any Brown-out Reset or Power-on
BOR event re-arms the Power-on Reset. It also causes      Reset event. This makes it difficult to determine if a
a Reset, depending on which of the trip levels has been   Brown-out Reset event has occurred just by reading
set: 1.8V, 2V, 2.7V or 3V.                                the state of BOR alone. A more reliable method is to
                                                          simultaneously check the state of both POR and BOR.
BOR is enabled by BOREN<1:0> (CONFIG2L<2:1>)              This assumes that the POR bit is reset to `1' in software
and the SBOREN bit (RCON<6>). The four BOR                immediately after any Power-on Reset event. IF BOR
configurations are summarized in Table 5-1.               is `0' while POR is `1', it can be reliably assumed that a
                                                          Brown-out Reset event has occurred.
In Zero-Power BOR (ZPBORMV), the module monitors
the VDD voltage and re-arms the POR at about 2V.          5.4.3 DISABLING BOR IN SLEEP MODE
ZPBORMV does not cause a Reset, but re-arms the
POR.                                                      When BOREN<1:0> = 10, the BOR remains under
                                                          hardware control and operates as previously
The BOR accuracy varies with its power level. The lower   described. Whenever the device enters Sleep mode,
the power setting, the less accurate the BOR trip levels  however, the BOR is automatically disabled. When the
are. Therefore, the high-power BOR has the highest        device returns to any other operating mode, BOR is
accuracy and the low-power BOR has the lowest accu-       automatically re-enabled.
racy. The trip levels (BVDD, Parameter D005), current
consumption (Section 31.2 "DC Characteristics:            This mode allows for applications to recover from
Power-Down and Supply Current PIC18F66K80                 brown-out situations, while actively executing code,
Family (Industrial/Extended)") and time required          when the device requires BOR protection the most. At
below BVDD (TBOR, Parameter 35) can all be found in       the same time, it saves additional power in Sleep mode
Section 31.0 "Electrical Characteristics".                by eliminating the small incremental BOR current.

5.4.1 SOFTWARE ENABLED BOR

When BOREN<1:0> = 01, the BOR can be enabled or
disabled by the user in software. This is done with the
control bit, SBOREN (RCON<6>). Setting SBOREN
enables the BOR to function as previously described.
Clearing SBOREN disables the BOR entirely. The
SBOREN bit operates only in this mode; otherwise it is
read as `0'.

TABLE 5-1: BOR CONFIGURATIONS

BOR Configuration     Status of                                 BOR Operation
BOREN1 BOREN0         SBOREN
                     (RCON<6>)

0                 0  Unavailable BOR is disabled; must be enabled by reprogramming the Configuration

                                  bits.

0                 1  Available BOR is enabled in software; operation is controlled by SBOREN.

1                 0  Unavailable BOR is enabled in hardware, in Run and Idle modes; disabled during

                                  Sleep mode.

1                 1  Unavailable BOR is enabled in hardware; must be disabled by reprogramming the

                                  Configuration bits.

DS39977F-page 82                                                  2010-2012 Microchip Technology Inc.
                                                        PIC18F66K80 FAMILY

5.5 Configuration Mismatch (CM)                         5.6 Device Reset Timers

The Configuration Mismatch (CM) Reset is designed to    PIC18F66K80 family devices incorporate three sepa-
detect, and attempt to recover from, random memory      rate on-chip timers that help regulate the Power-on
corrupting events. These include Electrostatic          Reset process. Their main function is to ensure that the
Discharge (ESD) events, which can cause widespread,     device clock is stable before code is executed. These
single bit changes throughout the device and result in  timers are:
catastrophic failure.
                                                         Power-up Timer (PWRT)
In PIC18FXXKXX Flash devices, the device Configura-      Oscillator Start-up Timer (OST)
tion registers (located in the configuration memory      PLL Lock Time-out
space) are continuously monitored during operation by
comparing their values to complimentary Shadow reg-     5.6.1 POWER-UP TIMER (PWRT)
isters. If a mismatch is detected between the two sets
of registers, a CM Reset automatically occurs. These    The Power-up Timer (PWRT) of the PIC18F66K80
events are captured by the CM bit (RCON<5>) being       family devices is an 11-bit counter which uses the
set to `0'.                                             INTOSC source as the clock input. This yields an
                                                        approximate time interval of 2048 x 32 s = 65.6 ms.
This bit does not change for any other Reset event. A   While the PWRT is counting, the device is held in
CM Reset behaves similarly to a Master Clear Reset,     Reset.
RESET instruction, WDT time-out or Stack Event
Resets. As with all hard and power Reset events, the    The power-up time delay depends on the INTOSC
device Configuration Words are reloaded from the        clock and will vary from chip-to-chip due to temperature
Flash Configuration Words in program memory as the      and process variation. See DC Parameter 33 for
device restarts.                                        details.

                                                        The PWRT is enabled by clearing the PWRTEN
                                                        Configuration bit.

2010-2012 Microchip Technology Inc.                    DS39977F-page 83
PIC18F66K80 FAMILY

5.6.2       OSCILLATOR START-UP TIMER                        5.6.4 TIME-OUT SEQUENCE
            (OST)
                                                             On power-up, the time-out sequence is as follows:
The Oscillator Start-up Timer (OST) provides a
1024 oscillator cycle (from OSC1 input) delay after the      1. After the POR pulse has cleared, PWRT
PWRT delay is over (Parameter 33). This ensures that               time-out is invoked (if enabled).
the crystal oscillator or resonator has started and
stabilized.                                                  2. Then, the OST is activated.

The OST time-out is invoked only for XT, LP, HS and          The total time-out will vary based on oscillator configu-
HSPLL modes and only on Power-on Reset or on exit            ration and the status of the PWRT. Figure 5-3,
from most power-managed modes.                               Figure 5-4, Figure 5-5, Figure 5-6 and Figure 5-7 all
                                                             depict time-out sequences on power-up, with the
5.6.3 PLL LOCK TIME-OUT                                      Power-up Timer enabled and the device operating in
                                                             HS Oscillator mode. Figures 5-3 through 5-6 also apply
With the PLL enabled in its PLL mode, the time-out           to devices operating in XT or LP modes. For devices in
sequence following a Power-on Reset is slightly differ-      RC mode and with the PWRT disabled, on the other
ent from other oscillator modes. A separate timer is         hand, there will be no time-out at all.
used to provide a fixed time-out that is sufficient for the
PLL to lock to the main oscillator frequency. This PLL       Since the time-outs occur from the POR pulse, if MCLR
lock time-out (TPLL) is typically 2 ms and follows the       is kept low long enough, all time-outs will expire. Bring-
oscillator start-up time-out.                                ing MCLR high will begin execution immediately
                                                             (Figure 5-5). This is useful for testing purposes or to
                                                             synchronize more than one PIC18FXXXX device
                                                             operating in parallel.

TABLE 5-2: TIME-OUT IN VARIOUS SITUATIONS

  Oscillator             Power-up and Brown-out                                            Exit from
Configuration                                                                     Power-Managed Mode
                         PWRTEN = 0                          PWRTEN = 1
                                                                                    1024 TOSC + 2 ms(2)
HSPLL                    66 ms(1) + 1024 TOSC + 2 ms(2)      1024 TOSC + 2 ms(2)          1024 TOSC
                                                                                                --
HS, XT, LP               66 ms(1) + 1024 TOSC                1024 TOSC                          --
                                                                                                --
EC, ECIO                 66 ms(1)                                  --

RC, RCIO                 66 ms(1)                                  --

INTIO1, INTIO2           66 ms(1)                                  --

Note 1: 66 ms (65.5 ms) is the nominal Power-up Timer (PWRT) delay.
        2: 2 ms is the nominal time required for the PLL to lock.

FIGURE 5-3:              TIME-OUT SEQUENCE ON POWER-UP (MCLR TIED TO VDD, VDD RISE < TPWRT)

                    VDD                TPWRT
                 MCLR
   INTERNAL POR                                              TOST

PWRT TIME-OUT
    OST TIME-OUT

INTERNAL RESET

DS39977F-page 84                                                          2010-2012 Microchip Technology Inc.
                                                 PIC18F66K80 FAMILY

FIGURE 5-4:              TIME-OUT SEQUENCE ON POWER-UP (MCLR NOT TIED TO VDD): CASE 1

                    VDD                          TPWRT
                 MCLR
    INTERNAL POR                                                  TOST

PWRT TIME-OUT
    OST TIME-OUT

INTERNAL RESET

FIGURE 5-5:              TIME-OUT SEQUENCE ON POWER-UP (MCLR NOT TIED TO VDD): CASE 2

                    VDD                          TPWRT
                 MCLR
   INTERNAL POR                                                   TOST

PWRT TIME-OUT
    OST TIME-OUT

INTERNAL RESET

FIGURE 5-6:              SLOW RISE TIME (MCLR TIED TO VDD, VDD RISE > TPWRT)

                                                        5V

                         VDD          0V         1V

             MCLR

INTERNAL POR

                                          TPWRT

PWRT TIME-OUT

                                                            TOST

OST TIME-OUT

INTERNAL RESET

2010-2012 Microchip Technology Inc.                                          DS39977F-page 85
PIC18F66K80 FAMILY

FIGURE 5-7:             TIME-OUT SEQUENCE ON POR W/PLL ENABLED (MCLR TIED TO VDD)

                   VDD  TPWRT
               MCLR
  INTERNAL POR                                                TOST

PWRT TIME-OUT                                                       TPLL
  OST TIME-OUT

PLL TIME-OUT

INTERNAL RESET

Note:  TOST = 1024 clock cycles.
       TPLL  2 ms max. First three stages of the PWRT timer.

DS39977F-page 86                                                           2010-2012 Microchip Technology Inc.
                                                          PIC18F66K80 FAMILY

5.7 Reset State of Registers                              different Reset situations, as indicated in Table 5-3.
                                                          These bits are used in software to determine the nature
Most registers are unaffected by a Reset. Their status    of the Reset.
is unknown on a Power-on Reset and unchanged by all
other Resets. The other registers are forced to a "Reset  Table 5-4 describes the Reset states for all of the
state" depending on the type of Reset that occurred.      Special Function Registers. These are categorized by
                                                          Power-on and Brown-out Resets, Master Clear and
Most registers are not affected by a WDT wake-up,         WDT Resets and WDT wake-ups.
since this is viewed as the resumption of normal oper-
ation. Status bits from the RCON register, RI, TO, PD,
CM, POR and BOR, are set or cleared differently in

TABLE 5-3: STATUS BITS, THEIR SIGNIFICANCE AND THE INITIALIZATION CONDITION FOR
                     RCON REGISTER

                                      Program             RCON Register  STKPTR Register

           Condition           Counter(1) SBOREN CM RI TO PD POR BOR STKFUL STKUNF

Power-on Reset                        0000h    1          1 1110 0       0                      0

RESET Instruction                     0000h    u(2)       u 0uuu u       u                      u

Brown-out Reset                       0000h    u(2)       1 111u 0       u                      u

MCLR Reset during                     0000h    u(2)       u u1uu u       u                      u

Power-Managed Run modes

MCLR Reset during                     0000h    u(2)       u u10u u       u                      u

Power-Managed Idle modes and

Sleep mode

WDT Time-out during Full Power 0000h           u(2)       u u0uu u       u                      u

or Power-Managed Run modes

MCLR Reset during Full-Power 0000h             u(2)       u uuuu u       u                      u

execution

Stack Full Reset (STVREN = 1) 0000h            u(2)       u uuuu u       1                      u

Stack Underflow Reset                 0000h    u(2)       u uuuu u       u                      1
(STVREN = 1)

Stack Underflow Error (not an         0000h    u(2)       u uuuu u       u                      1

actual Reset, STVREN = 0)

WDT Time-out during                   PC + 2   u(2)       u u00u u       u                      u

Power-Managed Idle or Sleep

modes

Interrupt Exit from                   PC + 2   u(2)       u uu0u u       u                      u
Power-Managed modes

Legend: u = unchanged

Note 1: When the wake-up is due to an interrupt and the GIEH or GIEL bits are set, the PC is loaded with the
              interrupt vector (008h or 0018h).

2: Reset state is `1' for POR and unchanged for all other Resets when software BOR is enabled
      (BOREN<1:0>, Configuration bits = 01 and SBOREN = 1); otherwise, the Reset state is `0'.

2010-2012 Microchip Technology Inc.                                     DS39977F-page 87
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS

Register          Applicable Devices                   Power-on     MCLR Resets,      Wake-up via
                                                          Reset,      WDT Reset,           WDT

                                                       Brown-out  RESET Instruction,  or Interrupt
                                                          Reset      Stack Resets

TOSU              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---0 0000   ---0 0000 ---0 uuuu(3)

TOSH              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000 uuuu uuuu(3)

TOSL              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  0000 0000  0000 0000           uuuu uuuu(3)
STKPTR            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  00-0 0000  uu-0 0000           uu-u uuuu(3)

PCLATU            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---0 0000   ---0 0000 ---u uuuu

PCLATH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000 uuuu uuuu

PCL               PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           PC + 2(2)

TBLPTRU           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 0000   --00 0000 --uu uuuu

TBLPTRH           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000 uuuu uuuu

TBLPTRL           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000 uuuu uuuu

TABLAT            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000 uuuu uuuu

PRODH             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu uuuu uuuu

PRODL             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu uuuu uuuu

INTCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 000x   0000 000u uuuu uuuu(1)

INTCON2           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  1111 1111  1111 -1-1           uuuu -u-u(1)
INTCON3           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  1100 0000  11x0 0x00           uuuu uuuu(1)

INDF0             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

POSTINC0          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

POSTDEC0          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PREINC0           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PLUSW0            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

FSR0H             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- xxxx   ---- uuuu ---- uuuu

FSR0L             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu uuuu uuuu

WREG              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu uuuu uuuu

INDF1             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

POSTINC1          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

POSTDEC1          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PREINC1           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PLUSW1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

FSR1H             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- xxxx   ---- uuuu ---- uuuu

FSR1L             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu uuuu uuuu

BSR               PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- 0000   ---- 0000 ---- uuuu

INDF2             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

Legend:      u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
Note 1:      Shaded cells indicate conditions do not apply for the designated device.

         2:  One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         3:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
         4:  vector (0008h or 0018h).
         5:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

             See Table 5-3 for Reset value for specific conditions.

             Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
             enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 88                                                   2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices                   Power-on     MCLR Resets,      Wake-up via
                                                     Reset,      WDT Reset,           WDT

                                                  Brown-out  RESET Instruction,  or Interrupt
                                                     Reset      Stack Resets

POSTINC2     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

POSTDEC2     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PREINC2      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

PLUSW2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80  N/A        N/A                 N/A

FSR2H        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- xxxx   ---- uuuu           ---- uuuu

FSR2L        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

STATUS       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---x xxxx   ---u uuuu           ---u uuuu

TMR0H        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   uuuu uuuu           uuuu uuuu

TMR0L        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

T0CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111   1111 1111           uuuu uuuu

OSCCON       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0110 q000   0100 00q0           uuuu uuqu

OSCCON2      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -0-1 0-x0   -0-0 0-01           -u-u u-uu

WDTCON       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0-x0 -xx0   0-x0 -xx0           u-u0 -uu0

RCON(4)      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0111 11q0   0111 qquu           uuuu qquu

TMR1H        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

TMR1L        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

T1CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   u0uu uuuu           uuuu uuuu

TMR2         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

PR2          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111   1111 1111           uuuu uuuu

T2CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000   -000 0000           -uuu uuuu

SSPBUF       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

SSPADD       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

SSPSTAT      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

SSPCON1      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

SSPCON2      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

ADRESH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

ADRESL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

ADCON0       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000   -000 0000           -uuu uuuu

ADCON1       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 xxxx   0000 0qqq           uuuu uuuu

ADCON2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0-00 0000   0-00 0000           u-uu uuuu

ECCP1AS      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           xxxx xxxx

CCPR1H       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

CCPR1L       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx   uuuu uuuu           uuuu uuuu

CCP1CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000   0000 0000           uuuu uuuu

TXSTA2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0010   0000 0010           uuuu uuuu

Legend:      u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
Note 1:      Shaded cells indicate conditions do not apply for the designated device.

         2:  One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         3:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
         4:  vector (0008h or 0018h).
         5:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

             See Table 5-3 for Reset value for specific conditions.

             Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
             enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                    DS39977F-page 89
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register          Applicable Devices  Power-on                     MCLR Resets,      Wake-up via
                                         Reset,                      WDT Reset,           WDT

                                      Brown-out                  RESET Instruction,  or Interrupt
                                         Reset                      Stack Resets

BAUDCON2          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 01x0 0-00  01x0 0-00 uuuu u-uu

IPR4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 -111  1111 -111 uuuu -uuu

PIR4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 -000  0000 -000 uuuu -uuu

PIE4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 -000  0000 -000 uuuu -uuu

CVRCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

CMSTAT            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xx-- ----  xx-- ---- uu-- ----

TMR3H             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu uuuu uuuu

TMR3L             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu uuuu uuuu

T3CON             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

T3GCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0x00  0000 0x00 uuuu u-uu

SPBRG1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

RCREG1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

TXREG1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

TXSTA1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0010  0000 0010 uuuu uuuu

RCSTA1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 000x  0000 000x uuuu uuuu

T1GCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0x00  0000 0x00 uuuu u-uu

PR4               PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111 uuuu uuuu

HLVDCON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

BAUDCON1          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 01x0 0-00  01x0 0-00 uuuu u-uu

RCSTA2            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 000x  0000 000x uuuu uuuu

IPR3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --11 111-  --11 111- --uu uuu-

PIR3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 000-  --x0 xxx- --uu uuu-

PIE3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 000-  0000 0000 uuuu uuuu

IPR2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1--- 1111  1--- 111x u--- uuuu

PIR2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0--- 0000  0--- 000x u--- uuuu(1)

PIE2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0--- 0000  0--- 0000 u--- uuuu

IPR1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111 uuuu uuuu

                  PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -111 1111  -111 1111 -uuu uuuu

PIR1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu(1)

                  PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000  -000 0000 -uuu uuuu

PIE1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

                  PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000  -000 0000 -uuu uuuu

PSTR1CON          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 00-0 0001  xx-x xxxx           --

OSCTUNE           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000 uuuu uuuu

REFOCON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0-00 0000  0-00 0000 u-uu uuuu

Legend:      u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
Note 1:      Shaded cells indicate conditions do not apply for the designated device.

         2:  One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         3:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
         4:  vector (0008h or 0018h).
         5:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

             See Table 5-3 for Reset value for specific conditions.

             Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
             enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 90                                                  2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices       Power-on                MCLR Resets,      Wake-up via
                                         Reset,                 WDT Reset,           WDT

                                      Brown-out             RESET Instruction,  or Interrupt
                                         Reset                 Stack Resets

CCPTMRS      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---0 0000  ---x xxxx           ---u uuuu

TRISG        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---1 1111  ---1 1111           ---u uuuu

TRISF        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

TRISE        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 -111  1111 -111           uuuu -uuu

TRISD        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

TRISC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

TRISB        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

TRISA(5)     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 111- 1111(5) 111- 1111(5) uuu- uuuu(5)

ODCON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

SLRCON       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000  -111 1111           -111 1111

LATG         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---x xxxx  ---x xxxx           ---u uuuu

LATF         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx -xxx           uuuu -uuu

LATE         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx -xxx  xxxx xxxx           uuuu uuuu

LATD         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

LATC         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

LATB         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

LATA(5)      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- xxxx(5) xxx- xxxx(5) uuu- uuuu(5)

T4CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -000 0000  -000 0000           -uuu uuuu

TMR4         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

PORTG        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---x xxxx  ---x xxxx           ---u uuuu

PORTF        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

PORTE        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

PORTD        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

PORTC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

PORTB        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

PORTA(5)     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- xxxx(5) xxx- xxxx(5) uuu- uuuu(5)

EECON1       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xx-0 x000  uu-0 u000           uu-u uuuu

EECON2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

SPBRGH1      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

SPBRGH2      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

SPBRG2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RCREG2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

TXREG2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

IPR5         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

PIR5         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

Legend:      u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
Note 1:      Shaded cells indicate conditions do not apply for the designated device.

         2:  One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         3:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
         4:  vector (0008h or 0018h).
         5:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

             See Table 5-3 for Reset value for specific conditions.

             Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
             enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 91
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register          Applicable Devices  Power-on                     MCLR Resets,      Wake-up via
                                         Reset,                      WDT Reset,           WDT

                                      Brown-out                  RESET Instruction,  or Interrupt
                                         Reset                      Stack Resets

PIE5              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

EEADRH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- --00  ---- --00           ---- --00

EEADR             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

EEDATA            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

ECANCON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0001 0000  0001 0000           uuuu uuuu

COMSTAT           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CIOCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 ---0  0000 ---0           uuuu ---u

CANCON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000  1000 0000           uuuu uuuu

CANSTAT           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000  1000 0000           uuuu uuuu

RXB0D7            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D6            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D5            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D4            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D3            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D2            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0D0            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0DLC           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

RXB0SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB0CON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CM1CON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0001 1111  0001 1111           uuuu uuuu

CM2CON            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0001 1111  0001 1111           uuuu uuuu

ANCON0            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1111 1111  1111 1111           uuuu uuuu

ANCON1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -111 1111  -111 1111           -uuu uuuu

WPUB              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  1111 1111           uuuu uuuu

IOCB              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 ----  0000 ----           uuuu ----

PMD0              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
         3:  vector (0008h or 0018h).

             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

      4: See Table 5-3 for Reset value for specific conditions.

      5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
            enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 92                                                  2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices       Power-on                MCLR Resets,      Wake-up via
                                         Reset,                 WDT Reset,           WDT

                                      Brown-out             RESET Instruction,  or Interrupt
                                         Reset                 Stack Resets

PMD1         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

PMD2         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---- 0000  ---- 0000           ---- uuuu

PADCFG1      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 ---0  0000 ---0           uuuu ---u

CTMUCONH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0-00 0000  0-00 0000           u-uu uuuu

CTMUCONL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CTMUICON     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CCPR2H       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCPR2L       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCP2CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 0000  --00 0000           --uu uuuu

CCPR3H       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCPR3L       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCP3CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 0000  --00 0000           --uu uuuu

CCPR4H       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCPR4L       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCP4CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 0000  --00 0000           --uu uuuu

CCPR5H       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCPR5L       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

CCP5CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 --00 0000  --00 0000           --uu uuuu

PSPCON       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 ----  0000 ----           uuuu ----

MDCON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0010 0--0  0010 0--0           uuuu u--u

MDSRC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0--- xxxx  0--- xxxx           u--- uuuu

MDCARH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0xx- xxxx  0xx- xxxx           uuu- uuuu

MDCARL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0xx- xxxx  0xx- xxxx           uuu- uuuu

CANCON_RO0 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000    1000 0000           uuuu uuuu

CANSTAT_RO0 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000   1000 0000           uuuu uuuu

RXB1D7       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D6       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D5       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D4       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D3       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D1       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1D0       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1DLC      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           xxxx xxxx

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

      3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
            updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
            stack.

      4: See Table 5-3 for Reset value for specific conditions.

      5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
            enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 93
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register          Applicable Devices  Power-on                     MCLR Resets,      Wake-up via
                                         Reset,                      WDT Reset,           WDT

                                      Brown-out                  RESET Instruction,  or Interrupt
                                         Reset                      Stack Resets

RXB1EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

RXB1SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXB1CON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO1 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

CANSTAT_RO1 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000        1000 0000           uuuu uuuu

TXB0D7            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D6            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D5            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D4            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D3            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D2            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0D0            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB0DLC           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

TXB0EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

TXB0EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

TXB0SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  xxx- x-xx           uuu- u-uu

TXB0SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  xxxx xxxx           uuuu uuuu

TXB0CON           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0-00  0000 0-00           uuuu u-uu

CANCON_RO2 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

CANSTAT_RO2 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000        1000 0000           uuuu uuuu

TXB1D7            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D6            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D5            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D4            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D3            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D2            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D1            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1D0            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1DLC           PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
      updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
      stack.

4: See Table 5-3 for Reset value for specific conditions.

5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
      enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 94                                                  2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices       Power-on                MCLR Resets,      Wake-up via
                                         Reset,                 WDT Reset,           WDT

                                      Brown-out             RESET Instruction,  or Interrupt
                                         Reset                 Stack Resets

TXB1SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB1CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0-00  0000 0-00           uuuu u-uu

CANCON_RO3 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000    1000 0000           uuuu uuuu

CANSTAT_RO3 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000   1000 0000           uuuu uuuu

TXB2D7       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D6       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D5       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D4       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D3       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D2       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D1       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2D0       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2DLC      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

TXB2SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

TXB2CON      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0-00  0000 0-00           uuuu u-uu

RXM1EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXM1EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXM1SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- 0-xx  uuu- u-uu           uuu- u-uu

RXM1SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXM0EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXM0EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXM0SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- 0-xx  uuu- u-uu           uuu- u-uu

RXM0SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF5EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF5EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF5SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF5SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF4EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF4EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF4SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF4SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF3EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
      updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
      stack.

4: See Table 5-3 for Reset value for specific conditions.

5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
      enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 95
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register          Applicable Devices  Power-on                     MCLR Resets,      Wake-up via
                                         Reset,                      WDT Reset,           WDT

                                      Brown-out                  RESET Instruction,  or Interrupt
                                         Reset                      Stack Resets

RXF3EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF3SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF3SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF2EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF2EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF2SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF2SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF1EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF1EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF1SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF1SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF0EIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF0EIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF0SIDL          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF0SIDH          PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

CANCON_RO4 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

CANSTAT_RO4 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000        1000 0000           uuuu uuuu

B5D7              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D6              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D5              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5D0              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5DLC             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           uuuu uuuu

B5EIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5EIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5SIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B5SIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B5CON             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO5 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

CANSTAT_RO5 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000        1000 0000           uuuu uuuu

B4D7              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D6              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

      3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
            updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
            stack.

      4: See Table 5-3 for Reset value for specific conditions.

      5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
            enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 96                                                  2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices       Power-on                MCLR Resets,      Wake-up via
                                         Reset,                 WDT Reset,           WDT

                                      Brown-out             RESET Instruction,  or Interrupt
                                         Reset                 Stack Resets

B4D5         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D4         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D3         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D2         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D1         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4D0         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4DLC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           -uuu uuuu

B4EIDL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4EIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4SIDL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B4SIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B4CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO6 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000    1000 0000           uuuu uuuu

CANSTAT_RO6 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000   1000 0000           uuuu uuuu

B3D7         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D6         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D5         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D4         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D3         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D2         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D1         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3D0         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3DLC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           -uuu uuuu

B3EIDL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3EIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3SIDL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B3SIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B3CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO7 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000    1000 0000           uuuu uuuu

B2D7         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D6         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D5         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D4         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D3         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D2         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

      3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
            updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
            stack.

      4: See Table 5-3 for Reset value for specific conditions.

      5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
            enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 97
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register          Applicable Devices  Power-on                     MCLR Resets,      Wake-up via
                                         Reset,                      WDT Reset,           WDT

                                      Brown-out                  RESET Instruction,  or Interrupt
                                         Reset                      Stack Resets

B2D1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2D0              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2DLC             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           -uuu uuuu

B2EIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2EIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2SIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B2SIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B2CON             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO8 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

B1D7              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D6              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D5              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1D0              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1DLC             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           -uuu uuuu

B1EIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1EIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1SIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B1SIDH            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B1CON             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

CANCON_RO9 PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

CANSTAT_RO PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 1000 0000         1000 0000           uuuu uuuu

B0D7              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D6              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D5              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D4              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D3              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D2              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D1              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0D0              PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0DLC             PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 -xxx xxxx  -uuu uuuu           -uuu uuuu

B0EIDL            PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

      3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
            updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
            stack.

      4: See Table 5-3 for Reset value for specific conditions.

      5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
            enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 98                                                  2010-2012 Microchip Technology Inc.
                                      PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register     Applicable Devices       Power-on                MCLR Resets,      Wake-up via
                                         Reset,                 WDT Reset,           WDT

                                      Brown-out             RESET Instruction,  or Interrupt
                                         Reset                 Stack Resets

B0EIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0SIDL       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx x-xx  uuuu u-uu           uuuu u-uu

B0SIDH       PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

B0CON        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

TXBIE        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---0 00--  ---u uu--           ---u uu--

BIE0         PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

BSEL0        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 00--  0000 00--           uuuu uu--

MSEL3        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

MSEL2        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

MSEL1        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0101  0000 0101           uuuu uuuu

MSEL0        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0101 0000  0101 0000           uuuu uuuu

RXFBCON7     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFBCON6     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFBCON5     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFBCON4     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFBCON3     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFBCON2     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0001 0001  0001 0001           uuuu uuuu

RXFBCON1     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0001 0001  0001 0001           uuuu uuuu

RXFBCON0     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

SDFLC        PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 ---0 0000  ---0 0000           ---u uuuu

RXF15EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF15EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF15SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF15SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF14EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF14EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF14SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF14SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF13EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF13EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF13SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF13SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF12EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF12EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF12SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

       3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
             updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
             stack.

       4: See Table 5-3 for Reset value for specific conditions.

       5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
             enabled as PORTA pins, they are disabled and read as `0'.

2010-2012 Microchip Technology Inc.                                   DS39977F-page 99
PIC18F66K80 FAMILY

TABLE 5-4: INITIALIZATION CONDITIONS FOR ALL REGISTERS (CONTINUED)

Register           Applicable Devices  Power-on               MCLR Resets,      Wake-up via
                                          Reset,                WDT Reset,           WDT

                                       Brown-out            RESET Instruction,  or Interrupt
                                          Reset                Stack Resets

RXF12SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF11EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF11EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF11SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF11SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF10EIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF10EIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF10SIDL    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF10SIDH    PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF9EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF9EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF9SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF9SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF8EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF8EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF8SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF8SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF7EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF7EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF7SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF7SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF6EIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF6EIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXF6SIDL     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxx- x-xx  uuu- u-uu           uuu- u-uu

RXF6SIDH     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 xxxx xxxx  uuuu uuuu           uuuu uuuu

RXFCON0      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXFCON1      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

BRGCON3      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 00-- -000  00-- -000           uu-- -uuu

BRGCON2      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

BRGCON1      PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

TXERRCNT     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

RXERRCNT     PIC18F2XK80 PIC18F4XK80 PIC18F6XK80 0000 0000  0000 0000           uuuu uuuu

Legend: u = unchanged; x = unknown; - = unimplemented bit, read as `0'; q = value depends on condition.
               Shaded cells indicate conditions do not apply for the designated device.

Note 1:      One or more bits in the INTCONx or PIRx registers will be affected (to cause wake-up).
         2:
             When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the PC is loaded with the interrupt
             vector (0008h or 0018h).

3: When the wake-up is due to an interrupt and the GIEL or GIEH bit is set, the TOSU, TOSH and TOSL are
      updated with the current value of the PC. The STKPTR is modified to point to the next location in the hardware
      stack.

4: See Table 5-3 for Reset value for specific conditions.

5: Bits 6 and 7 of PORTA, LATA and TRISA are enabled, depending on the oscillator mode selected. When not
      enabled as PORTA pins, they are disabled and read as `0'.

DS39977F-page 100                                            2010-2012 Microchip Technology Inc.
                                                       PIC18F66K80 FAMILY

6.0 MEMORY ORGANIZATION                                The data EEPROM, for practical purposes, can be
                                                       regarded as a peripheral device because it is
PIC18F66K80 family devices have these types of         addressed and accessed through a set of control
memory:                                                registers.

Program Memory                                       Additional detailed information on the operation of the
Data RAM                                             Flash program memory is provided in Section 7.0
Data EEPROM                                          "Flash Program Memory". The data EEPROM is
                                                       discussed separately in Section 8.0 "Data EEPROM
As Harvard architecture devices, the data and program  Memory".
memories use separate busses. This enables
concurrent access of the two memory spaces.

FIGURE 6-1:  MEMORY MAPS FOR PIC18F66K80 FAMILY DEVICES

                                      PC<20:0>         21

CALL, CALLW, RCALL,

RETURN, RETFIE, RETLW,

ADDULNK, SUBULNK                      Stack Level 1
                                             

                                      Stack Level 31

             PIC18FX5K80                               PIC18FX6K80    000000h

                 On-Chip                                   On-Chip
                 Memory                                    Memory

                                                                      007FFFh

                                                                      00FFFFh

                                                                               User Memory Space

             Unimplemented                             Unimplemented
               Read as `0'                               Read as `0'

Note:                                                                                                                           1FFFFFh
             Sizes of memory areas are not to scale. Sizes of program memory areas are enhanced to show detail.

2010-2012 Microchip Technology Inc.                                  DS39977F-page 101
PIC18F66K80 FAMILY

6.1 Program Memory Organization                               FIGURE 6-2:  HARD VECTOR FOR
                                                                           PIC18F66K80 FAMILY
PIC18 microcontrollers implement a 21-bit Program                          DEVICES
Counter (PC) that is capable of addressing a 2-Mbyte
program memory space. Accessing a location between                         Reset Vector    0000h
the upper boundary of the physically implemented
memory and the 2-Mbyte address will return all `0's (a        High-Priority Interrupt Vector 0008h
NOP instruction).
                                                              Low-Priority Interrupt Vector 0018h
The entire PIC18F66K80 family offers a range of
on-chip Flash program memory sizes, from 32 Kbytes                               On-Chip
(16,384 single-word instructions) to 64 Kbytes                             Program Memory
(32,768 single-word instructions).
                                                                           Read `0'
PIC18F25K80, PIC18F45K80 and PIC18F65K80
   32 Kbytes of Flash memory, storing up to                                                1FFFFFh
   16,384 single-word instructions
                                                              Legend:  (Top of Memory) represents upper boundary
PIC18F26K80, PIC18F46K80 and PIC18F66K80                            of on-chip program memory space (see
   64 Kbytes of Flash memory, storing up to                            Figure 6-1 for device-specific values).
   32,768 single-word instructions                                     Shaded area represents unimplemented
                                                                       memory. Areas are not shown to scale.
The program memory maps for individual family
members are shown in Figure 6-1.

6.1.1 HARD MEMORY VECTORS

All PIC18 devices have a total of three hard-coded
return vectors in their program memory space. The
Reset vector address is the default value to which the
Program Counter returns on all device Resets. It is
located at 0000h.

PIC18 devices also have two interrupt vector
addresses for handling high-priority and low-priority
interrupts. The high-priority interrupt vector is located at
0008h and the low-priority interrupt vector is at 0018h.
The locations of these vectors are shown, in relation to
the program memory map, in Figure 6-2.

DS39977F-page 102                                                           2010-2012 Microchip Technology Inc.
                                                            PIC18F66K80 FAMILY

6.1.2 PROGRAM COUNTER                                       The stack operates as a 31-word by 21-bit RAM and a
                                                            5-bit Stack Pointer, STKPTR. The stack space is not
The Program Counter (PC) specifies the address of the       part of either program or data space. The Stack Pointer
instruction to fetch for execution. The PC is 21 bits wide  is readable and writable and the address on the top of
and contained in three separate 8-bit registers.            the stack is readable and writable through the
                                                            Top-of-Stack (TOS) Special Function Registers. Data
The low byte, known as the PCL register, is both            can also be pushed to, or popped from the stack, using
readable and writable. The high byte, or PCH register,      these registers.
contains the PC<15:8> bits and is not directly readable
or writable. Updates to the PCH register are performed      A CALL type instruction causes a push onto the stack.
through the PCLATH register. The upper byte is called       The Stack Pointer is first incremented and the location
PCU. This register contains the PC<20:16> bits; it is also  pointed to by the Stack Pointer is written with the
not directly readable or writable. Updates to the PCU       contents of the PC (already pointing to the instruction
register are performed through the PCLATU register.         following the CALL). A RETURN type instruction causes
                                                            a pop from the stack. The contents of the location
The contents of PCLATH and PCLATU are transferred to        pointed to by the STKPTR are transferred to the PC
the Program Counter by any operation that writes PCL.       and then the Stack Pointer is decremented.
Similarly, the upper two bytes of the Program Counter
are transferred to PCLATH and PCLATU by an operation        The Stack Pointer is initialized to `00000' after all
that reads PCL. This is useful for computed offsets to the  Resets. There is no RAM associated with the location
PC (see Section 6.1.5.1 "Computed GOTO").                   corresponding to a Stack Pointer value of `00000'; this
                                                            is only a Reset value. Status bits indicate if the stack is
The PC addresses bytes in the program memory. To            full, has overflowed or has underflowed.
prevent the PC from becoming misaligned with word
instructions, the Least Significant bit (LSb) of PCL is     6.1.3.1 Top-of-Stack Access
fixed to a value of `0'. The PC increments by two to
address sequential instructions in the program memory.      Only the top of the return address stack is readable and
                                                            writable. A set of three registers, TOSU:TOSH:TOSL,
The CALL, RCALL, GOTO and program branch                    holds the contents of the stack location pointed to by
instructions write to the Program Counter directly. For     the STKPTR register (Figure 6-3). This allows users to
these instructions, the contents of PCLATH and              implement a software stack, if necessary. After a CALL,
PCLATU are not transferred to the Program Counter.          RCALL or interrupt (or ADDULNK and SUBULNK instruc-
                                                            tions, if the extended instruction set is enabled), the
6.1.3 RETURN ADDRESS STACK                                  software can read the pushed value by reading the
                                                            TOSU:TOSH:TOSL registers. These values can be
The return address stack enables execution of any           placed on a user-defined software stack. At return time,
combination of up to 31 program calls and interrupts.       the software can return these values to
The PC is pushed onto the stack when a CALL or              TOSU:TOSH:TOSL and do a return.
RCALL instruction is executed or an interrupt is
Acknowledged. The PC value is pulled off the stack on       While accessing the stack, users must disable the
a RETURN, RETLW or a RETFIE instruction. The value          Global Interrupt Enable bits to prevent inadvertent
is also pulled off the stack on ADDULNK and SUBULNK         stack corruption.
instructions if the extended instruction set is enabled.
PCLATU and PCLATH are not affected by any of the
RETURN or CALL instructions.

FIGURE 6-3:  RETURN ADDRESS STACK AND ASSOCIATED REGISTERS

             Top-of-Stack Registers   Return Address Stack<20:0>            Stack Pointer

             TOSU TOSH TOSL                                          11111  STKPTR<4:0>
              00h 1Ah 34h                                            11110       00010
                                                                     11101

                                      Top-of-Stack          001A34h  00011
                                                            000D58h  00010
                                                                     00001
                                                                     00000

2010-2012 Microchip Technology Inc.                                        DS39977F-page 103
PIC18F66K80 FAMILY

6.1.3.2 Return Stack Pointer (STKPTR)                      When the stack has been popped enough times to
                                                           unload the stack, the next pop will return a value of zero
The STKPTR register (Register 6-1) contains the Stack      to the PC and set the STKUNF bit, while the Stack
Pointer value, the STKFUL (Stack Full) status bit and the  Pointer remains at zero. The STKUNF bit will remain
STKUNF (Stack Underflow) status bits. The value of the     set until cleared by software or until a POR occurs.
Stack Pointer can be 0 through 31. The Stack Pointer
increments before values are pushed onto the stack and     Note:   Returning a value of zero to the PC on an
decrements after values are popped off of the stack. On            underflow has the effect of vectoring the
Reset, the Stack Pointer value will be zero.                       program to the Reset vector, where the
                                                                   stack conditions can be verified and
The user may read and write the Stack Pointer value.               appropriate actions can be taken. This is
This feature can be used by a Real-Time Operating                  not the same as a Reset, as the contents
System (RTOS) for return stack maintenance.                        of the SFRs are not affected.

After the PC is pushed onto the stack 31 times (without    6.1.3.3 PUSH and POP Instructions
popping any values off the stack), the STKFUL bit is
set. The STKFUL bit is cleared by software or by a         Since the Top-of-Stack is readable and writable, the
POR.                                                       ability to push values onto the stack and pull values off
                                                           of the stack, without disturbing normal program execu-
What happens when the stack becomes full depends           tion, is a desirable feature. The PIC18 instruction set
on the state of the STVREN (Stack Overflow Reset           includes two instructions, PUSH and POP, that permit
Enable) Configuration bit. (For a description of the       the TOS to be manipulated under software control.
device Configuration bits, see Section 28.1 "Configu-      TOSU, TOSH and TOSL can be modified to place data
ration Bits".) If STVREN is set (default), the 31st push   or a return address on the stack.
will push the (PC + 2) value onto the stack, set the
STKFUL bit and reset the device. The STKFUL bit will       The PUSH instruction places the current PC value onto
remain set and the Stack Pointer will be set to zero.      the stack. This increments the Stack Pointer and loads
                                                           the current PC value onto the stack.
If STVREN is cleared, the STKFUL bit will be set on the
31st push and the Stack Pointer will increment to 31.      The POP instruction discards the current TOS by
Any additional pushes will not overwrite the 31st push     decrementing the Stack Pointer. The previous value
and the STKPTR will remain at 31.                          pushed onto the stack then becomes the TOS value.

REGISTER 6-1: STKPTR: STACK POINTER REGISTER

R/C-0              R/C-0  U-0                R/W-0         R/W-0                 R/W-0  R/W-0  R/W-0
                                              SP4           SP3                   SP2    SP1    SP0
STKFUL(1) STKUNF(1)       --
                                                                                                      bit 0
bit 7

Legend:                   C = Clearable bit                U = Unimplemented bit, read as `0'
R = Readable bit          W = Writable bit
-n = Value at POR         `1' = Bit is set                 `0' = Bit is cleared         x = Bit is unknown

bit 7    STKFUL: Stack Full Flag bit(1)
         1 = Stack has become full or overflowed
bit 6    0 = Stack has not become full or overflowed
         STKUNF: Stack Underflow Flag bit(1)
bit 5    1 = Stack underflow has occurred
bit 4-0  0 = Stack underflow did not occur

         Unimplemented: Read as `0'

         SP<4:0>: Stack Pointer Location bits

Note 1: Bit 7 and bit 6 are cleared by user software or by a POR.

DS39977F-page 104                                                                 2010-2012 Microchip Technology Inc.
                                                               PIC18F66K80 FAMILY

6.1.3.4 Stack Full and Underflow Resets                        6.1.5  LOOK-UP TABLES IN PROGRAM
                                                                      MEMORY
Device Resets on stack overflow and stack underflow
conditions are enabled by setting the STVREN bit               There may be programming situations that require the
(CONFIG4L<0>). When STVREN is set, a full or under-            creation of data structures, or look-up tables, in
flow condition will set the appropriate STKFUL or              program memory. For PIC18 devices, look-up tables
STKUNF bit and then cause a device Reset. When                 can be implemented in two ways:
STVREN is cleared, a full or underflow condition will set
the appropriate STKFUL or STKUNF bit, but not cause             Computed GOTO
a device Reset. The STKFUL or STKUNF bits are                   Table Reads
cleared by the user software or a Power-on Reset.
                                                               6.1.5.1 Computed GOTO
6.1.4 FAST REGISTER STACK
                                                               A computed GOTO is accomplished by adding an offset
A Fast Register Stack is provided for the STATUS,              to the Program Counter. An example is shown in
WREG and BSR registers to provide a "fast return"              Example 6-2.
option for interrupts. This stack is only one level deep
and is neither readable nor writable. It is loaded with the    A look-up table can be formed with an ADDWF PCL
current value of the corresponding register when the           instruction and a group of RETLW nn instructions. The
processor vectors for an interrupt. All interrupt sources      W register is loaded with an offset into the table before
will push values into the Stack registers. The values in       executing a call to that table. The first instruction of the
the registers are then loaded back into the working            called routine is the ADDWF PCL instruction. The next
registers if the RETFIE, FAST instruction is used to           instruction executed will be one of the RETLW nn
return from the interrupt.                                     instructions that returns the value, `nn', to the calling
                                                               function.
If both low and high-priority interrupts are enabled, the
Stack registers cannot be used reliably to return from         The offset value (in WREG) specifies the number of
low-priority interrupts. If a high-priority interrupt occurs   bytes that the Program Counter should advance and
while servicing a low-priority interrupt, the Stack            should be multiples of two (LSb = 0).
register values stored by the low-priority interrupt will
be overwritten. In these cases, users must save the key        In this method, only one data byte may be stored in
registers in software during a low-priority interrupt.         each instruction location and room on the return
                                                               address stack is required.
If interrupt priority is not used, all interrupts may use the
Fast Register Stack for returns from interrupt. If no          EXAMPLE 6-2:         COMPUTED GOTO USING
interrupts are used, the Fast Register Stack can be                                 AN OFFSET VALUE
used to restore the STATUS, WREG and BSR registers             ORG    MOVF
at the end of a subroutine call. To use the Fast Register      TABLE  CALL      OFFSET, W
Stack for a subroutine call, a CALL label, FAST                       nn00h     TABLE
instruction must be executed to save the STATUS,                      ADDWF
WREG and BSR registers to the Fast Register Stack. A                  RETLW     PCL
RETURN, FAST instruction is then executed to restore                  RETLW     nnh
these registers from the Fast Register Stack.                         RETLW     nnh
                                                                      .         nnh
Example 6-1 shows a source code example that uses                     .
the Fast Register Stack during a subroutine call and                  .
return.
                                                               6.1.5.2 Table Reads
EXAMPLE 6-1:       FAST REGISTER STACK
                   CODE EXAMPLE                                A better method of storing data in program memory
CALL SUB1, FAST                                               allows two bytes of data to be stored in each instruction
                    ;STATUS, WREG, BSR                         location.
                    ;SAVED IN FAST REGISTER
                    ;STACK                                     Look-up table data may be stored two bytes per
                                                               program word while programming. The Table Pointer
SUB1               ;RESTORE VALUES SAVED                       (TBLPTR) specifies the byte address and the Table
                   ;IN FAST REGISTER STACK                     Latch (TABLAT) contains the data that is read from the
                                                               program memory. Data is transferred from program
      RETURN FAST                                              memory one byte at a time.

                                                               The table read operation is discussed further in
                                                               Section 7.1 "Table Reads and Table Writes".

2010-2012 Microchip Technology Inc.                                            DS39977F-page 105
PIC18F66K80 FAMILY

6.2 PIC18 Instruction Cycle                                  6.2.2 INSTRUCTION FLOW/PIPELINING

6.2.1 CLOCKING SCHEME                                        An "Instruction Cycle" consists of four Q cycles, Q1
                                                             through Q4. The instruction fetch and execute are pipe-
The microcontroller clock input, whether from an             lined in such a manner that a fetch takes one instruction
internal or external source, is internally divided by four   cycle, while the decode and execute take another
to generate four non-overlapping quadrature clocks           instruction cycle. However, due to the pipelining, each
(Q1, Q2, Q3 and Q4). Internally, the Program Counter         instruction effectively executes in one cycle. If an
is incremented on every Q1, with the instruction             instruction (such as GOTO) causes the Program Coun-
fetched from the program memory and latched into the         ter to change, two cycles are required to complete the
Instruction Register (IR) during Q4.                         instruction. (See Example 6-3.)

The instruction is decoded and executed during the           A fetch cycle begins with the Program Counter (PC)
following Q1 through Q4. The clocks and instruction          incrementing in Q1.
execution flow are shown in Figure 6-4.
                                                             In the execution cycle, the fetched instruction is latched
                                                             into the Instruction Register (IR) in cycle, Q1. This
                                                             instruction is then decoded and executed during the
                                                             Q2, Q3 and Q4 cycles. Data memory is read during Q2
                                                             (operand read) and written during Q4 (destination
                                                             write).

FIGURE 6-4:                CLOCK/INSTRUCTION CYCLE                                Q1 Q2 Q3 Q4

                   OSC1    Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4                                             PC + 4
                       Q1                                                             Execute INST (PC + 2)
                       Q2                                                                                    Internal
                       Q3                                                               Fetch INST (PC + 4)  Phase
                       Q4                                                                                    Clock
                       PC
                                        PC                            PC + 2
          OSC2/CLKO
            (RC mode)      Execute INST (PC 2)             Execute INST (PC)
                               Fetch INST (PC)               Fetch INST (PC + 2)

EXAMPLE 6-3: INSTRUCTION PIPELINE FLOW

                            TCY0                     TCY1       TCY2              TCY3       TCY4            TCY5
                           Fetch 1                Execute 1
1. MOVLW 55h                                                 Execute 2
2. MOVWF PORTB                                     Fetch 2    Fetch 3

3. BRA SUB_1                                                                      Execute 3
                                                                                   Fetch 4
4. BSF PORTA, BIT3 (Forced NOP)                                                               Flush (NOP)
                                                                                             Fetch SUB_1 Execute SUB_1
5. Instruction @ address SUB_1

All instructions are single cycle, except for any program branches. These take two cycles since the fetch instruction
is "flushed" from the pipeline while the new instruction is being fetched and then executed.

DS39977F-page 106                                                                             2010-2012 Microchip Technology Inc.
                                                          PIC18F66K80 FAMILY

6.2.3    INSTRUCTIONS IN PROGRAM                          The CALL and GOTO instructions have the absolute
         MEMORY                                           program memory address embedded into the instruc-
                                                          tion. Since instructions are always stored on word
The program memory is addressed in bytes. Instruc-        boundaries, the data contained in the instruction is a
tions are stored as two or four bytes in program          word address. The word address is written to PC<20:1>
memory. The Least Significant Byte (LSB) of an            which accesses the desired byte address in program
instruction word is always stored in a program memory     memory. Instruction #2 in Figure 6-5 shows how the
location with an even address (LSB = 0). To maintain      instruction, GOTO 0006h, is encoded in the program
alignment with instruction boundaries, the PC incre-      memory. Program branch instructions, which encode a
ments in steps of two and the LSB will always read `0'    relative address offset, operate in the same manner. The
(see Section 6.1.2 "Program Counter").                    offset value stored in a branch instruction represents the
                                                          number of single-word instructions that the PC will be
Figure 6-5 shows an example of how instruction words      offset by. For more details on the instruction set, see
are stored in the program memory.                         Section 29.0 "Instruction Set Summary".

FIGURE 6-5:  INSTRUCTIONS IN PROGRAM MEMORY

                                                          LSB = 1     LSB = 0  Word Address
                                                                                       
                     Program Memory                                      55h
                                                                         03h      000000h
                     Byte Locations                                      00h      000002h
                                                                         23h      000004h
             Instruction 1: MOVLW     055h                0Fh            56h      000006h
                                                                                  000008h
             Instruction 2: GOTO      0006h               EFh                     00000Ah
                                                                                  00000Ch
                                                          F0h                     00000Eh
                                                                                  000010h
             Instruction 3: MOVFF     123h, 456h          C1h                     000012h
                                                                                  000014h
                                                          F4h

6.2.4 TWO-WORD INSTRUCTIONS                               used by the instruction sequence. If the first word is
                                                          skipped for some reason and the second word is
The standard PIC18 instruction set has four, two-word     executed by itself, a NOP is executed instead. This is
instructions: CALL, MOVFF, GOTO and LSFR. In all cases,   necessary for cases when the two-word instruction is
the second word of the instructions always has `1111' as  preceded by a conditional instruction that changes the
its four Most Significant bits (MSbs). The other 12 bits  PC. Example 6-4 shows how this works.
are literal data, usually a data memory address.
                                                               Note:  For information on two-word instructions
The use of `1111' in the 4 MSbs of an instruction                     in the extended instruction set, see
specifies a special form of NOP. If the instruction is
executed in proper sequence, immediately after the                    Section 6.5 "Program Memory and the
first word, the data in the second word is accessed and               Extended Instruction Set".

EXAMPLE 6-4: TWO-WORD INSTRUCTIONS

CASE 1:

Object Code          Source Code

0110 0110 0000 0000 TSTFSZ REG1                           ; is RAM location 0?

1100 0001 0010 0011 MOVFF             REG1, REG2 ; No, skip this word

1111 0100 0101 0110                                       ; Execute this word as a NOP

0010 0100 0000 0000 ADDWF             REG3                ; continue code

CASE 2:

Object Code          Source Code

0110 0110 0000 0000 TSTFSZ REG1                           ; is RAM location 0?

1100 0001 0010 0011 MOVFF             REG1, REG2 ; Yes, execute this word

1111 0100 0101 0110                                       ; 2nd word of instruction

0010 0100 0000 0000 ADDWF             REG3                ; continue code

2010-2012 Microchip Technology Inc.                                                         DS39977F-page 107
PIC18F66K80 FAMILY

6.3 Data Memory Organization                             6.3.1 BANK SELECT REGISTER

Note:  The operation of some aspects of data             Large areas of data memory require an efficient
       memory are changed when the PIC18                 addressing scheme to make rapid access to any
       extended instruction set is enabled. See          address possible. Ideally, this means that an entire
                                                         address does not need to be provided for each read or
       Section 6.6 "Data Memory and the                  write operation. For PIC18 devices, this is accom-
       Extended Instruction Set" for more                plished with a RAM banking scheme. This divides the
       information.                                      memory space into 16 contiguous banks of 256 bytes.
                                                         Depending on the instruction, each location can be
The data memory in PIC18 devices is implemented as       addressed directly by its full 12-bit address, or an
static RAM. Each register in the data memory has a       eight-bit, low-order address and a four-bit Bank Pointer.
12-bit address, allowing up to 4,096 bytes of data
memory. The memory space is divided into 16 banks        Most instructions in the PIC18 instruction set make use
that contain 256 bytes each.                             of the Bank Pointer, known as the Bank Select Register
                                                         (BSR). This SFR holds the four Most Significant bits of
Figure 6-6 and Figure 6-7 show the data memory           a location's address. The instruction itself includes the
organization for the devices.                            eight Least Significant bits. Only the four lower bits of
                                                         the BSR are implemented (BSR<3:0>). The upper four
The data memory contains Special Function Registers      bits are unused and always read as `0', and cannot be
(SFRs) and General Purpose Registers (GPRs). The         written to. The BSR can be loaded directly by using the
SFRs are used for control and status of the controller   MOVLB instruction.
and peripheral functions, while GPRs are used for data
storage and scratchpad operations in the user's          The value of the BSR indicates the bank in data
application. Any read of an unimplemented location will  memory. The eight bits in the instruction show the loca-
read as `0's.                                            tion in the bank and can be thought of as an offset from
                                                         the bank's lower boundary. The relationship between
The instruction set and architecture allow operations    the BSR's value and the bank division in data memory
across all banks. The entire data memory may be          is shown in Figure 6-7.
accessed by Direct, Indirect or Indexed Addressing
modes. Addressing modes are discussed later in this      Since up to 16 registers may share the same low-order
section.                                                 address, the user must always be careful to ensure that
                                                         the proper bank is selected before performing a data
To ensure that commonly used registers (select SFRs      read or write. For example, writing what should be
and select GPRs) can be accessed in a single cycle,      program data to an eight-bit address of F9h while the
PIC18 devices implement an Access Bank. This is a        BSR is 0Fh, will end up resetting the Program Counter.
256-byte memory space that provides fast access to
select SFRs and the lower portion of GPR Bank 0 with-    While any bank can be selected, only those banks that
out using the Bank Select Register. For details on the   are actually implemented can be read or written to.
Access RAM, see Section 6.3.2 "Access Bank".             Writes to unimplemented banks are ignored, while
                                                         reads from unimplemented banks will return `0's. Even
                                                         so, the STATUS register will still be affected as if the
                                                         operation was successful. The data memory map in
                                                         Figure 6-6 indicates which banks are implemented.

                                                         In the core PIC18 instruction set, only the MOVFF
                                                         instruction fully specifies the 12-bit address of the
                                                         source and target registers. When this instruction
                                                         executes, it ignores the BSR completely. All other
                                                         instructions include only the low-order address as an
                                                         operand and must use either the BSR or the Access
                                                         Bank to locate their target registers.

DS39977F-page 108                                         2010-2012 Microchip Technology Inc.
                                                          PIC18F66K80 FAMILY

FIGURE 6-6:       DATA MEMORY MAP FOR PIC18FX5K80 AND PIC18FX6K80 DEVICES
   BSR<3:0>
          = 0000                           Data Memory Map
          = 0001
          = 0010                      00h  Access RAM       000h
          = 0011                                            05Fh
          = 0100  Bank 0                                    060h  When a = 0:
          = 0101  Bank 1              FFh  GPR              0FFh        The BSR is ignored and the
          = 0110  Bank 2                                                Access Bank is used.
          = 0111  Bank 3              00h                   100h        The first 96 bytes are general
                  Bank 4                                                purpose RAM (from Bank 0).
          = 1000  Bank 5                   GPR                          The second 160 bytes are
          = 1001  Bank 6                                                Special Function Registers
          = 1010  Bank 7              FFh                   1FFh        (from Bank 15).
          = 1011                                            200h
          = 1100  Bank 8              00h                         When a = 1:
          = 1101  Bank 9                                                The BSR specifies the bank
          = 1110  Bank 10                  GPR                          used by the instruction.
          = 1111  Bank 11
                  Bank 12             FFh                   2FFh
                  Bank 13                                   300h
                  Bank 14             00h

                                           GPR              3FFh

                                      FFh
                                      00h                   400h

                                           GPR

                                      FFh                   4FFh

                                      00h                   500h

                                           GPR

                                      FFh                   5FFh

                                      00h                   600h

                                           GPR

                                      FFh                   6FFh

                                      00h                   700h  Access Bank

                                           GPR                                              00h
                                                                  Access RAM Low 5Fh
                                      FFh                   7FFh  Access RAM High 60h

                                      00h                   800h

                                                     GPR    8FFh  (SFRs)                                 FFh
                                                            900h
                                      FFh
                                      00h                   9FFh
                                                            A00h
                                                     GPR
                                      FFh                   AFFh
                                      00h                   B00h

                                                     GPR    BFFh
                                      FFh                   C00h
                                      00h
                                                            CFFh
                                                     GPR    D00h
                                      FFh
                                      00h                   DFFh
                                                            E00h
                                                     GPR
                                      FFh
                                      00h

                                                     GPR
                                      FFh
                                      00h

                                           GPR(1)

                  Bank 15             FFh                   EFFh

                                      00h  GPR(1)           F00h
                                                            F5Fh
                                                            F60h
                                      FFh  SFR              FFFh

Note 1: Addresses, E41h through F5Fh, are also used by SFRs, but are not part of the Access RAM.
              Users must always use the complete address, or load the proper BSR value, to access these
              registers.

2010-2012 Microchip Technology Inc.                              DS39977F-page 109
PIC18F66K80 FAMILY

FIGURE 6-7:        USE OF THE BANK SELECT REGISTER (DIRECT ADDRESSING)

7                  BSR(1)  0  000h Data Memory 00h                  7  From Opcode(2)  0

0 0 000 010                         Bank 0                   FFh    1 1 11 1 11 1 11 11
                                                             00h
                              100h

Bank Select(2)                      Bank 1                   FFh
                                                             00h
                              200h

                              300h  Bank 2                   FFh

                                                             00h

                                    Bank 3
                                    through
                                    Bank 13

                              E00h                           FFh
                                                             00h
                                    Bank 14
                                                             FFh
                              F00h                           00h

                              FFFh  Bank 15                  FFh

Note 1:      The Access RAM bit of the instruction can be used to force an override of the selected bank (BSR<3:0>)
         2:  to the registers of the Access Bank.

             The MOVFF instruction embeds the entire 12-bit address in the instruction.

6.3.2 ACCESS BANK                                            Using this "forced" addressing allows the instruction to
                                                             operate on a data address in a single cycle without
While the use of the BSR, with an embedded 8-bit             updating the BSR first. For 8-bit addresses of 60h and
address, allows users to address the entire range of data    above, this means that users can evaluate and operate
memory, it also means that the user must ensure that the     on SFRs more efficiently. The Access RAM below 60h
correct bank is selected. If not, data may be read from,     is a good place for data values that the user might need
or written to, the wrong location. This can be disastrous    to access rapidly, such as immediate computational
if a GPR is the intended target of an operation, but an      results or common program variables.
SFR is written to instead. Verifying and/or changing the
BSR for each read or write to data memory can become         Access RAM also allows for faster and more code
very inefficient.                                            efficient context saving and switching of variables.

To streamline access for the most commonly used data         The mapping of the Access Bank is slightly different
memory locations, the data memory is configured with         when the extended instruction set is enabled (XINST
an Access Bank, which allows users to access a               Configuration bit = 1). This is discussed in more detail
mapped block of memory without specifying a BSR.             in Section 6.6.3 "Mapping the Access Bank in
The Access Bank consists of the first 96 bytes of            Indexed Literal Offset Mode".
memory (00h-5Fh) in Bank 0 and the last 160 bytes of
memory (60h-FFh) in Bank 15. The lower half is known         6.3.3  GENERAL PURPOSE
as the "Access RAM" and is composed of GPRs. The                    REGISTER FILE
upper half is where the device's SFRs are mapped.
These two areas are mapped contiguously in the               PIC18 devices may have banked memory in the GPR
Access Bank and can be addressed in a linear fashion         area. This is data RAM which is available for use by all
by an eight-bit address (Figure 6-6).                        instructions. GPRs start at the bottom of Bank 0
                                                             (address 000h) and grow upwards towards the bottom of
The Access Bank is used by core PIC18 instructions           the SFR area. GPRs are not initialized by a Power-on
that include the Access RAM bit (the `a' parameter in        Reset and are unchanged on all other Resets.
the instruction). When `a' is equal to `1', the instruction
uses the BSR and the 8-bit address included in the
opcode for the data memory address. When `a' is `0',
however, the instruction is forced to use the Access
Bank address map. In that case, the current value of
the BSR is ignored entirely.

DS39977F-page 110                                                       2010-2012 Microchip Technology Inc.
                                                          PIC18F66K80 FAMILY

6.3.4 SPECIAL FUNCTION REGISTERS                          The SFRs can be classified into two sets: those
                                                          associated with the "core" device functionality (ALU,
The Special Function Registers (SFRs) are registers       Resets and interrupts) and those related to the
used by the CPU and peripheral modules for controlling    peripheral functions. The Reset and Interrupt registers
the desired operation of the device. These registers are  are described in their respective chapters, while the
implemented as static RAM. SFRs start at the top of       ALU's STATUS register is described later in this section.
data memory (FFFh) and extend downward to occupy          Registers related to the operation of the peripheral
all of Bank 15 (F00h to FFFh) and the top part of         features are described in the chapter for that peripheral.
Bank 14 (EF4h to EFFh).
                                                          The SFRs are typically distributed among the
A list of these registers is given in Table 6-1 and       peripherals whose functions they control. Unused SFR
Table 6-2.                                                locations are unimplemented and read as `0's.

TABLE 6-1: SPECIAL FUNCTION REGISTER MAP FOR PIC18F66K80 FAMILY

Addr.         Name  Addr.  Name         Addr.     Name    Addr.     Name     Addr. Name      Addr. Name

FFFh        TOSU    FDFh      INDF2(1)   FBFh   ECCP1AS    F9Fh      IPR1     F7Fh EECON1    F5Fh CM1CON(5)
FFEh        TOSH    FDEh   POSTINC2(1)  FBEh   ECCP1DEL    F9Eh      PIR1     F7Eh EECON2
FFDh        TOSL    FDDh   POSTDEC2(1)  FBDh               F9Dh      PIE1     F7Dh SPBRGH1   F5Eh CM2CON(5)
FFCh      STKPTR    FDCh    PREINC2(1)  FBCh     CCPR1H    F9Ch  PSTR1CON     F7Ch SPBRGH2
FFBh      PCLATU    FDBh    PLUSW2(1)   FBBh     CCPR1L    F9Bh  OSCTUNE      F7Bh SPBRG2    F5Dh ANCON0(5)
FFAh      PCLATH    FDAh                FBAh    CCP1CON    F9Ah  REFOCON      F7Ah RCREG2
FF9h         PCL    FD9h       FSR2H     FB9h    TXSTA2    F99h  CCPTMRS      F79h TXREG2    F5Ch ANCON1(5)
FF8h     TBLPTRU    FD8h       FSR2L     FB8h  BAUDCON2    F98h    TRISG(3)   F78h IPR5
FF7h     TBLPTRH    FD7h      STATUS     FB7h              F97h    TRISF(3)   F77h PIR5      F5Bh WPUB(5)
FF6h      TBLPTRL   FD6h       TMR0H     FB6h       IPR4   F96h    TRISE(4)   F76h PIE5
FF5h       TABLAT   FD5h       TMR0L     FB5h       PIR4   F95h    TRISD(4)   F75h EEADRH    F5Ah IOCB(5)
FF4h       PRODH    FD4h       T0CON     FB4h       PIE4   F94h     TRISC     F74h EEADR
FF3h       PRODL    FD3h                 FB3h   CVRCON     F93h     TRISB     F73h EEDATA    F59h PMD0(5)
FF2h      INTCON    FD2h         --(2)   FB2h    CMSTAT    F92h     TRISA     F72h ECANCON
FF1h      INTCON2   FD1h      OSCCON     FB1h     TMR3H    F91h    ODCON      F71h COMSTAT   F58h PMD1(5)
FF0h      INTCON3   FD0h     OSCCON2     FB0h     TMR3L    F90h   SLRCON      F70h CIOCON
FEFh      INDF0(1)  FCFh     WDTCON      FAFh     T3CON    F8Fh    LATG(3)    F6Fh CANCON    F57h PMD2(5)
FEEh   POSTINC0(1)  FCEh                 FAEh    T3GCON    F8Eh     LATF(3)   F6Eh CANSTAT
FEDh   POSTDEC0(1)  FCDh        RCON    FADh     SPBRG1    F8Dh     LATE(4)   F6Dh RXB0D7    F56h PADCFG1(5)
FECh    PREINC0(1)  FCCh       TMR1H    FACh     RCREG1    F8Ch     LATD(4)   F6Ch RXB0D6
FEBh    PLUSW0(1)   FCBh       TMR1L     FABh    TXREG1    F8Bh      LATC     F6Bh RXB0D5    F55h CTMUCONH(5)
FEAh       FSR0H    FCAh       T1CON     FAAh    TXSTA1    F8Ah      LATB     F6Ah RXB0D4
FE9h       FSR0L    FC9h        TMR2     FA9h    RCSTA1    F89h      LATA     F69h RXB0D3    F54h CTMUCONL(5)
FE8h       WREG     FC8h                 FA8h    T1GCON    F88h     T4CON     F68h RXB0D2
FE7h      INDF1(1)  FC8h         PR2     FA7h       PR4    F87h      TMR4     F67h RXB0D1    F53h CTMUICONH(5)
FE6h   POSTINC1(1)  FC7h       T2CON     FA6h   HLVDCON    F86h   PORTG(3)    F66h RXB0D0
FE5h   POSTDEC1(1)  FC6h      SSPBUF     FA5h  BAUDCON1    F85h   PORTF(3)    F65h RXB0DLC   F52h CCPR2H(5)
FE4h    PREINC1(1)  FC5h      SSPADD     FA4h    RCSTA2    F84h     PORTE     F64h RXB0EIDL
FE3h    PLUSW1(1)   FC4h      SSPMSK     FA3h       IPR3   F83h   PORTD(4)    F63h RXB0EIDH  F51h CCPR2L(5)
FE2h       FSR1H    FC3h     SSPSTAT     FA2h       PIR3   F82h    PORTC      F62h RXB0SIDL
FE1h       FSR1L    FC2h     SSPCON1     FA1h       PIE3   F81h     PORTB     F61h RXB0SIDH  F50h CCP2CON(4,5)
FE0h         BSR    FC1h     SSPCON2     FA0h       IPR2   F80h     PORTA     F60h RXB0CON
                    FC0h      ADRESH                PIR2                                     F4Fh CCPR3H(4,5)
                              ADRESL                PIE2
                              ADCON0                                                         F4Eh CCPR3L(4,5)
                              ADCON1
                              ADCON2                                                         F4Dh CCP3CON(5)

                                                                                             F4Ch CCPR4H(5)

                                                                                             F4Bh CCPR4L(5)

                                                                                             F4Ah CCP4CON(5)

                                                                                             F49h CCPR5H(5)

                                                                                             F48h CCPR5L(5)

                                                                                             F47h CCP5CON(5)

                                                                                             F46h PSPCON(4,5)

                                                                                             F45h MDCON(3,5)

                                                                                             F44h MDSRC(3,5)

                                                                                             F43h MDCARH(3,5)

                                                                                             F42h MDCARL(3,5)

                                                                                             F41h  --(2)

                                                                                             F40h  --(2)

Note 1:       This is not a physical register.
          2:  Unimplemented registers are read as `0'.
          3:  This register is only available on devices with 64 pins.
          4:
          5:  This register is not available on devices with 28 pins.

              Addresses, E41h through F5Fh, are also used by the SFRs, but are not part of the Access RAM. To access these registers, users must
              always load the proper BSR value.

2010-2012 Microchip Technology Inc.                                                         DS39977F-page 111
PIC18F66K80 FAMILY

TABLE 6-1: SPECIAL FUNCTION REGISTER MAP FOR PIC18F66K80 FAMILY (CONTINUED)

Addr.         Name  Addr.  Name     Addr.  Name              Addr.  Name          Addr. Name Addr. Name

F3Fh CANCON_RO0(5) F0Fh CANCON_RO3(5) EDFh CANCON_RO4(5)     EAFh CANCON_RO7(5)   E7Fh TXBIE(5)      E4Fh RXF7EIDL(5)
                                                                                  E7Eh BIE0(5)       E4Eh RXF7EIDH(5)
F3Eh CANSTAT_RO0(5) F0Eh CANSTAT_RO3(5) EDEh CANSTAT_RO4(5)  EAEh CANSTAT_RO7(5)  E7Dh BSEL0(5)      E4Dh RXF7SIDL(5)
                                                                                  E7Ch MSEL3(5)      E4Ch RXF7SIDH(5)
F3Dh RXB1D7(5)      F0Dh TXB2D7(5) EDDh    B5D7(5)           EADh   B2D7(5)       E7Bh MSEL2(5)      E4Bh RXF6EIDL(5)
                                                                                  E7Ah MSEL1(5)      E4Ah RXF6EIDH(5)
F3Ch RXB1D6(5)      F0Ch TXB2D6(5) EDCh    B5D6(5)           EACh   B2D6(5)       E79h MSEL0(5)      E49h RXF6SIDL(5)
                                                                                  E78h RXFBCON7(5)   E48h RXF6SIDH(5)
F3Bh RXB1D5(5)      F0Bh TXB2D5(5) EDBh    B5D5(5)           EABh   B2D5(5)       E77h RXFBCON6(5)   E47h RXFCON1(5)
                                                                                  E76h RXFBCON5(5)   E46h RXFCON0(5)
F3Ah RXB1D4(5)      F0Ah TXB2D4(5) EDAh    B5D4(5)           EAAh   B2D4(5)       E75h RXFBCON4(5)   E45h BRGCON3(5)
                                                                                  E74h RXFBCON3(5)   E44h BRGCON2(5)
F39h RXB1D3(5)      F09h TXB2D3(5)  ED9h   B5D3(5)           EA9h   B2D3(5)       E73h RXFBCON2(5)   E43h BRGCON1(5)
                                                                                  E72h RXFBCON1(5)   E42h TXERRCNT(5)
F38h RXB1D2(5)      F08h TXB2D2(5)  ED8h   B5D2(5)           EA8h   B2D2(5)       E71h RXFBCON0(5)   E41h RXERRCNT(5)
                                                                                  E70h SDFLC(5)
F37h RXB1D1(5)      F07h TXB2D1(5)  ED7h   B5D1(5)           EA7h   B2D1(5)       E6Fh RXF15EIDL(5)
                                                                                  E6Eh RXF15EIDH(5)
F36h RXB1D0(5)      F06h TXB2D0(5)  ED6h   B5D0(5)           EA6h   B2D0(5)       E6Dh RXF15SIDL(5)
                                                                                  E6Ch RXF15SIDH(5)
F35h RXB1DLC(5)     F05h TXB2DLC(5) ED5h   B5DLC(5)          EA5h B2DLC(5)        E6Bh RXF14EIDL(5)
                                                                                  E6Ah RXF14EIDH(5)
F34h RXB1EIDL(5) F04h TXB2EIDL(5) ED4h B5EIDL(5)             EA4h B2EIDL(5)       E69h RXF14SIDL(5)
                                                                                  E68h RXF14SIDH(5)
F33h RXB1EIDH(5) F03h TXB2EIDH(5) ED3h B5EIDH(5)             EA3h B2EIDH(5)       E67h RXF13EIDL(5)
                                                                                  E66h RXF13EIDH(5)
F32h RXB1SIDL(5) F02h TXB2SIDL(5) ED2h B5SIDL(5)             EA2h B2SIDL(5)       E65h RXF13SIDL(5)
                                                                                  E64h RXF13SIDH(5)
F31h RXB1SIDH(5) F01h TXB2SIDH(5) ED1h B5SIDH(5)             EA1h B2SIDH(5)       E63h RXF12EIDL(5)
                                                                                  E62h RXF12EIDH(5)
F30h RXB1CON(5) F00h TXB2CON(5) ED0h B5CON(5)                EA0h B2CON(5)        E61h RXF12SIDL(5)
                                                                                  E60h RXF12SIDH(5)
F30h RXB1CON(5) EFFh RXM1EIDL(5) ECFh CANCON_RO5(5)          E9Fh CANCON_RO8(5)   E5Fh RXF11EIDL(5)
                                                                                  E5Eh RXF11EIDH(5)
F2Fh CANCON_RO1(5) EFEh RXM1EIDH(5) ECEh CANSTAT_RO5(5)      E9Eh CANSTAT_RO8(5)  E5Dh RXF11SIDL(5)
                                                                                  E5Ch RXF11SIDH(5)
F2Eh CANSTAT_RO1(5) EFDh RXM1SIDL(5) ECDh  B4D7(5)           E9Dh   B1D7(5)       E5Bh RXF10EIDL(5)
                                                                                  E5Ah RXF10EIDH(5)
F2Dh TXB0D7(5)      EFCh RXM1SIDH(5) ECCh  B4D6(5)           E9Ch   B1D6(5)       E59h RXF10SIDL(5)
                                                                                  E58h RXF10SIDH(5)
F2Ch TXB0D6(5)      EFBh RXM0EIDL(5) ECBh  B4D5(5)           E9Bh   B1D5(5)       E57h RXF9EIDL(5)
                                                                                  E56h RXF9EIDH(5)
F2Bh TXB0D5(5)      EFAh RXM0EIDH(5) ECAh  B4D4(5)           E9Ah   B1D4(5)       E55h RXF9SIDL(5)
                                                                                  E54h RXF9SIDH(5)
F2Ah TXB0D4(5)      EF9h RXM0SIDL(5) EC9h  B4D3(5)           E99h   B1D3(5)       E53h RXF8EIDL(5)
                                                                                  E52h RXF8EIDH(5)
F29h TXB0D3(5)      EF8h RXM0SIDH(5) EC8h  B4D2(5)           E98h   B1D2(5)       E51h RXF8SIDL(5)
                                                                                  E50h RXF8SIDH(5)
F28h TXB0D2(5)      EF7h RXF5EIDL(5) EC7h  B4D1(5)           E97h   B1D1(5)

F27h TXB0D1(5)      EF6h RXF5EIDH(5) EC6h  B4D0(5)           E96h   B1D0(5)

F26h TXB0D0(5)      EF5h RXF5SIDL(5) EC5h  B4DLC(5)          E95h B1DLC(5)

F25h TXB0DLC(5) EF4h RXF5SIDH(5) EC4h B4EIDL(5)              E94h B1EIDL(5)

F24h TXB0EIDL(5) EF3h RXF4EIDL(5) EC3h B4EIDH(5)             E93h B1EIDH(5)

F23h TXB0EIDH(5) EF2h RXF4EIDH(5) EC2h B4SIDL(5)             E92h B1SIDL(5)

F22h TXB0SIDL(5) EF1h RXF4SIDL(5) EC1h B4SIDH(5)             E91h B1SIDH(5)

F21h TXB0SIDH(5) EF0h RXF4SIDH(5) EC0h B4CON(5)              E90h B1CON(5)

F20h TXB0CON(5) EEFh RXF3EIDL(5) EBFh CANCON_RO6(5)          E90h B1CON(5)

F1Fh CANCON_RO2(5) EEEh RXF3EIDH(5) EBEh CANSTAT_RO6(5)      E8Fh CANCON_RO9(5)

F1Eh CANSTAT_RO2(5) EEDh RXF3SIDL(5) EBDh  B3D7(5)           E8Eh CANSTAT_RO9(5)

F1Dh TXB1D7(5)      EECh RXF3SIDH(5) EBCh  B3D6(5)           E8Dh   B0D7(5)

F1Ch TXB1D6(5)      EEBh RXF2EIDL(5) EBBh  B3D5(5)           E8Ch   B0D6(5)

F1Bh TXB1D5(5)      EEAh RXF2EIDH(5) EBAh  B3D4(5)           E8Bh   B0D5(5)

F1Ah TXB1D4(5)      EE9h RXF2SIDL(5) EB9h  B3D3(5)           E8Ah   B0D4(5)

F19h TXB1D3(5)      EE8h RXF2SIDH(5) EB8h  B3D2(5)           E89h   B0D3(5)

F18h TXB1D2(5)      EE7h RXF1EIDL(5) EB7h  B3D1(5)           E88h   B0D2(5)

F17h TXB1D1(5)      EE6h RXF1EIDH(5) EB6h  B3D0(5)           E87h   B0D1(5)

F16h TXB1D0(5)      EE5h RXF1SIDL(5) EB5h  B3DLC(5)          E86h   B0D0(5)

F15h TXB1DLC(5) EE4h RXF1SIDH(5) EB4h B3EIDL(5)              E85h B0DLC(5)

F14h TXB1EIDL(5) EE3h RXF0EIDL(5) EB3h B3EIDH(5)             E84h B0EIDL(5)

F13h TXB1EIDH(5) EE2h RXF0EIDH(5) EB2h B3SIDL(5)             E83h B0EIDH(5)

F12h TXB1SIDL(5) EE1h RXF0SIDL(5) EB1h B3SIDH(5)             E82h B0SIDL(5)

F11h TXB1SIDH(5) EE0h RXF0SIDH(5) EB0h B3CON(5)              E81h B0SIDH(5)

F10h TXB1CON(5)                                              E80h B0CON(5)

Note 1:       This is not a physical register.
          2:  Unimplemented registers are read as `0'.
          3:  This register is only available on devices with 64 pins.
          4:
          5:  This register is not available on devices with 28 pins.

              Addresses, E41h through F5Fh, are also used by the SFRs, but are not part of the Access RAM. To access these registers, users must
              always load the proper BSR value.

DS39977F-page 112                                                             2010-2012 Microchip Technology Inc.
                                                                     PIC18F66K80 FAMILY

TABLE 6-2: PIC18F66K80 FAMILY REGISTER FILE SUMMARY

Addr. File Name     Bit 7   Bit 6                  Bit 5   Bit 4           Bit 3  Bit 2          Bit 1                  Bit 0   Value on
                                                                                                                               POR, BOR
FFFh TOSU           --                --           --      Top-of-Stack Upper Byte (TOS<20:16>)
                                                                                                                                on page
FFEh TOSH           Top-of-Stack High Byte (TOS<15:8>)
                                                                                                                                    88
FFDh TOSL           Top-of-Stack Low Byte (TOS<7:0>)                                                                                88
                                                                                                                                    88
FFCh STKPTR         STKFUL STKUNF                  --      SP4             SP3            SP2    SP1                    SP0         88
                                                                                                                                    88
FFBh PCLATU         --                --           Bit 21 Holding Register for PC<20:16>                                            88
                                                                                                                                    88
FFAh PCLATH         Holding Register for PC<15:8>                                                                                   88
                                                                                                                                    88
FF9h PCL            PC Low Byte (PC<7:0>)                                                                                           88
                                                                                                                                    88
FF8h TBLPTRU        --                --           Bit 21 Program Memory Table Pointer Upper Byte (TBLPTR<20:16>)                   88
                                                                                                                                    88
FF7h TBLPTRH        Program Memory Table Pointer High Byte (TBLPTR<15:8>)                                                           88
                                                                                                                                    88
FF6h TBLPTRL        Program Memory Table Pointer Low Byte (TBLPTR<7:0>)                                                             88
                                                                                                                                    88
FF5h TABLAT         Program Memory Table Latch                                                                                      88
                                                                                                                                    88
FF4h PRODH          Product Register High Byte                                                                                      88
                                                                                                                                    88
FF3h PRODL          Product Register Low Byte
                                                                                                                                    88
FF2h INTCON         GIE/GIEH PEIE/GIEL TMR0IE              INT0IE          RBIE   TMR0IF         INT0IF                 RBIF        88
                                                                                                                                    88
FF1h INTCON2        RBPU    INTEDG0 INTEDG1 INTEDG2 INTEDG3 TMR0IP                               INT3IP  RBIP                       88
                                                                                                                                    88
FF0h INTCON3        INT2IP  INT1IP                 INT3IE  INT2IE        INT1IE   INT3IF         INT2IF  INT1IF                     88
                                                                                                                                    88
FEFh INDF0          Uses contents of FSR0 to address data memory value of FSR0 not changed (not a physical register)              88

FEEh POSTINC0       Uses contents of FSR0 to address data memory value of FSR0 post-incremented (not a physical register)         88
FEDh POSTDEC0       Uses contents of FSR0 to address data memory value of FSR0 post-decremented (not a physical register)         88
                                                                                                                                    88
FECh PREINC0        Uses contents of FSR0 to address data memory value of FSR0 pre-incremented (not a physical register)          88
                                                                                                                                    89
FEBh PLUSW0         Uses contents of FSR0 to address data memory value of FSR0 pre-incremented (not a physical register)         89
                    value of FSR0 offset by W                                                                                       89
                                                                                                                                    89
FEAh FSR0H          --                --           --      --        Indirect Data Memory Address Pointer 0 High Byte
                                                                                                                                    89
FE9h FSR0L          Indirect Data Memory Address Pointer 0 Low Byte                                                                 89
                                                                                                                                    89
FE8h WREG           Working Register                                                                                                89
FE7h INDF1          Uses contents of FSR1 to address data memory value of FSR1 not changed (not a physical register)              89
                                                                                                                                    89
FE6h POSTINC1       Uses contents of FSR1 to address data memory value of FSR1 post-incremented (not a physical register)         --
                                                                                                                                    89
FE5h POSTDEC1       Uses contents of FSR1 to address data memory value of FSR1 post-decremented (not a physical register)         89
                                                                                                                                    89
FE4h PREINC1        Uses contents of FSR1 to address data memory value of FSR1 pre-incremented (not a physical register)          89

FE3h PLUSW1         Uses contents of FSR1 to address data memory value of FSR1 pre-incremented (not a physical register)
                    value of FSR1 offset by W

FE2h FSR1H          --                --           --      --        Indirect Data Memory Address Pointer 1 High Byte

FE1h FSR1L          Indirect Data Memory Address Pointer 1 Low Byte

FE0h BSR            --                --           --      --        Bank Select Register

FDFh INDF2          Uses contents of FSR2 to address data memory value of FSR2 not changed (not a physical register)

FDEh POSTINC2       Uses contents of FSR2 to address data memory value of FSR2 post-incremented (not a physical register)

FDDh POSTDEC2       Uses contents of FSR2 to address data memory value of FSR2 post-decremented (not a physical register)

FDCh PREINC2        Uses contents of FSR2 to address data memory value of FSR2 pre-incremented (not a physical register)

FDBh PLUSW2         Uses contents of FSR2 to address data memory value of FSR2 pre-incremented (not a physical register)
                    value of FSR2 offset by W

FDAh FSR2H          --                --           --      --        Indirect Data Memory Address Pointer 2 High Byte

FD9h FSR2L          Indirect Data Memory Address Pointer 2 Low Byte

FD8h STATUS         --                --           --      N               OV             Z      DC                     C

FD7h TMR0H          Timer0 Register High Byte

FD6h TMR0L          Timer0 Register Low Byte

FD5h T0CON          TMR0ON T08BIT                  T0CS    T0SE            PSA    T0PS2          T0PS1   T0PS0

FD4h Unimplemented

FD3h OSCCON         IDLEN      IRCF2               IRCF1   IRCF0           OSTS   HFIOFS          SCS1     SCS0
FD2h OSCCON2          --    SOSCRUN                  --                               --         MFIOFS  MFIOSEL
                                                           SOSCDRV SOSCGO

FD1h WDTCON         REGSLP            --        ULPLVL     SRETEN          --     ULPEN ULPSINK SWDTEN

FD0h RCON           IPEN    SBOREN                 CM      RI              TO             PD     POR                    BOR

2010-2012 Microchip Technology Inc.                                                                     DS39977F-page 113
PIC18F66K80 FAMILY

TABLE 6-2: PIC18F66K80 FAMILY REGISTER FILE SUMMARY (CONTINUED)

Addr. File Name    Bit 7            Bit 6         Bit 5      Bit 4  Bit 3   Bit 2   Bit 1                      Bit 0    Value on
                                                                                                                       POR, BOR

                                                                                                                        on page

FCFh TMR1H         Timer1 Register High Byte                                                                           89

FCEh TMR1L         Timer1 Register Low Bytes                                                                           89

FCDh T1CON         TMR1CS1 TMR1CS0 T1CKPS1 T1CKPS0 SOSCEN T1SYNC                    RD16                       TMR1ON  89

FCCh TMR2          Timer2 Register                                                                                     89

FCBh PR2           Timer2 Period Register                                                                              89

FCAh T2CON         --      T2OUTPS3 T2OUTPS2 T2OUTPS1 T2OUTPS0 TMR2ON T2CKPS1 T2CKPS0                                  89

FC9h SSPBUF        MSSP Receive Buffer/Transmit Register                                                               89

FC8h SSPADD        MSSP Address Register (I2CTM Slave Mode), MSSP Baud Rate Reload Register (I2C Master Mode)          89

FC8h SSPMSK        MSK7             MSK6          MSK5       MSK4   MSK3    MSK2    MSK1                       MSK0    89

FC7h SSPSTAT       SMP              CKE           D/A        P      S       R/W     UA                         BF      89

FC6h SSPCON1       WCOL             SSPOV         SSPEN      CKP    SSPM3   SSPM2   SSPM1                      SSPM0   89

FC5h SSPCON2       GCEN    ACKSTAT                ACKDT     ACKEN   RCEN    PEN     RSEN                       SEN     89

FC4h ADRESH        A/D Result Register High Byte                                                                       89

FC3h ADRESL        A/D Result Register Low Byte                                                                        89

FC2h ADCON0        --               CHS4          CHS3       CHS2   CHS1    CHS0    GO/DONE                    ADON    89

FC1h ADCON1        TRIGSEL1 TRIGSEL0 VCFG1                  VCFG0   VNCFG   CHSN2   CHSN1                      CHSN0   89

FC0h ADCON2        ADFM             --            ACQT2     ACQT1   ACQT0   ADCS2   ADCS1                      ADCS0   89

FBFh ECCP1AS       ECCP1ASE ECCP1AS2 ECCP1AS1 ECCP1AS0 PSS1AC1 PSS1AC0 PSS1BD1 PSS1BD0                                 89

FBEh ECCP1DEL      P1RSEN           P1DC6         P1DC5     P1DC4   P1DC3   P1DC2   P1DC1                      P1DC0   89

FBDh CCPR1H        Capture/Compare/PWM Register 1 High Byte                                                            89

FBCh CCPR1L        Capture/Compare/PWM Register 1 Low Byte                                                             89

FBBh CCP1CON       P1M1             P1M0          DC1B1     DC1B0   CCP1M3 CCP1M2 CCP1M1 CCP1M0                        89

FBAh TXSTA2        CSRC             TX9           TXEN       SYNC   SENDB   BRGH    TRMT                       TX9D    89

FB9h BAUDCON2      ABDOVF           RCIDL         RXDTP     TXCKP   BRG16   --      WUE                        ABDEN   89

FB8h IPR4          TMR4IP           EEIP          CMP2IP  CMP1IP    --      CCP5IP  CCP4IP                     CCP3IP  89

FB7h PIR4          TMR4IF           EEIF          CMP2IF  CMP1IF    --      CCP5IF  CCP4IF                     CCP3IF  89

FB6h PIE4          TMR4IE           EEIE          CMP2IE  CMP1IE    --      CCP5IE  CCP4IE                     CCP3IE  89

FB5h CVRCON        CVREN            CVROE         CVRSS      CVR4   CVR3    CVR2    CVR1                       CVR0    89

FB4h CMSTAT        CMP2OUT CMP1OUT                --         --     --      --      --                         --      89

FB3h TMR3H         Timer3 Register High Byte                                                                           89

FB2h TMR3L         Timer3 Register Low Bytes                                                                           89

FB1h T3CON         TMR3CS1 TMR3CS0 T3CKPS1 T3CKPS0 SOSCEN T3SYNC                    RD16                       TMR3ON  89

FB0h T3GCON        TMR3GE T3GPOL                  T3GTM   T3GSPM T3GGO/ T3GVAL T3GSS1 T3GSS0                           89

                                                                    T3DONE

FAFh SPBRG1        EUSART1 Baud Rate Generator Register Low Byte                                                       89

FAEh RCREG1        EUSART1 Receive Register                                                                            89

FADh TXREG1        EUSART1 Transmit Register                                                                           89

FACh TXSTA1        CSRC             TX9           TXEN       SYNC   SENDB   BRGH    TRMT                       TX9D    89

FABh RCSTA1        SPEN             RX9           SREN       CREN   ADDEN   FERR    OERR                       RX9D    89

FAAh T1GCON        TMR1GE T1GPOL                  T1GTM   T1GSPM T1GGO/ T1GVAL T1GSS1 T1GSS0                           89

                                                                    T1DONE

FA9h PR4           Timer4 Period Register                                                                              89

FA8h HLVDCON       VDIRMAG BGVST                  IRVST   HLVDEN HLVDL3     HLVDL2  HLVDL1                     HLVDL0  89

FA7h BAUDCON1      ABDOVF           RCIDL         RXDTP     TXCKP   BRG16   --      WUE                        ABDEN   89

FA6h RCSTA2        SPEN             RX9           SREN       CREN   ADDEN   FERR    OERR                       RX9D    89

FA5h IPR3          --               --            RC2IP      TX2IP  CTMUIP  CCP2IP  CCP1IP                     --      89

FA4h PIR3          --               --            RC2IF      TX2IF  CTMUIF  CCP2IF  CCP1IF                     --      89

FA3h PIE3          --               --            RC2IE      TX2IE  CTMUIE  CCP2IE  CCP1IE                     --      89

FA2h IPR2          OSCFIP           --            --         --     BCLIP   HLVDIP  TMR3IP TMR3GIP                     89

FA1h PIR2          OSCFIF           --            --         --     BCLIF   HLVDIF  TMR3IF TMR3GIF                     89

FA0h PIE2          OSCFIE           --            --         --     BCLIE   HLVDIE  TMR3IE TMR3GIE                     89

DS39977F-page 114                                                                2010-2012 Microchip Technology Inc.
                                                         PIC18F66K80 FAMILY

TABLE 6-2: PIC18F66K80 FAMILY REGISTER FILE SUMMARY (CONTINUED)

Addr. File Name  Bit 7            Bit 6     Bit 5    Bit 4                      Bit 3  Bit 2     Bit 1        Bit 0   Value on
                                                                                                                     POR, BOR
F9Fh  IPR1       PSPIP            ADIP      RC1IP    TX1IP       SSPIP                 TMR1GIP    TMR2IP    TMR1IP
F9Eh  PIR1                                                                             TMR1GIF    TMR2IF    TMR1IF    on page
F9Dh  PIE1       PSPIF            ADIF      RC1IF    TX1IF       SSPIF                 TMR1GIE    TMR2IE    TMR1IE
F9Ch  PSTR1CON                                                                                     STRB      STRA         90
F9Bh  OSCTUNE    PSPIE            ADIE      RC1IE    TX1IE       SSPIE                   STRC       TUN1     TUN0         89
F9Ah  REFOCON                                                                             TUN2    RODIV1    RODIV0        89
F99h  CCPTMRS    CMPL1            CMPL0     --       STRSYNC STRD                       RODIV2    C2TSEL    C1TSEL        89
F98h  TRISG                                                                             C3TSEL    TRISG1    TRISG0        90
F97h  TRISF      INTSRC           PLLEN     TUN5     TUN4        TUN3                   TRISG2    TRISF1    TRISF0        90
F96h  TRISE                                                                             TRISF2    TRISE1    TRISE0        90
F95h  TRISD      ROON                 --    ROSSLP   ROSEL       RODIV3                 TRISE2    TRISD1    TRISD0        90
F94h  TRISC                                                                             TRISD2    TRISC1    TRISC0        90
F93h  TRISB      --                   --    --       C5TSEL C4TSEL                      TRISC2    TRISB1    TRISB0        90
F92h  TRISA                                                                             TRISB2    TRISA1    TRISA0        90
F91h  ODCON      --                   --    --       TRISG4      TRISG3                 TRISA2     U2OD      U1OD         90
F90h  SLRCON                                                                           CCP1OD       SLRB     SLRA         90
F8Fh  LATG       TRISF7           TRISF6    TRISF5   TRISF4      TRISF3                  SLRC      LATG1     LATG0        90
F8Eh  LATF                                                                               LATG2     LATF1     LATF0        90
F8Dh  LATE       TRISE7           TRISE6    TRISE5   TRISE4                     --       LATF2     LATE1     LATE0        90
F8Ch  LATD                                                                               LATE2     LATD1     LATD0        90
F8Bh  LATC       TRISD7           TRISD6    TRISD5   TRISD4      TRISD3                  LATD2     LATC1     LATC0        90
F8Ah  LATB                                                                               LATC2     LATB1     LATB0        90
F89h  LATA       TRISC7           TRISC6    TRISC5   TRISC4      TRISC3                  LATB2     LATA1     LATA0        90
F88h  T4CON                                                                              LATA2   T4CKPS1   T4CKPS0        90
F87h  TMR4       TRISB7           TRISB6    TRISB5   TRISB4      TRISB3                TMR4ON                             90
F86h  PORTG                                                                                         RG1       RG0         90
F85h  PORTF      TRISA7           TRISA6    TRISA5   --          TRISA3                   RG2        RF1      RF0         90
F84h  PORTE                                                                                RF2       RE1      RE0         90
F83h  PORTD      SSPOD CCP5OD CCP4OD CCP3OD CCP2OD                                         RE2      RD1       RD0         90
F82h  PORTC                                                                               RD2       RC1       RC0         90
F81h  PORTB      --               SLRG      SLRF     SLRE        SLRD                     RC2        RB1      RB0         90
F80h  PORTA                                                                                RB2       RA1      RA0         90
F7Fh  EECON1     --                   --    --       LATG4       LATG3                     RA2       WR        RD         90
F7Eh  EECON2                                                                             WREN                             90
F7Dh  SPBRGH1    LATF7            LATF6     LATF5    LATF4                      --                RXB1IP    RXB0IP        90
F7Ch  SPBRGH2                                                                           TXB0IP    RXB1IF    RXB0IF        90
F7Bh  SPBRG2     LATE7            LATE6     LATE5    LATE4                      --      TXB0IF    RXB1IE    RXB0IE        90
F7Ah  RCREG2                                                                            TXB0IE                            90
F79h  TXREG2     LATD7            LATD6     LATD5    LATD4       LATD3                             EWIN1    EWIN0         90
F78h  IPR5                                                                               EWIN2   RXWARN     EWARN         90
F77h  PIR5       LATC7            LATC6     LATC5    LATC4       LATC3                 TXWARN              CLKSEL         90
F76H  PIE5                                                                                            --                  91
F75h  EEADRH     LATB7            LATB6     LATB5    LATB4       LATB3                      --   WIN0/FP1     FP0         91
F74h  EEADR                                                                            WIN1/FP2  ICODE0/       --/        91
F73h  EEDATA     LATA7            LATA6     LATA5    --          LATA3                 ICODE1/   EICODE1   EICODE0        91
F72h  ECANCON                                                                          EICODE2                            91
F71h  COMSTAT    --      T4OUTPS3 T4OUTPS2 T4OUTPS1 T4OUTPS0                                                              91
F70h  CIOCON                                                                                                              91
F6Fh  CANCON     Timer4 Register                                                                                          91
F6Eh  CANSTAT                                                                                                             91
                 --                   --    --       RG4                        RG3                                       91
                                                                                                                          91
                 RF7              RF6       RF5      RF4                        RF3                                       91

                 RE7              RE6       RE5      RE4                        RE3

                 RD7              RD6       RD5      RD4                        RD3

                 RC7              RC6       RC5      RC4                        RC3

                 RB7              RB6       RB5      RB4                        RB3

                 RA7              RA6       RA5      --                         RA3

                 EEPGD            CFGS      --       FREE        WRERR

                 Flash Self-Program Control Register (not a physical register)

                 EUSART1 Baud Rate Generator Register High Byte

                 EUSART2 Baud Rate Generator Register High Byte

                 EUSART2 Baud Rate Generator Register Low Byte

                 EUSART2 Receive Register

                 EUSART2 Transmit Register

                 IRXIP            WAKIP     ERRIP    TX2BIP      TXB1IP

                 IRXIF            WAKIF     ERRIF    TXB2IF      TXB1IF

                 IRXIE            WAKIE     ERRIE    TX2BIE      TXB1IE

                 Data EE Address Register High Byte

                 Data EE Address Register Low Byte

                 Data EE Data Register

                 MDSEL1 MDSEL0 FIFOWM                EWIN4       EWIN3

                 RXB0OVFL RXB1OVFL TXBO              TXBP        RXBP

                 TX2SRC           TX2EN     ENDRHI CANCAP                       --

                 REQOP2 REQOP1 REQOP0                ABAT        WIN2/FP3

                 OPMODE2 OPMODE1 OPMODE0                --/      ICODE2/
                                                     EICOD4      EICODE3

2010-2012 Microchip Technology Inc.                                                                       DS39977F-page 115
PIC18F66K80 FAMILY

TABLE 6-2: PIC18F66K80 FAMILY REGISTER FILE SUMMARY (CONTINUED)

Addr. File Name     Bit 7     Bit 6   Bit 5                   Bit 4  Bit 3    Bit 2    Bit 1    Bit 0     Value on
                                                                                                         POR, BOR

                                                                                                          on page

F6Dh RXB0D7         RXB0D77 RXB0D76 RXB0D75 RXB0D74 RXB0D73 RXB0D72 RXB0D71 RXB0D70                      91

F6Ch RXB0D6         RXB0D67 RXB0D66 RXB0D65 RXB0D64 RXB0D63 RXB0D62 RXB0D61 RXB0D60                      91

F6Bh RXB0D5         RXB0D57 RXB0D56 RXB0D55 RXB0D54 RXB0D53 RXB0D52 RXB0D51 RXB0D50                      91

F6Ah RXB0D4         RXB0D47 RXB0D46 RXB0D45 RXB0D44 RXB0D43 RXB0D42 RXB0D41 RXB0D40                      91

F69h RXB0D3         RXB0D37 RXB0D36 RXB0D35 RXB0D34 RXB0D33 RXB0D32 RXB0D31 RXB0D30                      91

F68h RXB0D2         RXB0D27 RXB0D26 RXB0D25 RXB0D24 RXB0D23 RXB0D22 RXB0D21 RXB0D20                      91

F67h RXB0D1         RXB0D17 RXB0D16 RXB0D15 RXB0D14 RXB0D13 RXB0D12 RXB0D11 RXB0D10                      91

F66h RXB0D0         RXB0D07 RXB0D06 RXB0D05 RXB0D04 RXB0D03 RXB0D02 RXB0D01 RXB0D00                      91

F65h RXB0DLC        --        RXRTR   RB1                     RB0    DLC3     DLC2     DLC1     DLC0     91

F64h RXB0EIDL       EID7      EID6    EID5                    EID4   EID3     EID2     EID1     EID0     91

F63h RXB0EIDH       EID15     EID14   EID13                   EID12  EID11    EID10    EID9     EID8     91

F62h RXB0SIDL       SID2      SID1    SID0                    SRR    EXID     --       EID17    EID16    91

F61h RXB0SIDH       SID10     SID9    SID8                    SID7   SID6     SID5     SID4     SID3     91

F60h RXB0CON        RXFUL     RXM1    RXM0                    --     RXRTRRO RXB0DBEN JTOFF     FILHIT0  91

F60h RXB0CON        RXFUL     RXM1    RTRRO    FILHIT4               FILHIT3  FILHIT2  FILHIT1  FILHIT0  91

F5Fh CM1CON         CON       COE     CPOL     EVPOL1 EVPOL0                  CREF     CCH1     CCH0     91

F5Eh CM2CON         CON       COE     CPOL     EVPOL1 EVPOL0                  CREF     CCH1     CCH0     91

F5Dh ANCON0         ANSEL7   ANSEL6   ANSEL5   ANSEL4                ANSEL3   ANSEL2   ANSEL1   ANSEL0   91

F5Ch ANCON1         --       ANSEL14 ANSEL13 ANSEL12 ANSEL11 ANSEL10 ANSEL9 ANSEL8                       91

F5Bh WPUB           WPUB7     WPUB6   WPUB5                  WPUB4   WPUB3    WPUB2    WPUB1    WPUB0    91

F5Ah IOCB           IOCB7     IOCB6   IOCB5                   IOCB4  --       --       --       --       91

F59h PMD0           CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD UART2MD UART1MD SSPMD                             91

F58h PMD1           PSPMD CTMUMD ADCMD TMR4MD TMR3MD TMR2MD TMR1MD TMR0MD                                93

F57h PMD2           --        --      --                      --     MODMD ECANMD CMP2MD CMP1MD          93

F56h PADCFG1        RDPU      REPU    RFPU                    RGPU   --       --       --       CTMUDS   93

F55h CTMUCONH       CTMUEN    --      CTMUSIDL TGEN                  EDGEN EDGSEQEN IDISSEN CTTRIG       93

F54h CTMUCONL       EDG2POL EDG2SEL1 EDG2SEL0 EDG1POL EDG1SEL1 EDG1SEL0 EDG2STAT EDG1STAT                93

F53h CTMUICON       ITRIM5    ITRIM4  ITRIM3                 ITRIM2  ITRIM1   ITRIM0   IRNG1    IRNG0    93

F52h CCPR2H         Capture/Compare/PWM Register 2 High Byte                                             93

F51h CCPR2L         Capture/Compare/PWM Register 2 Low Byte                                              93

F50h CCP2CON        --        --      DC2B1                  DC2B0   CCP2M3 CCP2M2 CCP2M1 CCP2M0         93

F4Fh CCPR3H         Capture/Compare/PWM Register 3 High Byte                                             93

F4Eh CCPR3L         Capture/Compare/PWM Register 3 Low Byte                                              93

F4Dh CCP3CON        --        --      DC3B1                   D32B0  CCP3M3 CCP3M2 CCP3M1 CCP3M0         93

F4Ch CCPR4H         Capture/Compare/PWM Register 4 High Byte                                             93

F4Bh CCPR4L         Capture/Compare/PWM Register 4 Low Byte                                              93

F4Ah CCP4CON        --        --      DC4B1                  DC4B0   CCP4M3 CCP4M2 CCP4M1 CCP4M0         93

F49H CCPR5H         Capture/Compare/PWM Register 5 High Byte                                             93

F48h CCPR5L         Capture/Compare/PWM Register 5 Low Byte                                              93

F47h CCP5CON        --        --      DC5B1                  DC5B0   CCP5M3 CCP5M2 CCP5M1 CCP5M0         93

F46h PSPCON         IBF       OBF     IBOV     PSPMODE               --       --       --       --       93

F45h MDCON          MDEN      MDOE    MDSLR MDOPOL                   MDO      --       --       MDBIT    93

F44h MDSRC          MDSODIS   --      --                      --     MDSRC3 MDSRC2 MDSRC1 MDSRC0         93

F43h MDCARH         MDCHODIS MDCHPOL MDCHSYNC                 --     MDCH3    MDCH2    MDCH1    MDCH0    93

F42h MDCARL         MDCLODIS MDCLPOL MDCLSYNC                 --     MDCL3    MDCL2    MDCL1    MDCL0    93

F41h Unimplemented                                                                                       --

F40h Unimplemented                                                                                       --

F3Fh CANCON_RO0 CANCON_RO0                                                                               93

F3Eh CANSTAT_RO0 CANSTAT_RO0                                                                             93

F3Dh RXB1D7         RXB1D77 RXB1D76 RXB1D75 RXB1D74 RXB1D73 RXB1D72 RXB1D71 RXB1D70                      93

F3Ch RXB1D6         RXB1D67 RXB1D66 RXB1D65 RXB1D64 RXB1D63 RXB1D62 RXB1D61 RXB1D60                      93

DS39977F-page 116                                                                  2010-2012 Microchip Technology Inc.
                                                PIC18F66K80 FAMILY

TABLE 6-2: PIC18F66K80 FAMILY REGISTER FILE SUMMARY (CONTINUED)

Addr. File Name    Bit 7        Bit 6  Bit 5    Bit 4     Bit 3    Bit 2    Bit 1        Bit 0   Value on
                                                                                                POR, BOR
F3Bh  RXB1D5       RXB1D57 RXB1D56     RXB1D55  RXB1D54   RXB1D53 RXB1D52   RXB1D51   RXB1D50
F3Ah  RXB1D4                           RXB1D45  RXB1D44                     RXB1D41   RXB1D40    on page
F39h  RXB1D3       RXB1D47 RXB1D46     RXB1D35  RXB1D34   RXB1D43 RXB1D42   RXB1D31   RXB1D30
F38h  RXB1D2                           RXB1D25  RXB1D24                     RXB1D21   RXB1D20        93
F37h  RXB1D1       RXB1D37 RXB1D36     RXB1D15  RXB1D14   RXB1D33 RXB1D32   RXB1D11   RXB1D10        93
F36h  RXB1D0                           RXB1D05  RXB1D04                     RXB1D01   RXB1D00        93
F35h  RXB1DLC      RXB1D27 RXB1D26                        RXB1D23 RXB1D22                            93
F34h  RXB1EIDL                            RB1      RB0                        DLC1      DLC0         93
F33h  RXB1EIDH     RXB1D17 RXB1D16        EID5     EID4   RXB1D13 RXB1D12      EID1      EID0        93
F32h  RXB1SIDL                           EID13    EID12                        EID9      EID8        93
F31h  RXB1SIDH     RXB1D07 RXB1D06        SID0     SRR    RXB1D03 RXB1D02     EID17     EID16        94
F30h  RXB1CON                             SID8     SID7                        SID4      SID3        94
F30h  RXB1CON      --           RXRTR    RXM0             DLC3     DLC2       JTOFF    FILHIT0       94
F2Fh  CANCON_RO1                        RTRRO        --                      FILHIT1   FILHIT0       94
F2Eh  CANSTAT_RO1  EID7         EID6             FILHIT4  EID3     EID2                              94
F2Dh  TXB0D7                           TXB0D75                                        TXB0D70        94
F2Ch  TXB0D6       EID15        EID14  TXB0D65            EID11    EID10              TXB0D60        94
F2Bh  TXB0D5                           TXB0D55                                        TXB0D50        94
F2Ah  TXB0D4       SID2         SID1   TXB0D45            EXID     --                 TXB0D40        94
F29h  TXB0D3                           TXB0D35                                        TXB0D30        94
F28h  TXB0D2       SID10        SID9   TXB0D25            SID6     SID5               TXB0D20        94
F27h  TXB0D1                           TXB0D15                                        TXB0D10        94
F26h  TXB0D0       RXFUL        RXM1   TXB0D05            RXRTRRO RXBODBEN            TXB0D00        94
F25h  TXB0DLC                                                                                        94
F24h  TXB0EIDL     RXFUL        RXM1        --            FILHIT3  FILHIT2              DLC0         94
F23h  TXB0EIDH                            EID5                                           EID0        94
F22h  TXB0SIDL     CANCON_RO1            EID13                                           EID8        94
F21h  TXB0SIDH                            SID0                                          EID16        94
F20h  TXB0CON      CANSTAT_RO1            SID8                                           SID3        94
F1Fh  CANCON_RO2                       TXLARB                                          TXPRI0        94
F1Eh  CANSTAT_RO2  TXB0D77 TXB0D76              TXB0D74   TXB0D73  TXB0D72  TXB0D71                  94
F1Dh  TXB1D7                           TXB1D75  TXB0D64   TXB0D63  TXB0D62  TXB0D61   TXB1D70        94
F1Ch  TXB1D6       TXB0D67 TXB0D66     TXB1D65  TXB0D54   TXB0D53  TXB0D52  TXB0D51   TXB1D60        94
F1Bh  TXB1D5                           TXB1D55  TXB0D44   TXB0D43  TXB0D42  TXB0D41   TXB1D50        94
F1Ah  TXB1D4       TXB0D57 TXB0D56     TXB1D45  TXB0D34   TXB0D33  TXB0D32  TXB0D31   TXB1D40        94
F19h  TXB1D3                           TXB1D35  TXB0D24   TXB0D23  TXB0D22  TXB0D21   TXB1D30        94
F18h  TXB1D2       TXB0D47 TXB0D46     TXB1D25  TXB0D14   TXB0D13  TXB0D12  TXB0D11   TXB1D20        94
F17h  TXB1D1                           TXB1D15  TXB0D04   TXB0D03  TXB0D02  TXB0D01   TXB1D10        94
F16h  TXB1D0       TXB0D37 TXB0D36     TXB1D05                                        TXB1D00        94
F15h  TXB1DLC                                        --     DLC3     DLC2     DLC1                   94
F14h  TXB1EIDL     TXB0D27 TXB0D26          --     EID4      EID3     EID2     EID1     DLC0         94
F13h  TXB1EIDH                            EID5    EID12     EID11    EID10     EID9      EID0        94
F12h  TXB1SIDL     TXB0D17 TXB0D16       EID13     SRR       EXID             EID17      EID8        94
F11h  TXB1SIDH                            SID0     SID7      SID6       --     SID4     EID16        94
F10h  TXB1CON      TXB0D07 TXB0D06        SID8   TXERR     TXREQ      SID5   TXPRI1      SID3        94
F0Fh  CANCON_RO3                       TXLARB                                          TXPRI0        94
F0Eh  CANSTAT_RO3  --           TXRTR                                   --                           94
F0Dh  TXB2D7                           TXB2D75                                        TXB2D70        94
F0Ch  TXB2D6       EID7         EID6   TXB2D65                                        TXB2D60        94
F0Bh  TXB2D5                           TXB2D55                                        TXB2D50        94
F0Ah  TXB2D4       EID15        EID14  TXB2D45                                        TXB2D40        94
                                                                                                     95
                   SID2         SID1                                                                 95
                                                                                                     --
                   SID10        SID9

                   TXBIF        TXABT

                   CANCON_RO2

                   CANSTAT_RO2

                   TXB1D77 TXB1D76              TXB1D74   TXB1D73  TXB1D72  TXB1D71
                                                TXB1D64   TXB1D63  TXB1D62  TXB1D61
                   TXB1D67 TXB1D66              TXB1D54   TXB1D53  TXB1D52  TXB1D51
                                                TXB1D44   TXB1D43  TXB1D42  TXB1D41
                   TXB1D57 TXB1D56              TXB1D34   TXB1D33  TXB1D32  TXB1D31
                                                TXB1D24   TXB1D23  TXB1D22  TXB1D21
                   TXB1D47 TXB1D46              TXB1D14   TXB1D13  TXB1D12  TXB1D11
                                                TXB1D04   TXB1D03  TXB1D02  TXB1D01
                   TXB1D37 TXB1D36
                                                     --     DLC3     DLC2     DLC1
         &nb