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

产品描述

搜索
 

PIC16C72A-04I/SO

器件型号:PIC16C72A-04I/SO
器件类别:半导体    模拟混合信号IC   
厂商名称:Microchip
厂商官网:https://www.microchip.com
下载文档

器件描述

MICROCHIP - PIC16C72A-04I/SO - MCU; 8BIT; PIC16; 4MHZ; SOIC-28

文档预览

PIC16C72A-04I/SO器件文档内容

                  PIC16C62B/72A

28-Pin 8-Bit CMOS Microcontrollers

Microcontroller Core Features:                            Pin Diagram

High-performance RISC CPU                               SDIP, SOIC, SSOP, Windowed CERDIP
Only 35 single word instructions to learn
All single cycle instructions except for program        MCLR/VPP         1             28  RB7

   branches, which are two cycle                          RA0/AN0          2              27  RB6
Operating speed: DC - 20 MHz clock input
                                                          RA1/AN1          3              26  RB5
                           DC - 200 ns instruction cycle
2K x 14 words of Program Memory,                        RA2/AN2          4   PIC16C72A  25  RB4

   128 x 8 bytes of Data Memory (RAM)                     RA3/AN3/VREF     5              24  RB3
Interrupt capability
Eight level deep hardware stack                         RA4/T0CKI        6              23  RB2
Direct, indirect, and relative addressing modes
Power-on Reset (POR)                                    RA5/SS/AN4       7              22  RB1
Power-up Timer (PWRT) and
                                                          VSS              8              21  RB0/INT
   Oscillator Start-up Timer (OST)
Watchdog Timer (WDT) with its own on-chip RC            OSC1/CLKIN       9              20  VDD

   oscillator for reliable operation                      OSC2/CLKOUT      10             19  VSS
Brown-out detection circuitry for
                                                          RC0/T1OSO/T1CKI  11             18  RC7
   Brown-out Reset (BOR)
Programmable code-protection                            RC1/T1OSI        12             17  RC6
Power saving SLEEP mode
Selectable oscillator options                           RC2/CCP1         13             16  RC5/SDO
Low-power, high-speed CMOS EPROM
                                                          RC3/SCK/SCL      14             15  RC4/SDI/SDA
   technology
Fully static design                                     Peripheral Features:
In-Circuit Serial ProgrammingTM (ICSP)
Wide operating voltage range: 2.5V to 5.5V               Timer0: 8-bit timer/counter with 8-bit prescaler
High Sink/Source Current 25/25 mA
Commercial, Industrial and Extended temperature          Timer1: 16-bit timer/counter with prescaler,
                                                             can be incremented during sleep via external
   ranges                                                    crystal/clock
Low-power consumption:
                                                          Timer2: 8-bit timer/counter with 8-bit period
   - < 2 mA @ 5V, 4 MHz                                      register, prescaler and postscaler
   - 22.5 A typical @ 3V, 32 kHz
   - < 1 A typical standby current                        Capture, Compare, PWM module

                                                          Capture is 16-bit, max. resolution is 12.5 ns,
                                                             Compare is 16-bit, max. resolution is 200 ns,
                                                             PWM maximum resolution is 10-bit

                                                          8-bit multi-channel Analog-to-Digital converter

                                                          Synchronous Serial Port (SSP) with Enhanced
                                                             SPITM and I2CTM

1999 Microchip Technology Inc.  Preliminary                                                 DS35008B-page 1
PIC16C62B/72A

Pin Diagrams

SDIP, SOIC, SSOP, Windowed CERDIP

MCLR/VPP         1             28  RB7

RA0              2              27  RB6

RA1              3              26  RB5

RA2              4   PIC16C62B  25  RB4

RA3              5              24  RB3

RA4/T0CKI        6              23  RB2

RA5/SS           7              22  RB1

VSS              8              21  RB0/INT

OSC1/CLKIN       9              20  VDD

OSC2/CLKOUT      10             19  VSS

RC0/T1OSO/T1CKI  11             18  RC7

RC1/T1OSI        12             17  RC6

RC2/CCP1         13             16  RC5/SDO

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

                         Key Features                        PIC16C62B              PIC16C72A
     PICmicroTM Mid-Range Reference Manual
                                                 DC - 20 MHz            DC - 20 MHz
                           (DS33023)             POR, BOR (PWRT, OST)   POR, BOR (PWRT, OST)
                                                 2K                     2K
Operating Frequency                              128                    128
Resets (and Delays)                              7                      8
Program Memory (14-bit words)                    Ports A,B,C            Ports A,B,C
Data Memory (bytes)                              3                      3
Interrupts                                       1                      1
I/O Ports                                        SSP                    SSP
Timers                                                                  5 input channels
Capture/Compare/PWM modules                                        --
Serial Communications
8-bit Analog-to-Digital Module

DS35008B-page 2                              Preliminary                1999 Microchip Technology Inc.
                                         PIC16C62B/72A

Table of Contents

1.0 Device Overview .................................................................................................................................................... 5
2.0 Memory Organization ............................................................................................................................................. 7
3.0 I/O Ports ............................................................................................................................................................... 19
4.0 Timer0 Module ..................................................................................................................................................... 25
5.0 Timer1 Module ..................................................................................................................................................... 27
6.0 Timer2 Module ..................................................................................................................................................... 31
7.0 Capture/Compare/PWM (CCP) Module ............................................................................................................... 33
8.0 Synchronous Serial Port (SSP) Module ............................................................................................................... 39
9.0 Analog-to-Digital Converter (A/D) Module ............................................................................................................ 49
10.0 Special Features of the CPU................................................................................................................................ 55
11.0 Instruction Set Summary ...................................................................................................................................... 67
12.0 Development Support........................................................................................................................................... 75
13.0 Electrical Characteristics ...................................................................................................................................... 81
14.0 DC and AC Characteristics Graphs and Tables................................................................................................. 103
15.0 Packaging Information........................................................................................................................................ 105
Appendix A: Revision History ................................................................................................................................... 111
Appendix B: Conversion Considerations .................................................................................................................. 111
Appendix C: Migration from Base-line to Mid-Range Devices .................................................................................. 112
Index ........................................................................................................................................................................... 113
On-Line Support.......................................................................................................................................................... 117
Reader Response ....................................................................................................................................................... 118
PIC16C62B/72A Product Identification System .......................................................................................................... 119

                                              To Our Valued Customers

  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.

  New Customer Notification System

  Register on our web site (www.microchip.com/cn) to receive the most current information on our products.

  Errata

  An errata sheet may exist for current devices, describing minor operational differences (from the data sheet) and recommended
  workarounds. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revi-
  sion 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)
   The Microchip Corporate Literature Center; U.S. FAX: (480) 786-7277
  When contacting a sales office or the literature center, please specify which device, revision of silicon and data sheet (include liter-
  ature number) you are using.

  Corrections to this Data Sheet

  We constantly strive to improve the quality of all our products and documentation. We have spent a great deal of time to ensure that
  this document is correct. However, we realize that we may have missed a few things. If you find any information that is missing or
  appears in error, please:
   Fill out and mail in the reader response form in the back of this data sheet.
   E-mail us at webmaster@microchip.com.
  We appreciate your assistance in making this a better document.

1999 Microchip Technology Inc.  Preliminary  DS35008B-page 3
PIC16C62B/72A

NOTES:

DS35008B-page 4  Preliminary   1999 Microchip Technology Inc.
                                                                                                  PIC16C62B/72A

1.0 DEVICE OVERVIEW                                               ommended reading for a better understanding of the
                                                                  device architecture and operation of the peripheral
This document contains device-specific information.               modules.
Additional information may be found in the PICmicroTM
Mid-Range Reference Manual, (DS33023), which may                  There are two devices (PIC16C62B, PIC16C72A) cov-
be obtained from your local Microchip Sales Represen-             ered by this datasheet. The PIC16C62B does not have
tative or downloaded from the Microchip website. The              the A/D module implemented.
Reference Manual should be considered a comple-
mentary document to this data sheet, and is highly rec-           Figure 1-1 is the block diagram for both devices. The
                                                                  pinouts are listed in Table 1-1.

FIGURE 1-1: PIC16C62B/PIC16C72A BLOCK DIAGRAM

                                  13                         Data Bus         8                   PORTA
                                         Program Counter                                          PORTB
                                                                                                  PORTC   RA0/AN0(2)
                EPROM             8 Level Stack                RAM                                        RA1/AN1(2)
                 2K x 14             (13-bit)                                                             RA2/AN2(2)
                Program                                       128 x 8                                     RA3/AN3/VREF(2)
                Memory                                          File                                      RA4/T0CKI
                                                                                                          RA5/SS/AN4(2)
Program 14                                                   Registers
   Bus                                                                                                   RB0/INT
                                                  RAM Addr(1)            9
            Instruction reg                                                                              RB7:RB1
                                                             Addr MUX
                                                                                                         RC0/T1OSO/T1CKI
                                  Direct Addr 7                                Indirect                  RC1/T1OSI
                                                                         8 Addr                          RC2/CCP1
                                                                                                         RC3/SCK/SCL
                                                                  FSR reg                                RC4/SDI/SDA
                                                                                                         RC5/SDO
                                                                                      STATUS reg         RC6
                                  8                                                                      RC7

                                                          3              MUX

             Instruction             Power-up                      ALU
             Decode &                  Timer              8

               Control               Oscillator                   W reg
                                  Start-up Timer
               Timing
             Generation              Power-on
                                       Reset
OSC1/CLKIN
OSC2/CLKOUT                          Watchdog
                                       Timer

                                    Brown-out
                                       Reset

                                  MCLR VDD, VSS

Timer0                            Timer1                  Timer2

CCP1                              Synchronous             A/D(2)
                                   Serial Port

Note 1: Higher order bits are from the STATUS register.
        2: The A/D module is not available on the PIC16C62B.

1999 Microchip Technology Inc.                  Preliminary                                            DS35008B-page 5
PIC16C62B/72A

TABLE 1-1 PIC16C62B/PIC16C72A PINOUT DESCRIPTION

Pin Name         DIP              SOIC  I/O/P  Buffer          Description
                 Pin#             Pin#  Type    Type

OSC1/CLKIN       9                9     I      ST/CMOS(3) Oscillator crystal input/external clock source input.

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

                                                               crystal oscillator mode. In RC mode, the OSC2 pin outputs

                                                               CLKOUT which has 1/4 the frequency of OSC1, and denotes

                                                               the instruction cycle rate.

MCLR/VPP         1                1     I/P    ST              Master clear (reset) input or programming voltage input. This

                                                               pin is an active low reset to the device.

                                                               PORTA is a bi-directional I/O port.

RA0/AN0(4)       2                2     I/O    TTL             RA0 can also be analog input 0

RA1/AN1(4)       3                3     I/O    TTL             RA1 can also be analog input 1

RA2/AN2(4)       4                4     I/O    TTL             RA2 can also be analog input 2

RA3/AN3/VREF(4)  5                5     I/O    TTL             RA3 can also be analog input 3 or analog reference voltage

RA4/T0CKI        6                6     I/O    ST              RA4 can also be the clock input to the Timer0 module.
                                                               Output is open drain type.

RA5/SS/AN4(4)    7                7     I/O    TTL             RA5 can also be analog input 4 or the slave select for the
                                                               synchronous serial port.

                                                               PORTB is a bi-directional I/O port. PORTB can be software

                                                               programmed for internal weak pull-up on all inputs.

RB0/INT          21               21    I/O    TTL/ST(1)       RB0 can also be the external interrupt pin.

RB1              22               22    I/O    TTL

RB2              23               23    I/O    TTL

RB3              24               24    I/O    TTL

RB4              25               25    I/O    TTL             Interrupt on change pin.

RB5              26               26    I/O    TTL             Interrupt on change pin.

RB6              27               27    I/O    TTL/ST(2)       Interrupt on change pin. Serial programming clock.

RB7              28               28    I/O    TTL/ST(2)       Interrupt on change pin. Serial programming data.

                                                               PORTC is a bi-directional I/O port.

RC0/T1OSO/T1CKI  11               11    I/O    ST              RC0 can also be the Timer1 oscillator output or Timer1
                                                               clock input.

RC1/T1OSI        12               12    I/O    ST              RC1 can also be the Timer1 oscillator input.

RC2/CCP1         13               13    I/O    ST              RC2 can also be the Capture1 input/Compare1 output/
                                                               PWM1 output.

RC3/SCK/SCL      14               14    I/O    ST              RC3 can also be the synchronous serial clock input/output
                                                               for both SPI and I2C modes.

RC4/SDI/SDA      15               15    I/O    ST              RC4 can also be the SPI Data In (SPI mode) or
                                                               data I/O (I2C mode).

RC5/SDO          16               16    I/O    ST              RC5 can also be the SPI Data Out (SPI mode).

RC6              17               17    I/O    ST

RC7              18               18    I/O    ST

VSS              8, 19 8, 19            P      --              Ground reference for logic and I/O pins.

VDD              20               20    P      --              Positive supply for logic and I/O pins.

Legend:     I = input O = output        I/O = input/output     P = power or program

Note 1:          -- = Not used          TTL = TTL input        ST = Schmitt Trigger input
        2:
        3:  This buffer is a Schmitt Trigger input when configured as the external interrupt.
        4:
            This buffer is a Schmitt Trigger input when used in serial programming mode.

            This buffer is a Schmitt Trigger input when configured in RC oscillator mode and a CMOS input otherwise.

            The A/D module is not available on the PIC16C62B.

DS35008B-page 6                                Preliminary                                     1999 Microchip Technology Inc.
                                                                       PIC16C62B/72A

2.0 MEMORY ORGANIZATION                                   FIGURE 2-1: PROGRAM MEMORY MAP
                                                                               AND STACK
There are two memory blocks in each of these micro-
controllers. Each block (Program Memory and Data                         PC<12:0>
Memory) has its own bus, so that concurrent access
can occur.                                                CALL, RETURN   13
                                                          RETFIE, RETLW
Additional information on device memory may be found
in the PICmicroTM Mid-Range Reference Manual,                          Stack Level 1
(DS33023).
                                                                       Stack Level 8     0000h
2.1 Program Memory Organization                                        Reset Vector

The PIC16C62B/72A devices have a 13-bit program           User Memory  Interrupt Vector  0004h
counter capable of addressing an 8K x 14 program             Space                       0005h
memory space. Each device has 2K x 14 words of pro-                    On-chip Program
gram memory. Accessing a location above 07FFh will                          Memory       07FFh
cause a wraparound.                                                                      0800h
                                                                                         1FFFh
The reset vector is at 0000h and the interrupt vector is
at 0004h.

1999 Microchip Technology Inc.  Preliminary                                            DS35008B-page 7
PIC16C62B/72A                                                FIGURE 2-2: REGISTER FILE MAP

2.2 Data Memory Organization                                    File     INDF(1)  INDF(1)      File
                                                             Address     TMR0               Address
The data memory is partitioned into multiple banks
which contain the General Purpose Registers and the                 00h                    80h
Special Function Registers. Bits RP1 and RP0 are the                01h
bank select bits.                                                                 OPTION_REG 81h

RP1(1) RP0 (STATUS<6:5>)                                    02h         PCL      PCL      82h

= 00  Bank0                                                 03h STATUS           STATUS 83h
= 01  Bank1
= 10  Bank2 (not implemented)                               04h         FSR      FSR      84h
= 11  Bank3 (not implemented)
                                                             05h PORTA            TRISA    85h
Note 1: Maintain this bit clear to ensure upward compati-
              bility with future products.                   06h PORTB            TRISB    86h

Each bank extends up to 7Fh (128 bytes). The lower           07h PORTC            TRISC    87h
locations of each bank are reserved for the Special
Function Registers. Above the Special Function Regis-        08h         --       --       88h
ters are General Purpose Registers, implemented as
static RAM. All implemented banks contain Special            09h         --       --       89h
Function Registers. Some "high use" Special Function
Registers from one bank may be mirrored in another           0Ah PCLATH           PCLATH 8Ah
bank for code reduction and quicker access.
                                                             0Bh INTCON           INTCON 8Bh
2.2.1 GENERAL PURPOSE REGISTER FILE
                                                             0Ch         PIR1     PIE1     8Ch
The register file can be accessed either directly, or indi-
rectly through the File Select Register FSR                  0Dh         --       --       8Dh
(Section 2.5).
                                                             0Eh TMR1L            PCON     8Eh

                                                             0Fh TMR1H            --       8Fh

                                                             10h T1CON            --       90h

                                                             11h TMR2             --       91h

                                                             12h T2CON            PR2      92h

                                                             13h SSPBUF           SSPADD 93h

                                                             14h SSPCON           SSPSTAT 94h

                                                             15h CCPR1L           --       95h

                                                             16h CCPR1H           --       96h

                                                             17h CCP1CON          --       97h

                                                             18h         --       --       98h

                                                             19h         --       --       99h

                                                             1Ah         --       --       9Ah

                                                             1Bh         --       --       9Bh

                                                             1Ch         --       --       9Ch

                                                             1Dh         --       --       9Dh

                                                             1Eh ADRES(2)         --       9Eh

                                                             1Fh ADCON0(2)        ADCON1(2) 9Fh

                                                             20h                   General A0h
                                                                                  Purpose
                                                                        General   Registers BFh
                                                                       Purpose
                                                                       Registers  --       C0h

                                                                                  --

                                                             7Fh                  --       FFh

                                                                         Bank 0   Bank 1

                                                                         Unimplemented data memory locations,

                                                                        read as '0'.
                                                             Note 1: Not a physical register.

                                                                    2: These registers are not implemented on the
                                                                          PIC16C62B, read as '0'.

DS35008B-page 8  Preliminary                                                       1999 Microchip Technology Inc.
                                                                                       PIC16C62B/72A

2.2.2 SPECIAL FUNCTION REGISTERS                                     The Special Function Registers can be classified into
                                                                     two sets; core (CPU) and peripheral. Those registers
The Special Function Registers are registers used by                 associated with the core functions are described in
the CPU and Peripheral Modules for controlling the                   detail in this section. Those related to the operation of
desired operation of the device. These registers are                 the peripheral features are described in detail in the
implemented as static RAM. A list of these registers is              peripheral feature section.
given in Table 2-1.

TABLE 2-1 SPECIAL FUNCTION REGISTER SUMMARY

                                                                                                                 Value on: Value on all

Addr     Name         Bit 7       Bit 6         Bit 5       Bit 4    Bit 3      Bit 2              Bit 1  Bit 0  POR, other resets

                                                                                                                 BOR  (4)

Bank 0

00h      INDF(1)      Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 0000 0000

01h      TMR0         Timer0 module's register                                                                   xxxx xxxx uuuu uuuu

02h      PCL(1)       Program Counter's (PC) Least Significant Byte                                              0000 0000 0000 0000

03h      STATUS(1)    IRP(5)      RP1(5)        RP0         TO       PD         Z                  DC     C      0001 1xxx 000q quuu

04h      FSR(1)       Indirect data memory address pointer                                                       xxxx xxxx uuuu uuuu

05h      PORTA(6,7)   --          -- PORTA Data Latch when written: PORTA pins when read                         --0x 0000 --0u 0000

06h      PORTB(6,7) PORTB Data Latch when written: PORTB pins when read                                          xxxx xxxx uuuu uuuu

07h      PORTC(6,7) PORTC Data Latch when written: PORTC pins when read                                          xxxx xxxx uuuu uuuu

08h-09h          --   Unimplemented                                                                              --   --
0Ah      PCLATH(1,2)
0Bh      INTCON(1)    --          --             --    Write Buffer for the upper 5 bits of the Program Counter  ---0 0000 ---0 0000
0Ch      PIR1                                   T0IE
                      GIE         PEIE                      INTE     RBIE       T0IF               INTF   RBIF 0000 000x 0000 000u
                                                 --
                      --          ADIF(3)                   --       SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

0Dh            --     Unimplemented                                                                              --   --

0Eh      TMR1L        Holding register for the Least Significant Byte of the 16-bit TMR1 register                xxxx xxxx uuuu uuuu

0Fh      TMR1H        Holding register for the Most Significant Byte of the 16-bit TMR1 register                 xxxx xxxx uuuu uuuu

10h      T1CON        --          -- T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uu uuuu

11h      TMR2         Timer2 module's register                                                                   0000 0000 0000 0000

12h      T2CON        -- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000

13h      SSPBUF       Synchronous Serial Port Receive Buffer/Transmit Register                                   xxxx xxxx uuuu uuuu

14h      SSPCON       WCOL SSPOV SSPEN CKP                           SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 0000 0000

15h      CCPR1L       Capture/Compare/PWM Register1 (LSB)                                                        xxxx xxxx uuuu uuuu

16h      CCPR1H       Capture/Compare/PWM Register1 (MSB)                                                        xxxx xxxx uuuu uuuu

17h      CCP1CON      --          --            CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000

18h-1Dh        --     Unimplemented                                                                              --   --

1Eh      ADRES(3)     A/D Result Register                                                                        xxxx xxxx uuuu uuuu

1Fh      ADCON0(3)    ADCS1 ADCS0 CHS2                      CHS1     CHS0 GO/DONE --                      ADON 0000 00-0 0000 00-0

Legend: x = unknown, u = unchanged, q = value depends on condition, - = unimplemented, read as '0',
             Shaded locations are unimplemented, read as '0'.

Note 1: These registers can be addressed from either bank.
        2: The upper byte of the program counter is not directly accessible. PCLATH is a holding register for PC<12:8> whose contents
             are transferred to the upper byte of the program counter.
        3: A/D not implemented on the PIC16C62B, maintain as '0'.
        4: Other (non power-up) resets include: external reset through MCLR and the Watchdog Timer Reset.
        5: The IRP and RP1 bits are reserved. Always maintain these bits clear.
        6: On any device reset, these pins are configured as inputs.
        7: This is the value that will be in the port output latch.

1999 Microchip Technology Inc.                       Preliminary                                               DS35008B-page 9
PIC16C62B/72A

TABLE 2-1 SPECIAL FUNCTION REGISTER SUMMARY (Cont.'d)

                                                                                                               Value on: Value on all

Addr     Name         Bit 7   Bit 6           Bit 5         Bit 4    Bit 3  Bit 2  Bit 1  Bit 0                POR, other resets

                                                                                                               BOR  (4)

Bank 1

80h      INDF(1)      Addressing this location uses contents of FSR to address data memory (not a physical register) 0000 0000 0000 0000

81h      OPTION_REG RBPU INTEDG T0CS                        T0SE     PSA    PS2    PS1    PS0 1111 1111 1111 1111

82h      PCL(1)       Program Counter's (PC) Least Significant Byte                                            0000 0000 0000 0000

83h      STATUS(1)    IRP(5)  RP1(5)          RP0           TO       PD     Z      DC     C                    0001 1xxx 000q quuu

84h      FSR(1)       Indirect data memory address pointer                                                     xxxx xxxx uuuu uuuu

85h      TRISA        --      -- PORTA Data Direction Register                                                 --11 1111 --11 1111

86h      TRISB        PORTB Data Direction Register                                                            1111 1111 1111 1111

87h      TRISC        PORTC Data Direction Register                                                            1111 1111 1111 1111

88h-89h          --   Unimplemented                                                                            --   --
8Ah      PCLATH(1,2)
8Bh      INTCON(1)    --      --               --    Write Buffer for the upper 5 bits of the Program Counter  ---0 0000 ---0 0000
8Ch      PIE1                                 T0IE
                      GIE     PEIE                          INTE     RBIE   T0IF   INTF   RBIF 0000 000x 0000 000u
                                               --
                      --      ADIE(3)                       --       SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

8Dh           --      Unimplemented                                                                            --   --

8Eh      PCON         --      --              --            --       --     --     POR    BOR ---- --qq ---- --uu

8Fh-91h       --      Unimplemented                                                                            --   --

92h      PR2          Timer2 Period Register                                                                   1111 1111 1111 1111
                                                                                                               0000 0000 0000 0000
93h      SSPADD       Synchronous Serial Port (I2C mode) Address Register

94h      SSPSTAT      SMP     CKE             D/A           P        S      R/W    UA     BF 0000 0000 0000 0000

95h-9Eh       --      Unimplemented                                                                            --   --

9Fh      ADCON1(3)    --      --              --            --       --     PCFG2 PCFG1 PCFG0 ---- -000 ---- -000

Legend: x = unknown, u = unchanged, q = value depends on condition, - = unimplemented, read as '0',
             Shaded locations are unimplemented, read as '0'.

Note 1: These registers can be addressed from either bank.
        2: The upper byte of the program counter is not directly accessible. PCLATH is a holding register for PC<12:8> whose contents
             are transferred to the upper byte of the program counter.
        3: A/D not implemented on the PIC16C62B, maintain as '0'.
        4: Other (non power-up) resets include: external reset through MCLR and the Watchdog Timer Reset.
        5: The IRP and RP1 bits are reserved. Always maintain these bits clear.
        6: On any device reset, these pins are configured as inputs.
        7: This is the value that will be in the port output latch.

DS35008B-page 10                                     Preliminary                           1999 Microchip Technology Inc.
                                                                           PIC16C62B/72A

2.2.2.1 STATUS REGISTER                                             It is recommended, therefore, that only BCF, BSF,
                                                                    SWAPF and MOVWF instructions are used to alter the
The STATUS register, shown in Register 2-1, contains                STATUS register, because these instructions do not
the arithmetic status of the ALU, the RESET status and              affect the Z, C or DC bits from the STATUS register. For
the bank select bits for data memory.                               other instructions, not affecting any status bits, see the
                                                                    "Instruction Set Summary."
The STATUS register can be the destination for any
instruction, as with any other register. If the STATUS                  Note 1: The IRP and RP1 bits are reserved. Main-
register is the destination for an instruction that affects                         tain these bits clear to ensure upward
the Z, DC or C bits, the write to these three bits is dis-                          compatibility with future products.
abled. These bits are set or cleared according to the
device logic. The TO and PD bits are not writable. The                  Note 2: The C and DC bits operate as a borrow
result of an instruction with the STATUS register as                                and digit borrow bit, respectively, in sub-
destination may be different than intended.                                         traction. See the SUBLW and SUBWF
                                                                                    instructions.
For example, CLRF STATUS will clear the upper-three
bits and set the Z bit. This leaves the STATUS register
as 000u u1uu (where u = unchanged).

REGISTER 2-1: STATUS REGISTER (ADDRESS 03h, 83h)

R/W-0 R/W-0 R/W-0                 R-1  R-1                   R/W-x  R/W-x  R/W-x
                                                                              C
IRP     RP1  RP0                  TO   PD                    Z      DC                R = Readable bit
                                                                                bit0  W = Writable bit
bit7                                                                                  U = Unimplemented bit,

                                                                                           read as `0'
                                                                                      - n = Value at POR reset

bit 7: IRP: Register Bank Select bit (used for indirect addressing)
            (reserved, maintain clear)

bit 6-5: RP1:RP0: Register Bank Select bits (used for direct addressing)
            01 = Bank 1 (80h - FFh)
            00 = Bank 0 (00h - 7Fh)
            Each bank is 128 bytes
            Note: RP1 is reserved, maintain clear

bit 4:  TO: Time-out bit
        1 = After power-up, CLRWDT instruction, or SLEEP instruction
        0 = A WDT time-out occurred

bit 3:  PD: Power-down bit
        1 = After power-up or by the CLRWDT instruction
        0 = By execution of the SLEEP instruction

bit 2:  Z: Zero bit
        1 = The result of an arithmetic or logic operation is zero
        0 = The result of an arithmetic or logic operation is not zero

bit 1:  DC: Digit carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (for borrow, the polarity is reversed)
        1 = A carry-out from the 4th low order bit of the result occurred
        0 = No carry-out from the 4th low order bit of the result

bit 0:  C: Carry/borrow bit (ADDWF, ADDLW,SUBLW,SUBWF instructions) (for borrow, the polarity is reversed)
        1 = A carry-out from the most significant bit of the result occurred
        0 = No carry-out from the most significant bit of the result occurred

        Note: For borrow, the polarity is reversed. A subtraction is executed by adding the two's complement of the
        second operand. For rotate (RRF, RLF) instructions, this bit is loaded with either the high or low order bit of
        the source register.

1999 Microchip Technology Inc.            Preliminary                               DS35008B-page 11
PIC16C62B/72A

2.2.2.2 OPTION_REG REGISTER                                 Note:  To achieve a 1:1 prescaler assignment for
                                                                   the TMR0 register, assign the prescaler to
The OPTION_REG register is a readable and writable                 the Watchdog Timer.
register, which contains various control bits to configure
the TMR0 prescaler/WDT postscaler (single assign-
able register known as the prescaler), the External INT
Interrupt, TMR0 and the weak pull-ups on PORTB.

REGISTER 2-2: OPTION_REG REGISTER (ADDRESS 81h)

  R/W-1   R/W-1   R/W-1    R/W-1  R/W-1       R/W-1         R/W-1  R/W-1       R = Readable bit
  RBPU   INTEDG   T0CS     T0SE    PSA         PS2           PS1    PS0        W = Writable bit
bit7                                                                           - n = Value at POR reset
                                                                         bit0

bit 7:   RBPU: PORTB Pull-up Enable bit
bit 6:   1 = PORTB pull-ups are disabled
bit 5:   0 = PORTB pull-ups are enabled for all PORTB inputs
bit 4:
bit 3:   INTEDG: Interrupt Edge Select bit
         1 = Interrupt on rising edge of RB0/INT pin
         0 = Interrupt on falling edge of RB0/INT pin

         T0CS: TMR0 Clock Source Select bit
         1 = Transition on RA4/T0CKI pin
         0 = Internal instruction cycle clock (CLKOUT)

         T0SE: TMR0 Source Edge Select bit
         1 = Increment on high-to-low transition on RA4/T0CKI pin
         0 = Increment on low-to-high transition on RA4/T0CKI pin

         PSA: Prescaler Assignment bit
         1 = Prescaler is assigned to the WDT
         0 = Prescaler is assigned to the Timer0 module

bit 2-0: PS2:PS0: Prescaler Rate Select bits

         Bit Value TMR0 Rate WDT Rate

         000      1:2      1:1

         001      1:4      1:2

         010      1:8      1:4

         011      1 : 16   1:8

         100      1 : 32   1 : 16

         101      1 : 64   1 : 32

         110      1 : 128  1 : 64

         111      1 : 256  1 : 128

DS35008B-page 12                              Preliminary                      1999 Microchip Technology Inc.
                                                                     PIC16C62B/72A

2.2.2.3 INTCON REGISTER                                   Note:      Interrupt flag bits are set when an interrupt
                                                                     condition occurs, regardless of the state of
The INTCON Register is a readable and writable regis-                its corresponding enable bit or the global
ter, which contains various interrupt enable and flag                enable bit, GIE (INTCON<7>). User soft-
bits for the TMR0 register overflow, RB Port change                  ware should ensure the appropriate inter-
and External RB0/INT pin interrupts.                                 rupt flag bits are clear prior to enabling an
                                                                     interrupt.

REGISTER 2-3: INTCON REGISTER (ADDRESS 0Bh, 8Bh)

  R/W-0  R/W-0  R/W-0             R/W-0  R/W-0     R/W-0  R/W-0      R/W-x       R = Readable bit
    GIE  PEIE    T0IE             INTE   RBIE       T0IF  INTF       RBIF        W = Writable bit
                                                                                 - n = Value at POR reset
bit7                                                                       bit0

bit 7:   GIE: Global Interrupt Enable bit
         1 = Enables all un-masked interrupts
         0 = Disables all interrupts

bit 6:   PEIE: Peripheral Interrupt Enable bit
         1 = Enables all un-masked peripheral interrupts
         0 = Disables all peripheral interrupts

bit 5:   T0IE: TMR0 Overflow Interrupt Enable bit
         1 = Enables the TMR0 interrupt
         0 = Disables the TMR0 interrupt

bit 4:   IINTE: RB0/INT External Interrupt Enable bit
         1 = Enables the RB0/INT external interrupt
         0 = Disables the RB0/INT external interrupt

bit 3:   RBIE: RB Port Change Interrupt Enable bit
         1 = Enables the RB port change interrupt
         0 = Disables the RB port change interrupt

bit 2:   T0IF: TMR0 Overflow Interrupt Flag bit
         1 = TMR0 register has overflowed (software must clear bit)
         0 = TMR0 register did not overflow

bit 1:   INTF: RB0/INT External Interrupt Flag bit
         1 = The RB0/INT external interrupt occurred (software must clear bit)
         0 = The RB0/INT external interrupt did not occur

bit 0:   RBIF: RB Port Change Interrupt Flag bit
         1 = At least one of the RB7:RB4 input pins have changed state (clear by reading PORTB)
         0 = None of the RB7:RB4 input pins have changed state

1999 Microchip Technology Inc.                Preliminary                      DS35008B-page 13
PIC16C62B/72A

2.2.2.4 PIE1 REGISTER                                          Note: Bit PEIE (INTCON<6>) must be set to
This register contains the individual enable bits for the                  enable any peripheral interrupt.
peripheral interrupts.

REGISTER 2-4: PIE1 REGISTER (ADDRESS 8Ch)

U-0       R/W-0    U-0  U-0          R/W-0 R/W-0 R/W-0          R/W-0
                                                               TMR1IE
      --  ADIE(1)  --   --           SSPIE CCP1IE TMR2IE                    R = Readable bit
                                                                      bit0  W = Writable bit
bit7                                                                        U = Unimplemented bit,

                                                                                    read as `0'
                                                                            - n = Value at POR reset

bit 7:    Unimplemented: Read as `0'
bit 6:
          ADIE(1): A/D Converter Interrupt Enable bit
          1 = Enables the A/D interrupt
          0 = Disables the A/D interrupt

bit 5-4: Unimplemented: Read as `0'

bit 3:    SSPIE: Synchronous Serial Port Interrupt Enable bit
          1 = Enables the SSP interrupt
          0 = Disables the SSP interrupt

bit 2:    CCP1IE: CCP1 Interrupt Enable bit
          1 = Enables the CCP1 interrupt
          0 = Disables the CCP1 interrupt

bit 1:    TMR2IE: TMR2 to PR2 Match Interrupt Enable bit
          1 = Enables the TMR2 to PR2 match interrupt
          0 = Disables the TMR2 to PR2 match interrupt

bit 0:    TMR1IE: TMR1 Overflow Interrupt Enable bit
          1 = Enables the TMR1 overflow interrupt
          0 = Disables the TMR1 overflow interrupt

Note 1: The PIC16C62B does not have an A/D module. This bit location is reserved on these devices. Always maintain this
             bit clear.

DS35008B-page 14                             Preliminary                     1999 Microchip Technology Inc.
                                                                         PIC16C62B/72A

2.2.2.5 PIR1 REGISTER                                    Note:        Interrupt flag bits are set when an interrupt
This register contains the individual flag bits for the               condition occurs, regardless of the state of
Peripheral interrupts.                                                its corresponding enable bit or the global
                                                                      enable bit, GIE (INTCON<7>). User soft-
REGISTER 2-5: PIR1 REGISTER (ADDRESS 0Ch)                             ware should ensure the appropriate inter-
                                                                      rupt flag bits are clear prior to enabling an
                                                                      interrupt.

U-0       R/W-0    U-0            U-0  R/W-0   R/W-0      R/W-0        R/W-0
                                              CCP1IF     TMR2IF       TMR1IF
      --  ADIF(1)  --             --   SSPIF                                        R = Readable bit
                                                                             bit0   W = Writable bit
bit7                                                                                U = Unimplemented bit,

                                                                                            read as `0'
                                                                                    - n = Value at POR reset

bit 7: Unimplemented: Read as `0'

bit 6:    ADIF(1): A/D Converter Interrupt Flag bit
          1 = An A/D conversion completed (must be cleared in software)
          0 = The A/D conversion is not complete

bit 5-4: Unimplemented: Read as `0'

bit 3:    SSPIF: Synchronous Serial Port Interrupt Flag bit
          1 = The transmission/reception is complete (must be cleared in software)
          0 = Waiting to transmit/receive

bit 2:    CCP1IF: CCP1 Interrupt Flag bit
          Capture Mode
          1 = A TMR1 register capture occurred (must be cleared in software)
          0 = No TMR1 register capture occurred
          Compare Mode
          1 = A TMR1 register compare match occurred (must be cleared in software)
          0 = No TMR1 register compare match occurred
          PWM Mode
          Unused in this mode

bit 1:    TMR2IF: TMR2 to PR2 Match Interrupt Flag bit
          1 = TMR2 to PR2 match occurred (must be cleared in software)
          0 = No TMR2 to PR2 match occurred

bit 0:    TMR1IF: TMR1 Overflow Interrupt Flag bit
          1 = TMR1 register overflowed (must be cleared in software)
          0 = TMR1 register did not overflow

Note 1: The PIC16C62B does not have an A/D module. This bit location is reserved on these devices. Always maintain this
             bit clear.

1999 Microchip Technology Inc.              Preliminary                           DS35008B-page 15
PIC16C62B/72A

2.2.2.6 PCON REGISTER                                         Note:  On Power-on Reset, the state of the BOR
                                                                     bit is unknown and is not predictable.
The Power Control register (PCON) contains flag bits to              If the BODEN bit in the configuration word
allow differentiation between a Power-on Reset (POR),                is set, the user must first set the BOR bit on
Brown-Out Reset (BOR) and resets from other                          a POR, and check it on subsequent resets.
sources. .                                                           If BOR is cleared while POR remains set,
                                                                     a Brown-out reset has occurred.
                                                                     If the BODEN bit is clear, the BOR bit may
                                                                     be ignored.

REGISTER 2-6: PCON REGISTER (ADDRESS 8Eh)

U-0       U-0     U-0  U-0           U-0                 U-0  R/W-0 R/W-q

      --  --      --   --            --                  --   POR    BOR R = Readable bit

bit7                                                                 bit0 W = Writable bit
                                                                             U = Unimplemented bit,

                                                                           read as `0'

                                                                           - n = Value at POR reset

bit 7-2: Unimplemented: Read as '0'

bit 1:    POR: Power-on Reset Status bit
          1 = No Power-on Reset occurred
          0 = A Power-on Reset occurred (must be set in software after a Power-on Reset occurs)

bit 0:    BOR: Brown-out Reset Status bit
          1 = No Brown-out Reset occurred
          0 = A Brown-out Reset occurred (must be set in software after a Brown-out Reset occurs)

DS35008B-page 16                          Preliminary                      1999 Microchip Technology Inc.
2.3 PCL and PCLATH                                                PIC16C62B/72A

The program counter (PC) specifies the address of the      2.4 Program Memory Paging
instruction to fetch for execution. The PC is 13 bits
wide. The low byte is called the PCL register and is       The CALL and GOTO instructions provide 11 bits of
readable and writable. The high byte is called the PCH     address to allow branching within any 2K program
register. This register contains the PC<12:8> bits and     memory page. When doing a CALL or GOTO instruction,
is not directly accessible. All updates to the PCH regis-  the upper bit of the address is provided by
ter go through the PCLATH register.                        PCLATH<3>. The user must ensure that the page
                                                           select bit is programmed to address the proper pro-
2.3.1 STACK                                                gram memory page. If a return from a CALL instruction
                                                           (or interrupt) is executed, the entire 13-bit PC is popped
The stack allows any combination of up to 8 program        from the stack. Therefore, manipulation of the
calls and interrupts to occur. The stack contains the      PCLATH<3> bit is not required for the return instruc-
return address from this branch in program execution.      tions.

Mid-range devices have an 8 level deep hardware
stack. The stack space is not part of either program or
data space and the stack pointer is not accessible. The
PC is PUSHed onto the stack when a CALL instruction
is executed or an interrupt causes a branch. The stack
is POPed in the event of a RETURN, RETLW or a RET-
FIE instruction execution. PCLATH is not modified
when the stack is PUSHed or POPed.

After the stack has been PUSHed eight times, the ninth
push overwrites the value that was stored from the first
push. The tenth push overwrites the second push (and
so on).

1999 Microchip Technology Inc.  Preliminary              DS35008B-page 17
PIC16C62B/72A                                                      EXAMPLE 2-1: HOW TO CLEAR RAM
                                                                                           USING INDIRECT
2.5 Indirect Addressing, INDF and FSR                                                      ADDRESSING
          Registers
                                                                   NEXT         movlw  0x20 ;initialize pointer
The INDF register is not a physical register. Address-             CONTINUE     movwf  FSR ; to RAM
ing INDF actually addresses the register whose                                  clrf   INDF ;clear INDF register
address is contained in the FSR register (FSR is a                              incf   FSR ;inc pointer
pointer).                                                                       btfss  FSR,4 ;all done?
Reading INDF itself indirectly (FSR = 0) will produce                           goto   NEXT ;NO, clear next
00h. Writing to the INDF register indirectly results in a
no-operation (although STATUS bits may be affected).                            :                ;YES, continue
A simple program to clear RAM locations 20h-2Fh
using indirect addressing is shown in Example 2-1.                 An effective 9-bit address is obtained by concatenating
                                                                   the 8-bit FSR register and the IRP bit (STATUS<7>), as
                                                                   shown in Figure 2-3. However, IRP is not used in the
                                                                   PIC16C62B/72A.

FIGURE 2-3: DIRECT/INDIRECT ADDRESSING

         Direct Addressing                                                             Indirect Addressing

RP1:RP0  6        from opcode       0                                           IRP    7     FSR register   0

(1)                                                                            (1)

bank select location select                                                     bank select  location select

                                     00     01                 10     11
                               00h       80h               100h    180h

                                                                 not used
                                                           (2)             (2)
                  Data
                  Memory

                               7Fh       FFh               17Fh    1FFh

                               Bank 0 Bank 1 Bank 2 Bank 3

Note 1: Maintain clear for upward compatibility with future products.
       2: Not implemented.

DS35008B-page 18                              Preliminary                                     1999 Microchip Technology Inc.
                                                                     PIC16C62B/72A

3.0 I/O PORTS                                                  FIGURE 3-1: BLOCK DIAGRAM OF
                                                                                    RA3:RA0 AND RA5 PINS
Some I/O port pins are multiplexed with an alternate
function for the peripheral features on the device. In         Data  D  Q
general, when a peripheral is enabled, that pin may not        Bus
be used as a general purpose I/O pin.                                CK Q                                             VDD
                                                               WR                                                     P
Additional information on I/O ports may be found in the        Port
PICmicroTM Mid-Range Reference Manual,
(DS33023).

                                                                     Data Latch

3.1 PORTA and the TRISA Register                                     D  Q                                             N    I/O pin(1)

PORTA is a 6-bit wide bi-directional port. The corre-          WR     CK Q                           VSS
sponding data direction register is TRISA. Setting a           TRIS  TRIS Latch            Analog
TRISA bit (=1) will make the corresponding PORTA pin                                       input
an input, i.e., put the corresponding output driver in a                          RD TRIS  mode
hi-impedance mode. Clearing a TRISA bit (=0) will
make the corresponding PORTA pin an output, (i.e., put                                     (72A
the contents of the output latch on the selected pin).
                                                                                           only)
The PORTA register reads the state of the pins,
whereas writing to it will write to the port latch. All write                                                              TTL
operations are read-modify-write operations. There-                                                                        input
fore, a write to a port implies that the port pins are read,                                                               buffer
this value is modified, and then written to the port data
latch.                                                                              Q          D

Pin RA4 is multiplexed with the Timer0 module clock                                                               EN
input to become the RA4/T0CKI pin. The RA4/T0CKI               RD PORT
pin is a Schmitt Trigger input and an open drain output.
All other RA port pins have TTL input levels and full          To A/D Converter (72A only)
CMOS output drivers.
                                                               Note 1: I/O pins have protection diodes to VDD and
Pin RA5 is multiplexed with the SSP to become the                            VSS.
RA5/SS pin.
                                                               FIGURE 3-2: BLOCK DIAGRAM OF
On the PIC16C72A device, other PORTA pins are mul-                                  RA4/T0CKI PIN
tiplexed with analog inputs and analog VREF input. The
operation of each pin is selected by clearing/setting the      Data       DQ
control bits in the ADCON1 register (A/D Control               Bus
Register1).                                                                CK Q
                                                               WR       Data Latch
Note:  On a Power-on Reset, pins with analog                   PORT
       functions are configured as analog inputs
       with digital input buffers disabled . A digital                                           N                         I/O pin(1)
       read of these pins will return '0'.
                                                                           DQ                    VSS
The TRISA register controls the direction of the RA            WR          CK Q
pins, even when they are being used as analog inputs.          TRIS     TRIS Latch         Schmitt
The user must ensure the bits in the TRISA register are                                    Trigger
maintained set when using them as analog inputs.                                           input
                                                                                           buffer

                                                                        RD TRIS

                                                                                           QD

                                                                                           ENEN

                                                               RD PORT

                                                                     TMR0 clock input
                                                               Note 1: I/O pin has protection diodes to VSS only.

1999 Microchip Technology Inc.  Preliminary                                              DS35008B-page 19
PIC16C62B/72A

TABLE 3-1 PORTA FUNCTIONS

Name              Bit# Buffer Function

RA0/AN0           bit0         TTL     Input/output or analog input(1)

RA1/AN1           bit1         TTL     Input/output or analog input(1)

RA2/AN2           bit2         TTL     Input/output or analog input(1)

RA3/AN3/VREF bit3              TTL     Input/output or analog input(1) or VREF(1)

RA4/T0CKI         bit4         ST      Input/output or external clock input for Timer0
                                       Output is open drain type

RA5/SS/AN4 bit5                TTL     Input/output or slave select input for synchronous serial port or analog input(1)

Legend: TTL = TTL input, ST = Schmitt Trigger input

Note 1: The PIC16C62B does not implement the A/D module.

TABLE 3-2 SUMMARY OF REGISTERS ASSOCIATED WITH PORTA

Address Name                   Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2      Bit 1           Bit 0  Value on  Value on all
                                                                                                 POR,    other resets
                                                                                                 BOR

05h      PORTA                     -- -- RA5 RA4 RA3 RA2 RA1 RA0 --0x 0000 --0u 0000

         (for PIC16C72A only)

05h      PORTA                     -- -- RA5 RA4 RA3 RA2 RA1 RA0 --xx xxxx --uu uuuu

         (for PIC16C62B only)

85h      TRISA                     -- -- PORTA Data Direction Register                         --11 1111 --11 1111

9Fh      ADCON1(1)                 --  --  --        --   -- PCFG2 PCFG1 PCFG0 ---- -000 ---- -000

Legend: x = unknown, u = unchanged, - = unimplemented locations read as '0'. Shaded cells are not used by PORTA.

Note 1: The PIC16C62B does not implement the A/D module. Maintain this register clear.

DS35008B-page 20                               Preliminary                               1999 Microchip Technology Inc.
                                                                                  PIC16C62B/72A

3.2 PORTB and the TRISB Register                                        Four of PORTB's pins, RB7:RB4, have an interrupt on
                                                                        change feature. Only pins configured as inputs can
PORTB is an 8-bit wide bi-directional port. The corre-                  cause this interrupt to occur (i.e. any RB7:RB4 pin con-
sponding data direction register is TRISB. Setting a                    figured as an output is excluded from the interrupt on
TRISB bit (=1) will make the corresponding PORTB pin                    change comparison). The input pins (of RB7:RB4) are
an input, (i.e., put the corresponding output driver in a               compared with the old value latched on the last read of
hi-impedance mode). Clearing a TRISB bit (=0) will                      PORTB. The "mismatch" outputs of RB7:RB4 are
make the corresponding PORTB pin an output, (i.e.,                      OR'ed together to generate the RB Port Change Inter-
put the contents of the output latch on the selected pin).              rupt with flag bit RBIF (INTCON<0>).

Each of the PORTB pins has a weak internal pull-up. A                   This interrupt can wake the device from SLEEP. The
single control bit can turn on all the pull-ups. This is per-           user, in the interrupt service routine, can clear the inter-
formed by clearing bit RBPU (OPTION_REG<7>). The                        rupt in the following manner:
weak pull-up is automatically turned off when the port
pin is configured as an output. The pull-ups are dis-                   a) Any read or write of PORTB. This will end the
abled on a Power-on Reset.                                                    mismatch condition.

FIGURE 3-3:  BLOCK DIAGRAM OF                                           b) Clear flag bit RBIF.
             RB3:RB0 PINS
  RBPU(2)                                                               A mismatch condition will continue to set flag bit RBIF.
Data Bus                                                  VDD          Reading PORTB will end the mismatch condition and
WR Port                                                                allow flag bit RBIF to be cleared.
                                              P  weak
WR TRIS                                         pull-up                The interrupt on change feature is recommended for
                                                                        wake-up on key depression operation and operations
             Data Latch                                                 where PORTB is only used for the interrupt on change
              DQ                                                        feature. Polling of PORTB is not recommended while
                                                                        using the interrupt on change feature.
               CK                                               I/O
             TRIS Latch                                         pin(1)  RB0/INT is an external interupt pin and is configured
              DQ                                                        using the INTEDG bit (OPTION_REG<6>). RB0/INT is
                                  TTL                                   discussed in detail in Section 10.10.1.
               CK                 Input
                                  Buffer

                                                                        FIGURE 3-4:   BLOCK DIAGRAM OF
                                                                                      RB7:RB4 PINS
                                                                          RBPU(2)
             RD TRIS                                                     Data Bus                               VDD
             RD Port                                                      WR Port
                                  QD                                                                                P  weak
                                          EN                                                                           pull-up

RB0/INT                                                                               Data Latch                       I/O
                                                                                       DQ                              pin(1)

                                                                                        CK

             Schmitt Trigger                  RD Port                                 TRIS Latch
             Buffer                                                                    DQ

Note 1: I/O pins have diode protection to VDD and VSS.                  WR TRIS       CK                    TTL
                                                                                                            Input
       2: To enable weak pull-ups, set the appropriate TRIS bit(s)                                          Buffer         ST
           and clear the RBPU bit (OPTION_REG<7>).                                                                     Buffer

                                                                                      RD TRIS        Latch
                                                                                                  QD

                                                                                      RD Port               EN         Q1

                                                                        Set RBIF

                                                                        From other                QD                   RD Port
                                                                        RB7:RB4 pins                     EN                 Q3

                                                                        RB7:RB6 in serial programming mode

                                                                        Note 1: I/O pins have diode protection to VDD and VSS.

                                                                               2: To enable weak pull-ups, set the appropriate TRIS bit(s)
                                                                                   and clear the RBPU bit (OPTION_REG<7>).

1999 Microchip Technology Inc.                                Preliminary                                 DS35008B-page 21
PIC16C62B/72A

TABLE 3-3 PORTB FUNCTIONS

Name          Bit#    Buffer         Function

RB0/INT         bit0  TTL/ST(1) Input/output pin or external interrupt input.

                                     Internal software programmable weak pull-up.

RB1             bit1  TTL            Input/output pin. Internal software programmable weak pull-up.

RB2             bit2  TTL            Input/output pin. Internal software programmable weak pull-up.

RB3             bit3  TTL            Input/output pin. Internal software programmable weak pull-up.

RB4             bit4  TTL            Input/output pin (with interrupt on change).

                                     Internal software programmable weak pull-up.

RB5             bit5  TTL            Input/output pin (with interrupt on change).

                                     Internal software programmable weak pull-up.

RB6             bit6  TTL/ST(2) Input/output pin (with interrupt on change).

                                     Internal software programmable weak pull-up. Serial programming clock.

RB7             bit7  TTL/ST(2) Input/output pin (with interrupt on change).

                                     Internal software programmable weak pull-up. Serial programming data.

Legend: TTL = TTL input, ST = Schmitt Trigger input

Note 1: This buffer is a Schmitt Trigger input when configured as the external interrupt.
        2: This buffer is a Schmitt Trigger input when used in serial programming mode.

TABLE 3-4 SUMMARY OF REGISTERS ASSOCIATED WITH PORTB

Address Name          Bit 7   Bit 6  Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0                    Value on:  Value on all
                                                                                               POR,    other resets
06h      PORTB        RB7     RB6    RB5 RB4 RB3 RB2 RB1 RB0                                   BOR
                                                                                                       uuuu uuuu
86h      TRISB        PORTB Data Direction Register                                        xxxx xxxx   1111 1111
                                                                                                       1111 1111
81h      OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0                                  1111 1111

                                                                                           1111 1111

Legend: x = unknown, u = unchanged. Shaded cells are not used by PORTB.

DS35008B-page 22                     Preliminary                                           1999 Microchip Technology Inc.
                                                                PIC16C62B/72A

3.3 PORTC and the TRISC Register

PORTC is an 8-bit wide bi-directional port. The corre-
sponding data direction register is TRISC. Setting a
TRISC bit (=1) will make the corresponding PORTC pin
an input, (i.e., put the corresponding output driver in a
hi-impedance mode). Clearing a TRISC bit (=0) will
make the corresponding PORTC pin an output, (i.e.,
put the contents of the output latch on the selected pin).

PORTC is multiplexed with several peripheral functions
(Table 3-5). PORTC pins have Schmitt Trigger input
buffers.

When enabling peripheral functions, care should be
taken in defining TRIS bits for each PORTC pin. Some
peripherals override the TRIS bit to make a pin an out-
put, while other peripherals override the TRIS bit to
make a pin an input. Since the TRIS bit override maybe
in effect while the peripheral is enabled, read-modify-
write instructions (BSF, BCF, XORWF) with TRISC as
destination should be avoided. The user should refer to
the corresponding peripheral section for the correct
TRIS bit settings.

FIGURE 3-5:       PORTC BLOCK DIAGRAM
                  (PERIPHERAL OUTPUT
                  OVERRIDE)

PORT/PERIPHERAL Select(2)

Peripheral Data Out      0                    VDD
                                               P
Data Bus D Q
WR                                                   I/O
                         1                           pin(1)
PORT                                          N
                CK Q
                                             VSS
            Data Latch               Schmitt
                                     Trigger
WR              DQ                D
TRIS             CK Q

            TRIS Latch

                RD TRIS

Peripheral

OE(3)                       Q

            RD                    EN

            PORT

Peripheral input

Note 1:     I/O pins have diode protection to VDD and VSS.
        2:  Port/Peripheral select signal selects between port
            data and peripheral output.
        3:  Peripheral OE (output enable) is only activated if
            peripheral select is active.

1999 Microchip Technology Inc.       Preliminary              DS35008B-page 23
PIC16C62B/72A

TABLE 3-5 PORTC FUNCTIONS

Name              Bit#  Buffer       Function                                                  TRISC
                        Type                                                                  Override

RC0/T1OSO/T1CKI bit0 ST Input/output port pin or Timer1 oscillator output/Timer1 clock input  Yes

RC1/T1OSI         bit1 ST Input/output port pin or Timer1 oscillator input                    Yes

RC2/CCP1          bit2 ST Input/output port pin or Capture1 input/Compare1 output/PWM1        No

                                     output

RC3/SCK/SCL       bit3 ST RC3 can also be the synchronous serial clock for both SPI and I2C   No

                                     modes.

RC4/SDI/SDA       bit4 ST RC4 can also be the SPI Data In (SPI mode) or data I/O (I2C mode). No

RC5/SDO           bit5 ST Input/output port pin or Synchronous Serial Port data output        No

RC6               bit6 ST Input/output port pin                                               No

RC7               bit7 ST Input/output port pin                                               No

Legend: ST = Schmitt Trigger input

TABLE 3-6 SUMMARY OF REGISTERS ASSOCIATED WITH PORTC

Address Name      Bit 7 Bit 6 Bit 5 Bit 4      Bit 3  Bit 2  Bit 1          Bit 0  Value on:  Value on all
                                               RC3    RC2    RC1            RC0       POR,    other resets
                                                                                      BOR

07h   PORTC RC7         RC6          RC5 RC4                                       xxxx xxxx uuuu uuuu
                                                                                   1111 1111 1111 1111
87h   TRISC PORTC Data Direction Register

Legend: x = unknown, u = unchanged.

DS35008B-page 24                               Preliminary                   1999 Microchip Technology Inc.
                                                                       PIC16C62B/72A

4.0 TIMER0 MODULE                                          Additional information on external clock requirements
                                                           is available in the Electrical Specifications section of
The Timer0 module timer/counter has the following fea-     this manual, and in the PICmicroTM Mid-Range Refer-
tures:                                                     ence Manual, (DS33023).

8-bit timer/counter                                      4.2 Prescaler
   - Read and write
   - INT on overflow                                       An 8-bit counter is available as a prescaler for the
                                                           Timer0 module, or as a postscaler for the Watchdog
8-bit software programmable prescaler                    Timer, respectively (Figure 4-2). For simplicity, this
INT or EXT clock select                                  counter is being referred to as "prescaler" throughout
                                                           this data sheet. There is only one prescaler available
   - EXT clock edge select                                 which is shared between the Timer0 module and the
                                                           Watchdog Timer. A prescaler assignment for the
Figure 4-1 is a simplified block diagram of the Timer0     Timer0 module means that there is no prescaler for the
module.                                                    Watchdog Timer, and vice-versa.

Additional information on timer modules is available in    The prescaler is not readable or writable.
the PICmicroTM Mid-Range Reference Manual,
(DS33023).                                                 The PSA and PS2:PS0 bits (OPTION_REG<3:0>)
                                                           determine the prescaler assignment and prescale ratio.
4.1 Timer0 Operation
                                                           Clearing bit PSA will assign the prescaler to the Timer0
Timer0 can operate as a timer or as a counter.             module. When the prescaler is assigned to the Timer0
                                                           module, prescale values of 1:2, 1:4, ..., 1:256 are
Timer mode is selected by clearing bit T0CS                selectable.
(OPTION_REG<5>). In timer mode, the Timer0 mod-
ule will increment every instruction cycle (without pres-  Setting bit PSA will assign the prescaler to the Watch-
caler). If the TMR0 register is written, the increment is  dog Timer (WDT). When the prescaler is assigned to
inhibited for the following two instruction cycles. The    the WDT, prescale values of 1:1, 1:2, ..., 1:128 are
user can work around this by writing an adjusted value     selectable.
to the TMR0 register.
                                                           When assigned to the Timer0 module, all instructions
Counter mode is selected by setting bit T0CS               writing to the TMR0 register (e.g. CLRF 1, MOVWF 1,
(OPTION_REG<5>). In counter mode, Timer0 will              BSF 1,x....etc.) will clear the prescaler. When
increment either on every rising or falling edge of pin    assigned to WDT, a CLRWDT instruction will clear the
RA4/T0CKI. The incrementing edge is determined by          prescaler along with the WDT.
the Timer0 Source Edge Select bit T0SE
(OPTION_REG<4>). Clearing bit T0SE selects the ris-             Note:  Writing to TMR0 when the prescaler is
ing edge. Restrictions on the external clock input are                 assigned to Timer0 will clear the prescaler
discussed below.                                                       count, but will not change the prescaler
                                                                       assignment or ratio.
When an external clock input is used for Timer0, it must
meet certain requirements. The requirements ensure
the external clock can be synchronized with the internal
phase clock (TOSC). Also, there is a delay in the actual
incrementing of Timer0 after synchronization.

FIGURE 4-1: TIMER0 BLOCK DIAGRAM

                                                                                           Data Bus

                     FOSC/4          0                         PSout   Sync with                    8
                                     1                     1            Internal           TMR0
RA4/T0CKI                                                                clocks
pin                               T0CS    Programmable     0                        PSout
                                              Prescaler
                T0SE                                                   (TCY delay)
                                                    3
                                        PS2, PS1, PS0      PSA                                         Set interrupt
                                                                                                       flag bit T0IF
                                                                                                       on overflow

Note 1: T0CS, T0SE, PSA, PS2:PS0 (OPTION_REG<5:0>).
       2: The prescaler is shared with Watchdog Timer (refer to Figure 4-2 for detailed block diagram).

1999 Microchip Technology Inc.        Preliminary                                        DS35008B-page 25
PIC16C62B/72A

4.2.1 SWITCHING PRESCALER ASSIGNMENT                                          4.3 Timer0 Interrupt

The prescaler assignment is fully under software con-                         The TMR0 interrupt is generated when the TMR0 reg-
trol, (i.e., it can be changed "on-the-fly" during program                    ister overflows from FFh to 00h. This overflow sets bit
execution).                                                                   T0IF (INTCON<2>). The interrupt can be masked by
                                                                              clearing bit T0IE (INTCON<5>). Bit T0IF must be
Note:  To avoid an unintended device RESET, a                                 cleared in software by the Timer0 module interrupt ser-
       specific instruction sequence (shown in the                            vice routine before re-enabling this interrupt. The
       PICmicroTM Mid-Range Reference Man-                                    TMR0 interrupt cannot awaken the processor from
       ual, DS33023) must be executed when                                    SLEEP since the timer is shut off during SLEEP.
       changing the prescaler assignment from
       Timer0 to the WDT. This sequence must
       be followed even if the WDT is disabled.

FIGURE 4-2: BLOCK DIAGRAM OF THE TIMER0/WDT PRESCALER                                              Data Bus

      CLKOUT (= Fosc/4)

RA4/T0CKI                          0M                       1                      SYNC                      8
     pin                                U                         M                   2            TMR0 reg
                                         X
                                                            0  U                    TCY                              Set flag bit T0IF
                                   1                           X                                                        on Overflow

                     T0SE            T0CS

                                                               PSA
                                                                  Prescaler

       Watchdog            0                8-bit Prescaler                        PS2:PS0
          Timer                 M               8
                                U
     WDT Enable bit                         8 - to - 1MUX
                           1X

                              PSA

                                            0               1

                                               MUX                            PSA

                                                                       WDT
                                                                    Time-out

     Note: T0CS, T0SE, PSA, PS2:PS0 are (OPTION_REG<5:0>).

TABLE 4-1 REGISTERS ASSOCIATED WITH TIMER0

Address Name               Bit 7   Bit 6    Bit 5 Bit 4 Bit 3 Bit 2 Bit 1                   Bit 0  Value on:  Value on all
                                                                                                      POR,    other resets
                                                                                                      BOR

01h    TMR0                Timer0 module's register                                                xxxx xxxx uuuu uuuu

0Bh,8Bh INTCON             GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u

81h    OPTION_REG RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111

85h    TRISA               --      -- PORTA Data Direction Register                                --11 1111 --11 1111

Legend: x = unknown, u = unchanged, - = unimplemented locations read as '0'. Shaded cells are not used by Timer0.

DS35008B-page 26                                     Preliminary                            1999 Microchip Technology Inc.
                                                                   PIC16C62B/72A

5.0 TIMER1 MODULE                                             5.1 Timer1 Operation

The Timer1 module timer/counter has the following fea-        Timer1 can operate in one of these modes:
tures:
                                                               As a timer
16-bit timer/counter                                        As a synchronous counter
Readable and writable                                        As an asynchronous counter
Internal or external clock select
Interrupt on overflow from FFFFh to 0000h                   The operating mode is determined by the clock select
Reset from CCP module trigger                               bit, TMR1CS (T1CON<1>).

Timer1 has a control register, shown in Register 5-1.         In timer mode, Timer1 increments every instruction
Timer1 can be enabled/disabled by setting/clearing            cycle. In counter mode, it increments on every rising
control bit TMR1ON (T1CON<0>).                                edge of the external clock input.

Figure 5-1 is a simplified block diagram of the Timer1        When the Timer1 oscillator is enabled (T1OSCEN is
module.                                                       set), the RC1/T1OSI and RC0/T1OSO/T1CKI pins
                                                              become inputs. That is, the TRISC<1:0> value is
Additional information on timer modules is available in       ignored.
the PICmicroTM Mid-Range Reference Manual,
(DS33023).                                                    Timer1 also has an internal "reset input". This reset can
                                                              be generated by the CCP module as a special event
                                                              trigger (Section 7.0).

REGISTER 5-1:T1CON: TIMER1 CONTROL REGISTER (ADDRESS 10h)

    U-0  U-0  R/W-0 R/W-0 R/W-0      R/W-0                    R/W-0 R/W-0
     --
bit7     -- T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON                                                       R = Readable bit
                                                                                                         bit0  W = Writable bit
                                                                                                               U = Unimplemented bit,

                                                                                                                       read as `0'
                                                                                                               - n = Value at POR reset

bit 7-6: Unimplemented: Read as '0'

bit 5-4: T1CKPS1:T1CKPS0: Timer1 Input Clock Prescale Select bits
            11 = 1:8 Prescale value
            10 = 1:4 Prescale value
            01 = 1:2 Prescale value
            00 = 1:1 Prescale value

bit 3:   T1OSCEN: Timer1 Oscillator Enable Control bit
         1 = Oscillator is enabled (TRISC<1:0> ignored)
         0 = Oscillator is shut off
         (The oscillator is turned off to reduce power drain

bit 2:   T1SYNC: Timer1 External Clock Input Synchronization Control bit
         TMR1CS = 1
         1 = Do not synchronize external clock input
         0 = Synchronize external clock input
         TMR1CS = 0
         This bit is ignored. Timer1 uses the internal clock when TMR1CS = 0.

bit 1:   TMR1CS: Timer1 Clock Source Select bit
         1 = External clock from pin RC0/T1OSO/T1CKI (on the rising edge)
         0 = Internal clock (FOSC/4)

bit 0:   TMR1ON: Timer1 On bit
         1 = Enables Timer1
         0 = Stops Timer1

1999 Microchip Technology Inc.     Preliminary                                                               DS35008B-page 27
PIC16C62B/72A

FIGURE 5-1: TIMER1 BLOCK DIAGRAM

                Set flag bit                                          0                                  Synchronized
                TMR1IF on
                Overflow      TMR1                                                                       clock input

RC0/T1OSO/T1CKI               TMR1H TMR1L
RC1/T1OSI                                                                                             1

                                                    TMR1ON            T1SYNC
                                                      on/off

                              T1OSC

                                     T1OSCEN FOSC/4           1                                          Synchronize
                                     Enable         Internal               Prescaler                             det
                                     Oscillator(1)  Clock                  1, 2, 4, 8
                                                                                                         SLEEP input
                                                              0
                                                                                     2

                                                                    T1CKPS1:T1CKPS0

                                                              TMR1CS

Note 1: When the T1OSCEN bit is cleared, the inverter and feedback resistor are turned off. This eliminates power drain.

DS35008B-page 28                                    Preliminary                                           1999 Microchip Technology Inc.
                                                                           PIC16C62B/72A

5.2 Timer1 Oscillator                                               5.3 Timer1 Interrupt

A crystal oscillator circuit is built-in between pins T1OSI         The TMR1 Register pair (TMR1H:TMR1L) increments
(input) and T1OSO (amplifier output). It is enabled by              from 0000h to FFFFh and rolls over to 0000h. The
setting control bit T1OSCEN (T1CON<3>). When the                    TMR1 Interrupt, if enabled, is generated on overflow
Timer1 oscillator is enabled, RC0 and RC1 pins                      and is latched in interrupt flag bit TMR1IF (PIR1<0>).
become T1OSO and T1OSI inputs, overriding                           This interrupt can be enabled by setting TMR1 interrupt
TRISC<1:0>.                                                         enable bit TMR1IE (PIE1<0>).

The oscillator is a low power oscillator rated up to 200            5.4 Resetting Timer1 using a CCP Trigger
kHz. It will continue to run during SLEEP. It is primarily                    Output
intended for a 32 kHz crystal. Table 5-1 shows the
capacitor selection for the Timer1 oscillator.                      If the CCP module is configured in compare mode to
                                                                    generate a "special event trigger" (CCP1M3:CCP1M0
The Timer1 oscillator is identical to the LP oscillator.            = 1011), this signal will reset Timer1 and start an A/D
The user must provide a software time delay to ensure               conversion (if the A/D module is enabled).
proper oscillator start-up.

TABLE 5-1      CAPACITOR SELECTION FOR                              Note:  The special event trigger from the CCP1
               THE TIMER1 OSCILLATOR                                       module will not set interrupt flag bit
                                                                           TMR1IF (PIR1<0>).

Osc Type       Freq               C1         C2                     Timer1 must be configured for either timer or synchro-
                                                                    nized counter mode to take advantage of this feature. If
LP             32 kHz             33 pF      33 pF                  Timer1 is running in asynchronous counter mode, this
                                                                    reset operation may not work.
               100 kHz            15 pF      15 pF

               200 kHz            15 pF      15 pF

These values are for design guidance only.                          In the event that a write to Timer1 coincides with a spe-
                                                                    cial event trigger from CCP1, the write will take prece-
Crystals Tested:                                                    dence.

32.768 kHz Epson C-001R32.768K-A 20 PPM                           In this mode of operation, the CCPR1H:CCPR1L regis-
                                                                    ters pair effectively becomes the period register for
100 kHz Epson C-2 100.00 KC-P 20 PPM                              Timer1.

200 kHz    STD XTL 200.000 kHz                20 PPM

Note 1: Higher capacitance increases the stability

         of oscillator but also increases the start-up
         time.

2: Since each resonator/crystal has its own
    characteristics, the user should consult the
    resonator/crystal manufacturer for appropri-

         ate values of external components.

TABLE 5-2 REGISTERS ASSOCIATED WITH TIMER1 AS A TIMER/COUNTER

Address Name Bit 7 Bit 6 Bit 5               Bit 4           Bit 3  Bit 2  Bit 1            Bit 0  Value on         Value on
                                                                                                     POR,           all other
                                                                                                     BOR             resets

0Bh,8Bh  INTCON GIE PEIE T0IE                INTE            RBIE   T0IF   INTF             RBIF 0000 000x 0000 000u
0Ch
8Ch      PIR1     -- ADIF                --  --              SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000
0Eh
0Fh      PIE1     -- ADIE                --  --              SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000
10h
         TMR1L Holding register for the Least Significant Byte of the 16-bit TMR1 register         xxxx xxxx uuuu uuuu

         TMR1H Holding register for the Most Significant Byte of the 16-bit TMR1 register          xxxx xxxx uuuu uuuu

         T1CON --       -- T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uu uuuu

Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by the Timer1 module.

1999 Microchip Technology Inc.                    Preliminary                                    DS35008B-page 29
PIC16C62B/72A

NOTES:

DS35008B-page 30  Preliminary   1999 Microchip Technology Inc.
                                                                       PIC16C62B/72A

6.0 TIMER2 MODULE                                       Additional information on timer modules is available in
                                                        the PICmicroTM Mid-Range Reference Manual,
The Timer2 module timer has the following features:     (DS33023).

8-bit timer (TMR2 register)                           FIGURE 6-1: TIMER2 BLOCK DIAGRAM
   - Readable and writable
                                                        Sets flag      TMR2
8-bit period register (PR2)                           bit TMR2IF     output (1)
   - Readable and writable
                                                                       Reset                                                        Prescaler
Software programmable prescaler (1:1, 1:4, 1:16)                                  TMR2 reg                                      1:1, 1:4, 1:16 FOSC/4
Software programmable postscaler (1:1 to 1:16)
Interrupt on match (TMR2 = PR2)                       Postscaler                                                    Comparator              2
Timer2 can be used by SSP and CCP
                                                        1:1 to 1:16 EQ
Timer2 has a control register, shown in Register 6-1.
Timer2 can be shut off by clearing control bit TMR2ON               4                                                 PR2 reg
(T2CON<2>) to minimize power consumption.
                                                        Note 1: TMR2 register output can be software selected
Figure 6-1 is a simplified block diagram of the Timer2               by the SSP Module as a baud clock.
module.

REGISTER 6-1:T2CON: TIMER2 CONTROL REGISTER (ADDRESS 12h)

    U-0      R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0                                                                R = Readable bit
     --   TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0                                                      W = Writable bit
bit7                                                                                                                  U = Unimplemented bit,
                                                                                                                bit0
bit 7:                                                                                                                        read as `0'
bit 6-3:  Unimplemented: Read as '0'                                                                                  - n = Value at POR reset

bit 2:    TOUTPS3:TOUTPS0: Timer2 Output Postscale Select bits
bit 1-0:  0000 = 1:1 Postscale
          0001 = 1:2 Postscale
          0010 = 1:3 Postscale
         
         
         
          1111 = 1:16 Postscale

          TMR2ON: Timer2 On bit
          1 = Timer2 is on
          0 = Timer2 is off

          T2CKPS1:T2CKPS0: Timer2 Clock Prescale Select bits
          00 = Prescaler is 1
          01 = Prescaler is 4
          1x = Prescaler is 16

1999 Microchip Technology Inc.  Preliminary                                                                                     DS35008B-page 31
PIC16C62B/72A

6.1 Timer2 Operation                                      6.2 Timer2 Interrupt

The Timer2 output is also used by the CCP module to       The Timer2 module has an 8-bit period register PR2.
generate the PWM "On-Time", and the PWM period            Timer2 increments from 00h until it matches PR2 and
with a match with PR2.                                    then resets to 00h on the next increment cycle. PR2 is
                                                          a readable and writable register. The PR2 register is ini-
The TMR2 register is readable and writable, and is        tialized to FFh upon reset.
cleared on any device reset.
                                                          6.3 Output of TMR2
The input clock (FOSC/4) has a prescale option of 1:1,
1:4 or 1:16, selected by control bits                     The output of TMR2 (before the postscaler) is fed to the
T2CKPS1:T2CKPS0 (T2CON<1:0>).                             Synchronous Serial Port module, which optionally uses
                                                          it to generate shift clock.
The match output of TMR2 goes through a 4-bit
postscaler (which gives a 1:1 to 1:16 scaling) to gener-
ate a TMR2 interrupt (latched in flag bit TMR2IF,
(PIR1<1>)).

The prescaler and postscaler counters are cleared
when any of the following occurs:

a write to the TMR2 register
a write to the T2CON register
any device reset (Power-on Reset, MCLR reset,

   Watchdog Timer reset or Brown-out Reset)

TMR2 is not cleared when T2CON is written.

TABLE 6-1 REGISTERS ASSOCIATED WITH TIMER2 AS A TIMER/COUNTER

Address  Name     Bit 7  Bit 6            Bit 5  Bit 4    Bit 3  Bit 2  Bit 1  Bit 0                                 Value on  Value on
                                                                                                                       POR,    all other
0Bh,8Bh                                                                                                                BOR      resets
0Ch
8Ch      INTCON GIE      PEIE             T0IE   INTE     RBIE   T0IF   INTF   RBIF 0000 000x 0000 000u
11h
12h      PIR1     --     ADIF             --     --       SSPIF CCP1IF TMR2IF TMR1IF -00- 0000 0000 0000
92h
Legend:  PIE1     --     ADIE             --     --       SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 0000 0000

         TMR2 Timer2 module's register                                                0000 0000 0000 0000

         T2CON    --     TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000

         PR2      Timer2 Period Register                                              1111 1111 1111 1111

         x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by the Timer2 module.

DS35008B-page 32                                 Preliminary                   1999 Microchip Technology Inc.
                                                                   PIC16C62B/72A

7.0 CAPTURE/COMPARE/PWM                                 Additional information on the CCP module is available
         (CCP) MODULE                                   in the PICmicroTM Mid-Range Reference Manual,
                                                        (DS33023).
The CCP (Capture/Compare/PWM) module contains a
16-bit register, which can operate as a 16-bit capture  TABLE 7-1    CCP MODE - TIMER
register, as a 16-bit compare register or as a PWM                   RESOURCE
master/slave duty cycle register. Table 7-1 shows the
timer resources of the CCP module modes.                CCP Mode                                        Timer Resource

Capture/Compare/PWM Register 1 (CCPR1) is com-            Capture                                             Timer1
prised of two 8-bit registers: CCPR1L (low byte) and     Compare                                              Timer1
CCPR1H (high byte). The CCP1CON register controls                                                             Timer2
the operation of CCP1. All are readable and writable.      PWM

TABLE 7-2 INTERACTION OF TWO CCP MODULES

CCPx Mode CCPy Mode                                     Interaction

Capture  Capture     Same TMR1 time-base.
Capture  Compare     The compare should be configured for the special event trigger, which clears TMR1.
Compare  Compare     The compare(s) should be configured for the special event trigger, which clears TMR1.
PWM      PWM         The PWMs will have the same frequency and update rate (TMR2 interrupt).
PWM      Capture     None.
PWM      Compare     None.

REGISTER 7-1:CCP1CON REGISTER (ADDRESS 17h)

U-0     U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0                                                        R = Readable bit
  --     -- CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0                                                     W = Writable bit
bit7                                                                                                    U = Unimplemented bit, read
                                                                                                  bit0
                                                                                                              as `0'
                                                                                                        - n =Value at POR reset

bit 7-6: Unimplemented: Read as '0'

bit 5-4: CCP1X:CCP1Y: PWM Least Significant bits
            Capture Mode: Unused
            Compare Mode: Unused
            PWM Mode: These bits are the two LSbs of the PWM duty cycle. The eight MSbs are found in CCPR1L.

bit 3-0: CCP1M3:CCP1M0: CCP1 Mode Select bits
            0000 = Capture/Compare/PWM off (resets CCP1 module)
            0100 = Capture mode, every falling edge
            0101 = Capture mode, every rising edge
            0110 = Capture mode, every 4th rising edge
            0111 = Capture mode, every 16th rising edge
            1000 = Compare mode, set output on match (CCP1IF bit is set)
            1001 = Compare mode, clear output on match (CCP1IF bit is set)
            1010 = Compare mode, generate software interrupt on match (CCP1IF bit is set, CCP1 pin is unaffected)
            1011 = Compare mode, trigger special event (CCP1IF bit is set; CCP1 resets TMR1 and starts an A/D
                       conversion (if A/D module is enabled))
            11xx = PWM mode

1999 Microchip Technology Inc.     Preliminary                                                        DS35008B-page 33
PIC16C62B/72A

7.1 Capture Mode                                          7.1.4 CCP PRESCALER

In Capture mode, CCPR1H:CCPR1L captures the               There are four prescaler settings, specified by bits
16-bit value of the TMR1 register, when an event          CCP1M3:CCP1M0. Whenever the CCP module is
occurs on pin RC2/CCP1. An event is defined as:           turned off, or the CCP module is not in capture mode,
                                                          the prescaler counter is cleared. This means that any
every falling edge                                      reset will clear the prescaler counter.
every rising edge
every 4th rising edge                                   Switching from one capture prescaler to another may
every 16th rising edge                                  generate an interrupt. Also, the prescaler counter will
                                                          not be cleared, therefore the first capture may be from
An event is selected by control bits CCP1M3:CCP1M0        a non-zero prescaler. Example 7-1 shows the recom-
(CCP1CON<3:0>). When a capture is made, the inter-        mended method for switching between capture pres-
rupt request flag bit ,CCP1IF (PIR1<2>), is set. It must  calers. This example also clears the prescaler counter
be cleared in software. If another capture occurs before  and will not generate the "false" interrupt.
the value in register CCPR1 is read, the old captured
value will be lost.                                       EXAMPLE 7-1: CHANGING BETWEEN

                                                                         CAPTURE PRESCALERS

FIGURE 7-1: CAPTURE MODE OPERATION                        CLRF CCP1CON   ;Turn CCP module off
                     BLOCK DIAGRAM
                                                          MOVLW NEW_CAPT_PS ;Load the W reg with

                                                                         ; the new prescaler

                       Set flag bit CCP1IF                               ; mode value and CCP ON

          Prescaler    (PIR1<2>)                          MOVWF CCP1CON  ;Load CCP1CON with this

          1, 4, 16                                                     ; value

RC2/CCP1                          CCPR1H    CCPR1L
Pin                                         TMR1L

              and              Capture
          edge detect          Enable

                                  TMR1H

                 CCP1CON<3:0>
          Q's

7.1.1 CCP PIN CONFIGURATION

In Capture mode, the RC2/CCP1 pin should be config-
ured as an input by setting the TRISC<2> bit.

Note:     If the RC2/CCP1 is configured as an out-
          put, a write to the port can cause a capture
          condition.

7.1.2 TIMER1 MODE SELECTION

Timer1 must be running in timer mode or synchronized
counter mode for the CCP module to use the capture
feature. In asynchronous counter mode, the capture
operation may not work consistently.

7.1.3 SOFTWARE INTERRUPT

When the Capture mode is changed, a false capture
interrupt may be generated. The user should clear
CCP1IE (PIE1<2>) before changing the capture mode
to avoid false interrupts. Clear the interrupt flag bit,
CCP1IE before setting CCP1IE.

DS35008B-page 34                            Preliminary                   1999 Microchip Technology Inc.
                                                                                    PIC16C62B/72A

7.2 Compare Mode                                                    7.2.1 CCP PIN CONFIGURATION

In Compare mode, the 16-bit CCPR1 register value is                 The user must configure the RC2/CCP1 pin as an out-
constantly compared against the TMR1 register pair                  put by clearing the TRISC<2> bit.
value. When a match occurs, the RC2/CCP1 pin is:
                                                                           Note:    Clearing the CCP1CON register will force
driven High                                                                       the RC2/CCP1 compare output latch to the
driven Low                                                                        default low level. This is not the data latch.
remains Unchanged
                                                                    7.2.2 TIMER1 MODE SELECTION
The action on the pin is based on the value of control
bits CCP1M3:CCP1M0 (CCP1CON<3:0>). The inter-                       Timer1 must be running in Timer mode or Synchro-
rupt flag bit, CCP1IF, is set on all compare matches.               nized Counter mode if the CCP module is using the
                                                                    compare feature. In Asynchronous Counter mode, the
FIGURE 7-2:                COMPARE MODE                             compare operation may not work.
                           OPERATION BLOCK
                           DIAGRAM                                  7.2.3 SOFTWARE INTERRUPT MODE

Special event trigger will:                                         When a generated software interrupt is chosen, the
reset Timer1, but not set interrupt flag bit TMR1IF (PIR1<0>),      CCP1 pin is not affected. Only a CCP interrupt is gen-
and set bit GO/DONE (ADCON0<2>), which starts an A/D                erated (if enabled).
conversion
                                                                    7.2.4 SPECIAL EVENT TRIGGER

                           Special Event Trigger                    In this mode, an internal hardware trigger is generated,
                                                                    which may be used to initiate an action.
                           Set flag bit CCP1IF
                           (PIR1<2>)                                The special event trigger output of CCP1 resets the
                                                                    TMR1 register pair. This allows the CCPR1 register to
                                             CCPR1H CCPR1L          effectively be a 16-bit programmable period register for
                                                                    Timer1.
                        Q  S Output      match      Comparator
                                  Logic           TMR1H TMR1L       The special trigger output of CCP1 resets the TMR1
RC2/CCP1                                                            register pair and starts an A/D conversion (if the A/D
Pin                        R                                        module is enabled).

          TRISC<2>         CCP1CON<3:0>
        Output Enable      Mode Select

TABLE 7-3 REGISTERS ASSOCIATED WITH CAPTURE, COMPARE, AND TIMER1

Address Name               Bit 7 Bit 6 Bit 5      Bit 4             Bit 3    Bit 2  Bit 1  Bit 0  Value on  Value on
                                                                                                    POR,    all other
                                                                                                    BOR      resets

0Bh,8Bh INTCON             GIE PEIE T0IE          INTE              RBIE     T0IF INTF RBIF 0000 000x 0000 000u

0Ch  PIR1                  -- ADIF --                           --  SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

8Ch  PIE1                  -- ADIE --                           --  SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

87h  TRISC PORTC Data Direction Register                                                          1111 1111 1111 1111

0Eh  TMR1L Holding register for the Least Significant Byte of the 16-bit TMR1 register            xxxx xxxx uuuu uuuu

0Fh  TMR1H Holding register for the Most Significant Byte of the 16-bit TMR1register              xxxx xxxx uuuu uuuu

10h  T1CON                 --            -- T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uu uuuu

15h  CCPR1L Capture/Compare/PWM register1 (LSB)                                                   xxxx xxxx uuuu uuuu

16h  CCPR1H Capture/Compare/PWM register1 (MSB)                                                   xxxx xxxx uuuu uuuu

17h  CCP1CON --                          -- CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000

Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by Capture and Timer1.

1999 Microchip Technology Inc.                                Preliminary                       DS35008B-page 35
PIC16C62B/72A

7.3 PWM Mode                                                        7.3.1 PWM PERIOD

In Pulse Width Modulation (PWM) mode, the CCP1 pin                  The PWM period is specified by writing to the PR2 reg-
produces up to a 10-bit resolution PWM output. Since                ister. The PWM period can be calculated using the fol-
the CCP1 pin is multiplexed with the PORTC data latch,              lowing formula:
the TRISC<2> bit must be cleared to make the CCP1
pin an output.                                                           PWM period = [(PR2) + 1] 4 TOSC
                                                                                            (TMR2 prescale value)
Note:  Clearing the CCP1CON register will force
       the CCP1 PWM output latch to the default                     PWM frequency is defined as 1 / [PWM period].
       low level. This is not the PORTC I/O data
       latch.                                                       When TMR2 is equal to PR2, the following three events
                                                                    occur on the next increment cycle:
Figure 7-3 shows a simplified block diagram of the CCP
module in PWM mode.                                                 TMR2 is cleared
                                                                     The CCP1 pin is set (exception: if PWM duty
For a step by step procedure on how to set up the CCP
module for PWM operation, see Section 7.3.3.                           cycle = 0%, the CCP1 pin will not be set)
                                                                     The PWM duty cycle is latched from CCPR1L into

                                                                       CCPR1H

FIGURE 7-3: SIMPLIFIED PWM BLOCK                                    Note:   The Timer2 postscaler (see Section 6.0) is
                     DIAGRAM                                                not used in the determination of the PWM
                                                                            frequency. The postscaler could be used to
    Duty Cycle Registers  CCP1CON<5:4>                                      have a servo update rate at a different fre-
CCPR1L                                                                      quency than the PWM output.

                                                                    7.3.2 PWM ON-TIME

                                                                    The PWM on-time is specified by writing to the

CCPR1H (Slave)                                                      CCPR1L register and to the CCP1CON<5:4> bits. Up

                                                                    to 10-bit resolution is available. CCPR1L contains eight

       Comparator                R  Q                               MSbs and CCP1CON<5:4> contains two LSbs. This
                                               RC2/CCP1
                                                                    10-bit  value         is             represented      by
                                      TRISC<2>
                (Note 1)                                            CCPR1L:CCP1CON<5:4>. The following equation is

TMR2                             S                                  used to calculate the PWM duty cycle in time:

Comparator         Clear Timer,                                     PWM on-time = (CCPR1L:CCP1CON<5:4>)
    PR2            CCP1 pin and                                                             Tosc (TMR2 prescale value)
                   latch D.C.
                                                                    CCPR1L and CCP1CON<5:4> can be written to at any
Note 1: 8-bit timer is concatenated with 2-bit internal Q clock    time, but the on-time value is not latched into CCPR1H
            or 2 bits of the prescaler to create 10-bit time-base.  until after a match between PR2 and TMR2 occurs (i.e.,
                                                                    the period is complete). In PWM mode, CCPR1H is a
A PWM output (Figure 7-4) has a time base (period)                  read-only register.
and a time that the output stays high (on-time). The fre-
quency of the PWM is the inverse of the period                      The CCPR1H register and a 2-bit internal latch are
(1/period).                                                         used to double buffer the PWM on-time. This double
                                                                    buffering is essential for glitchless PWM operation.
FIGURE 7-4: PWM OUTPUT
                                                                    When the CCPR1H and 2-bit latch match TMR2 con-
                                                                    catenated with an internal 2-bit Q clock or 2 bits of the
                                                                    TMR2 prescaler, the CCP1 pin is cleared.

                Period                                              Maximum PWM resolution (bits) for a given PWM
                                                                    frequency:

                                                                                          log (  Fosc    )
                                                                                                 Fpwm

                                                                            Resolution =                    bits

       On-Time                                                                                   log(2)
                              TMR2 = PR2
                                                                    Note:   If the PWM on-time value is larger than the
                    TMR2 = Duty Cycle                                       PWM period, the CCP1 pin will not be
TMR2 = PR2                                                                  cleared.

                                                                    For an example PWM period and on-time calculation,
                                                                    see the PICmicroTM Mid-Range Reference Manual,
                                                                    (DS33023).

DS35008B-page 36                          Preliminary                                     1999 Microchip Technology Inc.
                                                                        PIC16C62B/72A

7.3.3 SET-UP FOR PWM OPERATION

The following steps should be taken when configuring
the CCP module for PWM operation:

1. Set the PWM period by writing to the PR2 regis-
      ter.

2. Set the PWM on-time by writing to the CCPR1L
      register and CCP1CON<5:4> bits.

3. Make the CCP1 pin an output by clearing the
      TRISC<2> bit.

4. Set the TMR2 prescale value and enable Timer2
      by writing to T2CON.

5. Configure the CCP1 module for PWM operation.

TABLE 7-4 EXAMPLE PWM FREQUENCIES AND RESOLUTIONS AT 20 MHz

                 PWM Frequency                1.22 kHz 4.88 kHz 19.53 kHz 78.12 kHz 156.3 kHz 208.3 kHz
Timer Prescaler (1, 4, 16)
PR2 Value                                         16         4      1      1             1                         1
Maximum Resolution (bits)                        0xFF      0xFF   0xFF   0x3F          0x1F                      0x17
                                                                                                                  5.5
                                                  10        10     10      8             7

TABLE 7-5 REGISTERS ASSOCIATED WITH PWM AND TIMER2

Address Name    Bit 7             Bit 6   Bit 5  Bit 4     Bit 3  Bit 2  Bit 1  Bit 0  Value on                  Value on
                                                                                         POR,                    all other
                                                                                         BOR                      resets

0Bh,8Bh INTCON  GIE               PEIE    T0IE   INTE      RBIE   T0IF   INTF   RBIF 0000 000x 0000 000u

0Ch  PIR1       --                ADIF    --           --  SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

8Ch  PIE1       --                ADIE    --           --  SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

87h  TRISC      PORTC Data Direction Register                                          1111 1111 1111 1111

11h  TMR2       Timer2 module's register                                               0000 0000 0000 0000

92h  PR2        Timer2 module's period register                                        1111 1111 1111 1111

12h  T2CON      -- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000

15h  CCPR1L Capture/Compare/PWM register1 (LSB)                                        xxxx xxxx uuuu uuuu

16h  CCPR1H Capture/Compare/PWM register1 (MSB)                                        xxxx xxxx uuuu uuuu

17h  CCP1CON --                   --     CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000

Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by PWM and Timer2.

1999 Microchip Technology Inc.                 Preliminary                           DS35008B-page 37
PIC16C62B/72A

NOTES:

DS35008B-page 38  Preliminary   1999 Microchip Technology Inc.
                                                                     PIC16C62B/72A

8.0 SYNCHRONOUS SERIAL PORT                             ister, and then set bit SSPEN. This configures the SDI,
         (SSP) MODULE                                   SDO, SCK and SS pins as serial port pins. For the pins
                                                        to behave as the serial port function, they must have
8.1 SSP Module Overview                                 their data direction bits (in the TRISC register) appro-
                                                        priately programmed. That is:
The Synchronous Serial Port (SSP) module is a serial
interface useful for communicating with other periph-    SDI must have TRISC<4> set
eral or microcontroller devices. These peripheral       SDO must have TRISC<5> cleared
devices may be Serial EEPROMs, shift registers, dis-    SCK (master operation) must have TRISC<3>
play drivers, A/D converters, etc. The SSP module can
operate in one of two modes:                               cleared
                                                         SCK (Slave mode) must have TRISC<3> set
Serial Peripheral Interface (SPI)                      SS must have TRISA<5> set (if used)
Inter-Integrated Circuit (I2C)
                                                        Note:     When the SPI is in Slave Mode with SS pin
For more information on SSP operation (including an     Note:     control enabled, (SSPCON<3:0> = 0100)
I2C Overview), refer to the PICmicroTM Mid-Range Ref-             the SPI module will reset if the SS pin is set
erence Manual, (DS33023). Also, refer to Application              to VDD.
Note AN578, "Use of the SSP Module in the I 2C Multi-
Master Environment."                                              If the SPI is used in Slave Mode with
                                                                  CKE = '1', then the SS pin control must be
8.2 SPI Mode                                                      enabled.

This section contains register definitions and opera-   FIGURE 8-1: SSP BLOCK DIAGRAM
tional characteristics of the SPI module.                                    (SPI MODE)

Additional information on SPI operation may be found                                             Internal
in the PICmicroTM Mid-Range Reference Manual,                                                   Data Bus
(DS33023).
                                                                     Read              Write
8.2.1 OPERATION OF SSP MODULE IN SPI
            MODE                                                           SSPBUF reg

A block diagram of the SSP Module in SPI Mode is        RC4/SDI/SDA         SSPSR reg           Shift
shown in Figure 8-1.                                    RC5/SDO      bit0                       Clock

The SPI mode allows 8-bits of data to be synchro-       RA5/SS/AN4   SS Control
nously transmitted and received simultaneously. To                        Enable
accomplish communication, three pins are used:
                                                                        Edge
Serial Data Out (SDO)RC5/SDO                                          Select
Serial Data In (SDI)RC4/SDI/SDA
Serial Clock (SCK)RC3/SCK/SCL                                                          2
                                                                                  Clock Select
Additionally, a fourth pin may be used when in a slave
mode of operation:                                                   SSPM3:SSPM0          TMR2 output
                                                                                   4              2
Slave Select (SS)RA5/SS/AN4
                                                                      Edge             Prescaler TCY
When initializing the SPI, several options need to be                Select            4, 16, 64
specified. This is done by programming the appropriate
control bits in the SSPCON register (SSPCON<5:0>)       RC3/SCK/
and SSPSTAT<7:6>. These control bits allow the fol-     SCL
lowing to be specified:
                                                                     TRISC<3>
Master Operation (SCK is the clock output)
Slave Mode (SCK is the clock input)
Clock Polarity (Idle state of SCK)
Clock Edge (Output data on rising/falling edge of

   SCK)
Clock Rate (master operation only)
Slave Select Mode (Slave mode only)

To enable the serial port, SSP Enable bit, SSPEN
(SSPCON<5>) must be set. To reset or reconfigure SPI
mode, clear bit SSPEN, re-initialize the SSPCON reg-

1999 Microchip Technology Inc.  Preliminary                                          DS35008B-page 39
PIC16C62B/72A

TABLE 8-1 REGISTERS ASSOCIATED WITH SPI OPERATION

Address Name      Bit 7  Bit 6 Bit 5 Bit 4 Bit 3  Bit 2               Bit 1  Bit 0  Value on  Value on
                                                                                      POR,    all other
                                                                                      BOR      resets

0Bh,8Bh INTCON    GIE    PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u

0Ch  PIR1         --     ADIF  --         -- SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

8Ch  PIE1         --     ADIE  --         -- SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

13h  SSPBUF Synchronous Serial Port Receive Buffer/Transmit Register                xxxx xxxx uuuu uuuu

14h  SSPCON WCOL         SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 0000 0000

94h  SSPSTAT SMP         CKE D/A          P  S    R/W                 UA     BF 0000 0000 0000 0000

85h  TRISA        --     -- PORTA Data Direction Register                           --11 1111 --11 1111

87h  TRISC PORTC Data Direction Register                                            1111 1111 1111 1111

Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used by the SSP in SPI mode.

DS35008B-page 40                   Preliminary                               1999 Microchip Technology Inc.
8.3 SSP I2C Operation                                            PIC16C62B/72A

The SSP module in I2C mode fully implements all slave     The SSPCON register allows control of the I2C opera-
functions, except general call support, and provides      tion. Four mode selection bits (SSPCON<3:0>) allow
interrupts on start and stop bits in hardware to support  one of the following I2C modes to be selected:
firmware implementations of the master functions. The      I2C Slave mode (7-bit address)
SSP module implements the standard mode specifica-         I2C Slave mode (10-bit address)
tions, as well as 7-bit and 10-bit addressing.             I2C Slave mode (7-bit address), with start and

Two pins are used for data transfer. These are the           stop bit interrupts enabled for firmware master
RC3/SCK/SCL pin, which is the clock (SCL), and the           mode support
RC4/SDI/SDA pin, which is the data (SDA). The user         I2C Slave mode (10-bit address), with start and
must configure these pins as inputs or outputs through       stop bit interrupts enabled for firmware master
the TRISC<4:3> bits.                                         mode support
                                                          I2C start and stop bit interrupts enabled for firm-
The SSP module functions are enabled by setting SSP          ware master mode support, slave mode idle
Enable bit SSPEN (SSPCON<5>).                             Selection of any I2C mode, with the SSPEN bit set,
                                                          forces the SCL and SDA pins to be operated as open
FIGURE 8-2: SSP BLOCK DIAGRAM                             drain outputs, provided these pins are programmed to
                     (I2C MODE)                           inputs by setting the appropriate TRISC bits.
                                                          Additional information on SSP I2C operation may be
             Read                         Internal        found in the PICmicroTM Mid-Range Reference Manual,
                                         Data Bus         (DS33023).

                                     Write                8.3.1 SLAVE MODE

RC3/SCK/SCL         SSPBUF reg                            In slave mode, the SCL and SDA pins must be config-
                                                          ured as inputs (TRISC<4:3> set). The SSP module will
             shift                                        override the input state with the output data when
             clock                                        required (slave-transmitter).

                    SSPSR reg                             When an address is matched or the data transfer after
                                                          an address match is received, the hardware automati-
RC4/         MSb                  LSb                     cally will generate the acknowledge (ACK) pulse, and
SDI/                                                      load the SSPBUF register with the received value in the
                                                          SSPSR register.
SDA
                                                          There are certain conditions that will cause the SSP
                    Match detect       Addr Match         module not to give this ACK pulse. This happens if
                                                          either of the following conditions occur:
                    SSPADD reg
                                                          a) The buffer full bit BF (SSPSTAT<0>) was set
                       Start and          Set, Reset            before the transfer was completed.
                    Stop bit detect       S, P bits
                                       (SSPSTAT reg)      b) The overflow bit SSPOV (SSPCON<6>) was set
                                                                before the transfer was completed.
The SSP module has five registers for I2C operation.
These are the:                                            In this case, the SSPSR register value is not loaded
                                                          into the SSPBUF, but bit SSPIF (PIR1<3>) is set.
SSP Control Register (SSPCON)                           Table 8-2 shows what happens when a data transfer
SSP Status Register (SSPSTAT)                           byte is received, given the status of bits BF and SSPOV.
Serial Receive/Transmit Buffer (SSPBUF)                 The shaded cells show the condition where user soft-
SSP Shift Register (SSPSR) - Not accessible             ware did not properly clear the overflow condition. Flag
SSP Address Register (SSPADD)                           bit BF is cleared by reading the SSPBUF register, while
                                                          bit SSPOV is cleared through software.

                                                          The SCL clock input must have a minimum high and
                                                          low for proper operation. The high and low times of the
                                                          I2C specification, as well as the requirement of the SSP
                                                          module, is shown in timing parameter #100, THIGH, and
                                                          parameter #101, TLOW.

1999 Microchip Technology Inc.                    Preliminary  DS35008B-page 41
PIC16C62B/72A

8.3.1.1 ADDRESSING                                            `1111 0 A9 A8 0', where A9 and A8 are the two MSbs
                                                              of the address. The sequence of events for 10-bit
Once the SSP module has been enabled, it waits for a          address is as follows, with steps 7- 9 for slave-transmit-
START condition to occur. Following the START condi-          ter:
tion, 8 bits are shifted into the SSPSR register. All
incoming bits are sampled with the rising edge of the         1. Receive first (high) byte of Address (bits SSPIF,
clock (SCL) line. The value of register SSPSR<7:1> is               BF, and bit UA (SSPSTAT<1>) are set).
compared to the value of the SSPADD register. The
address is compared on the falling edge of the eighth         2. Update the SSPADD register with second (low)
clock (SCL) pulse. If the addresses match and the BF                byte of Address (clears bit UA and releases the
and SSPOV bits are clear, the following events occur:               SCL line).

a) The SSPSR register value is loaded into the                3. Read the SSPBUF register (clears bit BF) and
      SSPBUF register.                                              clear flag bit SSPIF.

b) The buffer full bit, BF is set.                            4. Receive second (low) byte of Address (bits
                                                                    SSPIF, BF, and UA are set).
c) An ACK pulse is generated.
                                                              5. Update the SSPADD register with the first (high)
d) SSP interrupt flag bit, SSPIF (PIR1<3>), is set                  byte of Address, if match releases SCL line, this
      (interrupt is generated if enabled) on the falling            will clear bit UA.
      edge of the ninth SCL pulse.
                                                              6. Read the SSPBUF register (clears bit BF) and
In 10-bit address mode, two address bytes need to be                clear flag bit SSPIF.
received by the slave. The five Most Significant bits
(MSbs) of the first address byte specify if this is a 10-bit  7. Receive repeated START condition.
address. Bit R/W (SSPSTAT<2>) must specify a write
so the slave device will receive the second address           8. Receive first (high) byte of Address (bits SSPIF
byte. For a 10-bit address, the first byte would equal              and BF are set).

                                                              9. Read the SSPBUF register (clears bit BF) and
                                                                    clear flag bit SSPIF.

TABLE 8-2 DATA TRANSFER RECEIVED BYTE ACTIONS

Status Bits as Data                                                               Set bit SSPIF
Transfer is Received                                                        (SSP Interrupt occurs

BF  SSPOV             SSPSR  SSPBUF                           Generate ACK         if enabled)
                                                                    Pulse

0                 0   Yes                                     Yes                                              Yes

1                 0   No                                      No                                               Yes

1                 1   No                                      No                                               Yes

0                 1   Yes                                     No                                               Yes

Note: Shaded cells show the conditions where the user software did not properly clear the overflow condition.

DS35008B-page 42           Preliminary                                       1999 Microchip Technology Inc.
                                                                         PIC16C62B/72A

8.3.1.2 RECEPTION                                          When the address byte overflow condition exists, then
                                                           no acknowledge (ACK) pulse is given. An overflow con-
When the R/W bit of the address byte is clear and an       dition is defined as either bit BF (SSPSTAT<0>) is set
address match occurs, the R/W bit of the SSPSTAT reg-      or bit SSPOV (SSPCON<6>) is set.
ister is cleared. The received address is loaded into the
SSPBUF register.                                           An SSP interrupt is generated for each data transfer
                                                           byte. Flag bit SSPIF (PIR1<3>) must be cleared in soft-
                                                           ware. The SSPSTAT register is used to determine the
                                                           status of the byte.

FIGURE 8-3: I2C WAVEFORMS FOR RECEPTION (7-BIT ADDRESS)

                 Receiving Address R/W=0  Receiving Data            ACK  Receiving Data                                               ACK

SDA  A7 A6 A5 A4 A3 A2 A1         ACK D7 D6 D5 D4 D3 D2 D1 D0            D7 D6 D5 D4 D3 D2 D1 D0

SCL S 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9                                                                                P

SSPIF (PIR1<3>)                                Cleared in software                                                                         Bus Master
BF (SSPSTAT<0>)                           SSPBUF register is read                                                                          terminates
                                                                                                                                           transfer

SSPOV (SSPCON<6>)

                                                           Bit SSPOV is set because the SSPBUF register is still full.
                                                                                                                    ACK is not sent.

1999 Microchip Technology Inc.          Preliminary                                    DS35008B-page 43
PIC16C62B/72A

8.3.1.3 TRANSMISSION                                      shifted out on the falling edge of the SCL input. This
                                                          ensures that the SDA signal is valid during the SCL
When the R/W bit of the incoming address byte is set      high time (Figure 8-4).
and an address match occurs, the R/W bit of the
SSPSTAT register is set. The received address is          An SSP interrupt is generated for each data transfer
loaded into the SSPBUF register. The ACK pulse will       byte. Flag bit SSPIF must be cleared in software, and
be sent on the ninth bit and the CKP will be cleared by   the SSPSTAT register used to determine the status of
hardware, holding SCL low. Slave devices cause the        the byte. Flag bit SSPIF is set on the falling edge of the
master to wait by holding the SCL line low. The transmit  ninth clock pulse.
data is loaded into the SSPBUF register, which in turn
loads the SSPSR register. When bit CKP (SSP-              As a slave-transmitter, the ACK pulse from the master-
CON<4>) is set, pin RC3/SCK/SCL releases SCL.             receiver is latched on the rising edge of the ninth SCL
When the SCL line goes high, the master may resume        input pulse. If the SDA line was high (not ACK), then the
operating the SCL line and receiving data. The master     data transfer is complete. When the ACK is latched by
must monitor the SCL pin prior to asserting another       the slave, the slave logic is reset (resets SSPSTAT reg-
clock pulse. The slave devices may be holding off the     ister) and the slave then monitors for another occur-
master by stretching the clock. The eight data bits are   rence of the START bit. If the SDA line was low (ACK),
                                                          the transmit data must be loaded into the SSPBUF reg-
                                                          ister, which also loads the SSPSR register. Then pin
                                                          RC3/SCK/SCL should be enabled by setting bit CKP.

FIGURE 8-4: I2C WAVEFORMS FOR TRANSMISSION (7-BIT ADDRESS)

                          Receiving Address  R/W = 1                         Transmitting Data                ACK

SDA              A7 A6 A5 A4 A3 A2 A1        ACK                        D7 D6 D5 D4 D3 D2 D1 D0

SCL              1 23456789                                             1 2 34 56 789                                                  P
              S
                 Data in                                  SCL held low

                 sampled                                     while CPU
                                                          responds to SSPIF

SSPIF (PIR1<3>)                                                              cleared in software

BF (SSPSTAT<0>)

                                                                                                                   From SSP interrupt
                                                                        SSPBUF is written in software service routine

CKP (SSPCON<4>)

                                                                             Set bit after writing to SSPBUF
                                                                             (the SSPBUF must be written-to

                                                                             before the CKP bit can be set)

DS35008B-page 44                             Preliminary                      1999 Microchip Technology Inc.
                                                                              PIC16C62B/72A

8.3.2 MASTER OPERATION                                       8.3.3 MULTI-MASTER OPERATION

Master operation is supported in firmware using inter-       In multi-master operation, the interrupt generation on
rupt generation on the detection of the START and            the detection of the START and STOP conditions
STOP conditions. The STOP (P) and START (S) bits             allows the determination of when the bus is free. The
are cleared by a reset or when the SSP module is dis-        STOP (P) and START (S) bits are cleared from a reset
abled. The STOP (P) and START (S) bits will toggle           or when the SSP module is disabled. The STOP (P)
based on the START and STOP conditions. Control of           and START (S) bits will toggle based on the START and
the I2C bus may be taken when the P bit is set, or the       STOP conditions. Control of the I2C bus may be taken
bus is idle and both the S and P bits are clear.             when bit P (SSPSTAT<4>) is set, or the bus is idle and
                                                             both the S and P bits clear. When the bus is busy,
In master operation, the SCL and SDA lines are manip-        enabling the SSP Interrupt will generate the interrupt
ulated in software by clearing the corresponding             when the STOP condition occurs.
TRISC<4:3> bit(s). The output level is always low, irre-
spective of the value(s) in PORTC<4:3>. So when              In multi-master operation, the SDA line must be moni-
transmitting data, a '1' data bit must have the              tored to see if the signal level is the expected output
TRISC<4> bit set (input) and a '0' data bit must have        level. This check only needs to be done when a high
the TRISC<4> bit cleared (output). The same scenario         level is output. If a high level is expected and a low level
is true for the SCL line with the TRISC<3> bit.              is present, the device needs to release the SDA and
                                                             SCL lines (set TRISC<4:3>). There are two stages
The following events will cause SSP Interrupt Flag bit,      where this arbitration can be lost, these are:
SSPIF, to be set (SSP Interrupt if enabled):
                                                             Address Transfer
START condition
                                                             Data Transfer
STOP condition
                                                             When the slave logic is enabled, the slave continues to
Byte transfer completed                                    receive. If arbitration was lost during the address trans-
                                                             fer stage, communication to the device may be in
Master operation can be done with either the slave           progress. If addressed, an ACK pulse will be gener-
mode idle (SSPM3:SSPM0 = 1011) or with the slave             ated. If arbitration was lost during the data transfer
active. When both master operation and slave modes           stage, the device will need to re-transfer the data at a
are used, the software needs to differentiate the            later time.
source(s) of the interrupt.
                                                             For more information on master operation, see AN578
For more information on master operation, see AN554          - Use of the SSP Module in the of I2C Multi-Master
- Software Implementation of I2C Bus Master.                 Environment.

TABLE 8-3 REGISTERS ASSOCIATED WITH I2C OPERATION

Address Name     Bit 7            Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0       Value on  Value on
                                                                                    POR,    all other
                                                                                    BOR      resets

0Bh, 8Bh INTCON  GIE              PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u

0Ch  PIR1        --               ADIF  --  -- SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

8Ch  PIE1        --               ADIE  --  -- SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

13h  SSPBUF Synchronous Serial Port Receive Buffer/Transmit Register              xxxx xxxx uuuu uuuu

93h  SSPADD Synchronous Serial Port (I2C mode) Address Register                   0000 0000 0000 0000

14h  SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000 0000 0000

94h  SSPSTAT SMP(1) CKE(1) D/A              P             S  R/W              UA  BF 0000 0000 0000 0000

87h  TRISC PORTC Data Direction register                                          1111 1111 1111 1111

Legend: x = unknown, u = unchanged, - = unimplemented locations read as '0'.
             Shaded cells are not used by SSP module in SPI mode.

Note 1: Maintain these bits clear in I2C mode.

1999 Microchip Technology Inc.            Preliminary                           DS35008B-page 45
PIC16C62B/72A

REGISTER 8-1: SSPSTAT: SYNC SERIAL PORT STATUS REGISTER (ADDRESS 94h)

R/W-0 R/W-0 R-0   R-0  R-0  R-0                    R-0        R-0

SMP CKE D/A       P    S    R/W                    UA         BF       R = Readable bit
                                                                 bit0  W = Writable bit
bit7                                                                   U = Unimplemented bit, read

                                                                             as `0'
                                                                       - n =Value at POR reset

bit 7:  SMP: SPI data input sample phase
        SPI Master Operation
        1 = Input data sampled at end of data output time
        0 = Input data sampled at middle of data output time
        SPI Slave Mode
        SMP must be cleared when SPI is used in slave mode
        I2C Mode
        This bit must be maintained clear

bit 6:  CKE: SPI Clock Edge Select
        SPI Mode
bit 5:  CKP = 0
bit 4:  1 = Data transmitted on rising edge of SCK
bit 3:  0 = Data transmitted on falling edge of SCK
bit 2:  CKP = 1
bit 1:  1 = Data transmitted on falling edge of SCK
        0 = Data transmitted on rising edge of SCK
        I2C Mode
        This bit must be maintained clear

        D/A: Data/Address bit (I2C mode only)
        1 = Indicates that the last byte received or transmitted was data
        0 = Indicates that the last byte received or transmitted was address

        P: Stop bit (I2C mode only. This bit is cleared when the SSP module is disabled, or when the Start bit is
        detected last, SSPEN is cleared)
        1 = Indicates that a stop bit has been detected last (this bit is '0' on RESET)
        0 = Stop bit was not detected last

        S: Start bit (I2C mode only. This bit is cleared when the SSP module is disabled, or when the Stop bit is
        detected last, SSPEN is cleared)
        1 = Indicates that a start bit has been detected last (this bit is '0' on RESET)
        0 = Start bit was not detected last

        R/W: Read/Write bit information (I2C mode only)
        This bit holds the R/W bit information following the last address match. This bit is only valid from the
        address match to the next start bit, stop bit, or ACK bit.
        1 = Read
        0 = Write

        UA: Update Address (10-bit I2C mode only)
        1 = Indicates that the user needs to update the address in the SSPADD register
        0 = Address does not need to be updated

bit 0:  BF: Buffer Full Status bit

        Receive (SPI and I2C modes)
        1 = Receive complete, SSPBUF is full
        0 = Receive not complete, SSPBUF is empty

        Transmit (I2C mode only)
        1 = Transmit in progress, SSPBUF is full
        0 = Transmit complete, SSPBUF is empty

DS35008B-page 46            Preliminary                                 1999 Microchip Technology Inc.
                                                               PIC16C62B/72A

REGISTER 8-2: SSPCON: SYNC SERIAL PORT CONTROL REGISTER (ADDRESS 14h)

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

WCOL SSPOV SSPEN                 CKP  SSPM3 SSPM2 SSPM1 SSPM0                             R = Readable bit
bit7                                                                                 bit0  W = Writable bit
                                                                                           U = Unimplemented bit, read

                                                                                                 as `0'
                                                                                           - n =Value at POR reset

bit 7:  WCOL: Write Collision Detect bit
        1 = The SSPBUF register is written while it is still transmitting the previous word
        (must be cleared in software)
        0 = No collision

bit 6: SSPOV: Receive Overflow Indicator bit

        In SPI mode
        1 = A new byte is received while the SSPBUF register is still holding the previous data. In case of overflow,
        the data in SSPSR is lost. Overflow can only occur in slave mode. The user must read the SSPBUF, even
        if only transmitting data, to avoid setting overflow. In master operation, the overflow bit is not set since
        each new reception (and transmission) is initiated by writing to the SSPBUF register.
        0 = No overflow

        In I2C mode
        1 = A byte is received while the SSPBUF register is still holding the previous byte. SSPOV is a "don't care"
        in transmit mode. SSPOV must be cleared in software in either mode.
        0 = No overflow

bit 5: SSPEN: Synchronous Serial Port Enable bit

        In SPI mode
        1 = Enables serial port and configures SCK, SDO, and SDI as serial port pins
        0 = Disables serial port and configures these pins as I/O port pins

        In I2C mode
        1 = Enables the serial port and configures the SDA and SCL pins as serial port pins
        0 = Disables serial port and configures these pins as I/O port pins
        In both modes, when enabled, these pins must be properly configured as input or output.

bit 4:  CKP: Clock Polarity Select bit
        In SPI mode
        1 = Idle state for clock is a high level
        0 = Idle state for clock is a low level
        In I2C mode
        SCK release control
        1 = Enable clock
        0 = Holds clock low (clock stretch)

bit 3-0: SSPM3:SSPM0: Synchronous Serial Port Mode Select bits

            0000 = SPI master operation, clock = FOSC/4

            0001 = SPI master operation, clock = FOSC/16

            0010 = SPI master operation, clock = FOSC/64

            0011 = SPI master operation, clock = TMR2 output/2

            0100 = SPI slave mode, clock = SCK pin. SS pin control enabled.

            0101 = SPI slave mode, clock = SCK pin. SS pin control disabled. SS can be used as I/O pin
            0110 = I2C slave mode, 7-bit address
            0111 = I2C slave mode, 10-bit address
            1011 = I2C firmware controlled master operation (slave idle)
            1110 = I2C slave mode, 7-bit address with start and stop bit interrupts enabled
            1111 = I2C slave mode, 10-bit address with start and stop bit interrupts enabled

1999 Microchip Technology Inc.                  Preliminary                                DS35008B-page 47
PIC16C62B/72A

NOTES:

DS35008B-page 48  Preliminary   1999 Microchip Technology Inc.
                                                                        PIC16C62B/72A

9.0 ANALOG-TO-DIGITAL                                      Additional information on the A/D module is available in
         CONVERTER (A/D) MODULE                            the PICmicroTM Mid-Range Reference Manual,
                                                           (DS33023).
   Note: This section applies to the PIC16C72A
               only.                                       The A/D module has three registers. These registers
                                                           are:
The analog-to-digital (A/D) converter module has five
input channels.                                                   A/D Result Register (ADRES)
                                                                  A/D Control Register 0 (ADCON0)
The A/D allows conversion of an analog input signal to            A/D Control Register 1 (ADCON1)
a corresponding 8-bit digital number (refer to Applica-
tion Note AN546 for use of A/D Converter). The output      A device reset forces all registers to their reset state.
of the sample and hold is the input into the converter,    This forces the A/D module to be turned off, and any
which generates the result via successive approxima-       conversion is aborted.
tion. The analog reference voltage is software select-
able to either the device's positive supply voltage (VDD)  The ADCON0 register, shown in Figure 9-1, controls
or the voltage level on the RA3/AN3/VREF pin.              the operation of the A/D module. The ADCON1 regis-
                                                           ter, shown in Figure 9-2, configures the functions of the
The A/D converter has the feature of being able to         port pins. The port pins can be configured as analog
operate while the device is in SLEEP mode. To operate      inputs (RA3 can also be a voltage reference) or as dig-
in sleep, the A/D conversion clock must be derived from    ital I/O.
the A/D's internal RC oscillator.

REGISTER 9-1:ADCON0 REGISTER (ADDRESS 1Fh)

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0                                U-0  R/W-0
                                                                        ADON
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE --                                              R = Readable bit
                                                                             bit0  W = Writable bit
bit7                                                                               U = Unimplemented bit,

                                                                                         read as `0'
                                                                                   - n = Value at POR reset

bit 7-6:  ADCS1:ADCS0: A/D Conversion Clock Select bits
          00 = FOSC/2
          01 = FOSC/8
          10 = FOSC/32
          11 = FRC (clock derived from an internal RC oscillator)

bit 5-3: CHS2:CHS0: Analog Channel Select bits
            000 = channel 0, (RA0/AN0)
            001 = channel 1, (RA1/AN1)
            010 = channel 2, (RA2/AN2)
            011 = channel 3, (RA3/AN3)
            100 = channel 4, (RA5/AN4)

bit 2: GO/DONE: A/D Conversion Status bit

          If ADON = 1
          1 = A/D conversion in progress (setting this bit starts the A/D conversion)
          0 = A/D conversion not in progress (This bit is automatically cleared by hardware when the A/D
          conversion is complete)

bit 1: Unimplemented: Read as '0'

bit 0:    ADON: A/D On bit
          1 = A/D converter module is operating
          0 = A/D converter module is shutoff and consumes no operating current

1999 Microchip Technology Inc.           Preliminary                             DS35008B-page 49
PIC16C62B/72A

REGISTER 9-2:ADCON1 REGISTER (ADDRESS 9Fh)

U-0   U-0         U-0   U-0   U-0         R/W-0            R/W-0  R/W-0
                                                           PCFG1  PCFG0
--    --          --    --    --          PCFG2                               R = Readable bit
                                                                        bit0  W = Writable bit
bit7                                                                          U = Unimplemented bit,

                                                                                    read as `0'
                                                                              - n = Value at POR

                                                                                    reset

bit 7-3: Unimplemented: Read as '0'
bit 2-0: PCFG2:PCFG0: A/D Port Configuration Control bits

           PCFG2:PCFG0   RA0   RA1   RA2   RA5              RA3    VREF
                   000
                   001  A     A     A     A                A      VDD
                   010  A     A     A     A                VREF   RA3
                   011  A     A     A     A                A      VDD
                   100  A     A     A     A                VREF   RA3
                   101  A     A     D     D                A      VDD
                   11x  A     A     D     D                VREF   RA3
                        D     D     D     D                D      VDD
      A = Analog input
      D = Digital I/O

DS35008B-page 50                    Preliminary                           1999 Microchip Technology Inc.
                                                                             PIC16C62B/72A

When the A/D conversion is complete, the result is             1. Configure the A/D module:
loaded into the ADRES register, the GO/DONE bit,                      Configure analog pins / voltage reference /
ADCON0<2>, is cleared, and the A/D interrupt flag bit,                  and digital I/O (ADCON1)
ADIF, is set. The block diagram of the A/D module is                  Select A/D input channel (ADCON0)
shown in Figure 9-1.                                                 Select A/D conversion clock (ADCON0)
The value that is in the ADRES register is not modified               Turn on A/D module (ADCON0)
for a Power-on Reset. The ADRES register will contain
unknown data after a Power-on Reset.                           2. Configure A/D interrupt (if desired):
After the A/D module has been configured as desired,                  Clear ADIF bit
the selected channel must be acquired before the con-                Set ADIE bit
version is started. The analog input channels must                   Set GIE bit
have their corresponding TRIS bits selected as an
input. To determine acquisition time, see Section 9.1.         3. Wait the required acquisition time.
After this acquisition time has elapsed, the A/D conver-       4. Start conversion:
sion can be started. The following steps should be fol-
lowed for doing an A/D conversion:                                    Set GO/DONE bit (ADCON0)
                                                               5. Wait for A/D conversion to complete, by either:
FIGURE 9-1: A/D BLOCK DIAGRAM
                                                                      Polling for the GO/DONE bit to be cleared
                                                                     OR
                                                                      Waiting for the A/D interrupt
                                                               6. Read A/D Result register (ADRES), clear bit
                                                                     ADIF if required.
                                                               7. For next conversion, go to step 1 or step 2 as
                                                                     required. The A/D conversion time per bit is
                                                                     defined as TAD. A minimum wait of 2TAD is
                                                                     required before next acquisition starts.

                                                                              CHS2:CHS0

                                                                             100

                                              VIN                                                              RA5/AN4
                                                                                                               RA3/AN3/VREF
                                  (Input voltage)                            011                               RA2/AN2
                                                                                                               RA1/AN1
                                                                                                          010  RA0/AN0
    A/D
Converter

                                                                                                          001

                                                          VDD                000

                                      VREF                           000 or
                                                                     010 or
                                  (Reference                         100 or
                                   voltage)                          11x

                                                                     001 or
                                                                     011 or
                                                                     101

                                              PCFG2:PCFG0

1999 Microchip Technology Inc.                   Preliminary                                                 DS35008B-page 51
PIC16C62B/72A

9.1 A/D Acquisition Requirements                                     To calculate the minimum acquisition time, TACQ, see
                                                                     Equation 9-1. This equation calculates the acquisition
For the A/D converter to meet its specified accuracy,                time to within 1/2 LSb error (512 steps for the A/D). The
the charge holding capacitor (CHOLD) must be allowed                 1/2 LSb error is the maximum error allowed for the A/D
to fully charge to the input channel voltage level. The              to meet its specified accuracy.
analog input model is shown in Figure 9-2. The source
impedance (RS) and the internal sampling switch (RSS)                Note:      When the conversion is started, the hold-
impedance directly affect the time required to charge                           ing capacitor is disconnected from the
the capacitor CHOLD. The sampling switch (RSS)                                  input pin.
impedance varies over the device voltage (VDD). The
source impedance affects the offset voltage at the ana-              In general;
log input (due to pin leakage current). The maximum                  Assuming RS = 10k
recommended impedance for analog sources is 10
k. After the analog input channel is selected                                       Vdd = 3.0V (RSS = 10k)
(changed), this acquisition must pass before the con-                               Temp. = 50C (122F)
version can be started.                                              TACQ  13.0 Sec
                                                                     By increasing VDD and reducing RS and Temp., TACQ
                                                                     can be substantially reduced.

FIGURE 9-2: ANALOG INPUT MODEL

                      Rs ANx         VDD                                        Sampling
                                           VT = 0.6V                            Switch

                                                                     RIC  1k    SS RSS

                  VA           CPIN                                  I leakage              CHOLD
                                                                      500 nA               = DAC capacitance
                               5 pF                     VT = 0.6V                           = 51.2 pF

                                                                                          VSS

                  Legend CPIN  = input capacitance                                    6V
                                                                                      5V
                      VT       = threshold voltage                              VDD 4V

                      I leakage = leakage current at the pin due to                   3V
                                                                                      2V
                                     various junctions

                      RIC      = interconnect resistance                                  5 6 7 8 9 10 11
                      SS       = sampling switch                                                RSS
                      CHOLD    = sample/hold capacitance (from DAC)
                                                                                                (k)

EQUATION 9-1: ACQUISITION TIME

TACQ =  Amplifier Settling Time +
        Hold Capacitor Charging Time +
        Temperature Coefficient

= TAMP + TC + TCOFF

      TAMP = 5S
      TC = - (51.2pF)(1k + RSS + RS) In(1/511)
      TCOFF = (Temp -25C)(0.05S/C)

DS35008B-page 52                                        Preliminary                        1999 Microchip Technology Inc.
                                                                       PIC16C62B/72A

9.2 Selecting the A/D Conversion Clock                  9.3 Configuring Analog Port Pins

The A/D conversion time per bit is defined as TAD. The  The ADCON1 and TRISA registers control the opera-
A/D conversion requires 9.5TAD per 8-bit conversion.    tion of the A/D port pins. The port pins that are desired
The source of the A/D conversion clock is software      as analog inputs must have their corresponding TRIS
selectable. The four possible options for TAD are:      bits set (input). If the TRIS bit is cleared (output), the
                                                        digital output level (VOH or VOL) will be converted.
       2TOSC
       8TOSC                                           The A/D operation is independent of the state of the
       32TOSC                                          CHS2:CHS0 bits and the TRIS bits.
       Internal RC oscillator
                                                            Note 1: When reading the port register, all pins
For correct A/D conversions, the A/D conversion clock                   configured as analog input channels will
(TAD) must be selected to ensure a minimum TAD time                     read as cleared (a low level). Pins config-
of 1.6 s.                                                              ured as digital inputs, will convert an ana-
                                                                        log input. Analog levels on a digitally
The A/D module can operate during sleep mode, but                       configured input will not affect the conver-
the RC oscillator must be selected as the A/D clock                     sion accuracy.
source prior to the SLEEP instruction.
                                                            Note 2: Analog levels on any pin that is defined as
Table 9-1 shows the resultant TAD times derived from                    a digital input (including the AN4:AN0
the device operating frequencies and the A/D clock                      pins) may cause the input buffer to con-
source selected.                                                        sume current that is out of the devices
                                                                        specification.

TABLE 9-1 TAD vs. DEVICE OPERATING FREQUENCIES

       AD Clock Source (TAD)                            Device Frequency

Operation  ADCS1:ADCS0            20 MHz                5 MHz          1.25 MHz           333.33 kHz

2TOSC      00                     100 ns(2)             400 ns(2)      1.6 s             6 s

8TOSC      01                     400 ns(2)             1.6 s         6.4 s             24 s(3)

32TOSC     10                     1.6 s                6.4 s         25.6 s(3)         96 s(3)

RC(5)      11                     2 - 6 s(1,4)         2 - 6 s(1,4)  2 - 6 s(1,4)      2 - 6 s(1)

Legend: Shaded cells are outside of recommended range.

Note 1: The RC source has a typical TAD time of 4 s.

2: These values violate the minimum required TAD time.

3: For faster conversion times, the selection of another clock source is recommended.

4: When device frequency is greater than 1 MHz, the RC A/D conversion clock source is recommended for

        sleep operation only.

5: For extended voltage devices (LC), please refer to Electrical Specifications section.

1999 Microchip Technology Inc.  Preliminary                                             DS35008B-page 53
PIC16C62B/72A

9.4 A/D Conversions                                             GO/DONE bit will be set, starting the A/D conversion,
                                                                and the Timer1 counter will be reset to zero. Timer1 is
   Note: The GO/DONE bit should NOT be set in                   reset to automatically repeat the A/D acquisition period
               the same instruction that turns on the A/D.      with minimal software overhead. The appropriate ana-
                                                                log input channel must be selected and the minimum
9.5 Use of the CCP Trigger                                      acquisition time must pass before the "special event
                                                                trigger" sets the GO/DONE bit (starts a conversion).
An A/D conversion can be started by the "special event
trigger" of the CCP1 module. This requires that the             If the A/D module is not enabled (ADON is cleared),
CCP1M3:CCP1M0 bits (CCP1CON<3:0>) be pro-                       then the "special event trigger" will be ignored by the
grammed as 1011 and that the A/D module be enabled              A/D module, but will still reset the Timer1 counter.
(ADON bit is set). When the trigger occurs, the

TABLE 9-2 SUMMARY OF A/D REGISTERS

Address Name      Bit 7 Bit 6 Bit 5 Bit 4 Bit 3                 Bit 2  Bit 1  Bit 0  Value on                     Value on all
                                                                                       POR,                       other Resets
                                                                                       BOR

0Bh,8Bh INTCON GIE PEIE T0IE INTE RBIE                          T0IF   INTF RBIF 0000 000x 0000 000u

0Ch  PIR1         --  ADIF      --  -- SSPIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- 0000

8Ch  PIE1         --  ADIE      --  -- SSPIE CCP1IE TMR2IE TMR1IE -0-- 0000 -0-- 0000

1Eh  ADRES A/D Result Register                                                       xxxx xxxx uuuu uuuu

1Fh  ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE --                             ADON 0000 00-0 0000 00-0

9Fh  ADCON1 --        --        --  --                      --  PCFG2 PCFG1 PCFG0 ---- -000 ---- -000

05h  PORTA        --  --        RA5 RA4 RA3                     RA2    RA1    RA0 --0x 0000 --0u 0000

85h  TRISA        --  -- PORTA Data Direction Register                               --11 1111 --11 1111

Legend: x = unknown, u = unchanged, - = unimplemented read as '0'. Shaded cells are not used for A/D conversion.

DS35008B-page 54                    Preliminary                               1999 Microchip Technology Inc.
                                                                      PIC16C62B/72A

10.0 SPECIAL FEATURES OF THE                                   other is the Power-up Timer (PWRT), which provides a
         CPU                                                   fixed delay on power-up only and is designed to keep
                                                               the part in reset while the power supply stabilizes. With
The PIC16C62B/72A devices have a host of features              these two timers on-chip, most applications need no
intended to maximize system reliability, minimize cost         external reset circuitry.
through elimination of external components, provide
power saving operating modes and offer code protec-            SLEEP mode is designed to offer a very low current
tion. These are:                                               power-down mode. The user can wake-up from SLEEP
                                                               through external reset, Watchdog Timer Wake-up, or
Oscillator Mode Selection                                    through an interrupt. Several oscillator options are also
Reset                                                        made available to allow the part to fit the application.
                                                               The RC oscillator option saves system cost while the
   - Power-on Reset (POR)                                      LP crystal option saves power. A set of configuration
   - Power-up Timer (PWRT)                                     bits are used to select various options.
   - Oscillator Start-up Timer (OST)
   - Brown-out Reset (BOR)                                     Additional information on special features is available in
Interrupts                                                   the PICmicroTM Mid-Range Reference Manual,
Watchdog Timer (WDT)                                         (DS33023).
SLEEP
Code protection                                              10.1 Configuration Bits
ID locations
In-circuit serial programmingTM (ICSP)                       The configuration bits can be programmed (read as '0')
                                                               or left unprogrammed (read as '1') to select various
These devices have a Watchdog Timer, which can be              device configurations. These bits are mapped in pro-
shut off only through configuration bits. It runs off its      gram memory location 2007h.
own RC oscillator for added reliability. There are two
timers that offer necessary delays on power-up. One is         The user will note that address 2007h is beyond the
the Oscillator Start-up Timer (OST), intended to keep          user program memory space. In fact, it belongs to the
the chip in reset until the crystal oscillator is stable. The  special test/configuration memory space (2000h -
                                                               3FFFh), which can be accessed only during program-
FIGURE 10-1: CONFIGURATION WORD                                ming.

CP1 CP0 CP1 CP0 CP1 CP0 -- BODEN CP1 CP0 PWRTE                  WDTE  FOSC1 FOSC0              Register: CONFIG
                                                                                         bit0  Address: 2007h
bit13
           CP1:CP0: Code Protection bits (2)
bit 13-8   11 = Code protection off
     5-4:  10 = Upper half of program memory code protected
           01 = Upper 3/4th of program memory code protected
           00 = All memory is code protected

bit 7:     Unimplemented: Read as '1'
bit 6:
           BODEN: Brown-out Reset Enable bit (1)
bit 3:     1 = BOR enabled
           0 = BOR disabled

           PWRTE: Power-up Timer Enable bit (1)
           1 = PWRT disabled
           0 = PWRT enabled

bit 2:     WDTE: Watchdog Timer Enable bit
           1 = WDT enabled
           0 = WDT disabled

bit 1-0:   FOSC1:FOSC0: Oscillator Selection bits
           11 = RC oscillator
           10 = HS oscillator
           01 = XT oscillator
           00 = LP oscillator

Note 1: Enabling Brown-out Reset automatically enables Power-up Timer (PWRT), regardless of the value of bit PWRTE.
             All of the CP1:CP0 pairs must be given the same value to enable the code protection scheme listed.

1999 Microchip Technology Inc.                   Preliminary                                 DS35008B-page 55
PIC16C62B/72A

10.2 Oscillator Configurations                             TABLE 10-1 CERAMIC RESONATORS

10.2.1 OSCILLATOR TYPES                                    Ranges Tested:

The PIC16CXXX can be operated in four different oscil-     Mode       Freq     OSC1          OSC2
lator modes. The user can program two configuration
bits (FOSC1 and FOSC0) to select one of these four         XT         455 kHz 68 - 100 pF 68 - 100 pF
modes:
                                                                      2.0 MHz 15 - 68 pF 15 - 68 pF

                                                                      4.0 MHz 15 - 68 pF 15 - 68 pF

LP      Low Power Crystal                                HS         8.0 MHz 10 - 68 pF 10 - 68 pF
XT      Crystal/Resonator
HS      High Speed Crystal/Resonator                                16.0 MHz 10 - 22 pF 10 - 22 pF
RC      Resistor/Capacitor
                                                               These values are for design guidance only. See
                                                               notes at bottom of page.

10.2.2 CRYSTAL OSCILLATOR/CERAMIC                          Resonators Used:
            RESONATORS
                                                           455 kHz Panasonic EFO-A455K04B 0.3%
In XT, LP or HS modes, a crystal or ceramic resonator      2.0 MHz Murata Erie CSA2.00MG 0.5%
is connected to the OSC1/CLKIN and OSC2/CLKOUT             4.0 MHz Murata Erie CSA4.00MG 0.5%
pins to establish oscillation (Figure 10-2). The           8.0 MHz Murata Erie CSA8.00MT 0.5%
PIC16CXXX oscillator design requires the use of a par-     16.0 MHz Murata Erie CSA16.00MX 0.5%
allel cut crystal. Use of a series cut crystal may give a
frequency out of the crystal manufacturers specifica-            Resonators did not have built-in capacitors.
tions. When in XT, LP or HS modes, the device can use
an external clock source to drive the OSC1/CLKIN pin       TABLE 10-2 CAPACITOR SELECTION FOR
(Figure 10-3).                                                                  CRYSTAL OSCILLATOR

                                                           Osc Type   Crystal  Cap. Range Cap. Range
                                                                       Freq
                                                                               C1            C2

FIGURE 10-2: CRYSTAL/CERAMIC                                   LP     32 kHz   33 pF         33 pF
                     RESONATOR OPERATION
                     (HS, XT OR LP                                    200 kHz  15 pF         15 pF
                     OSC CONFIGURATION)
                                                               XT     200 kHz  47-68 pF      47-68 pF

                                                                      1 MHz    15 pF         15 pF

      C1(1)             OSC1                                          4 MHz    15 pF         15 pF

                                             To                HS     4 MHz    15 pF         15 pF
                                             internal
               XTAL                          logic                    8 MHz    15-33 pF      15-33 pF
                                     SLEEP
                       OSC2   RF(3)   PIC16CXXX                       20 MHz   15-33 pF      15-33 pF
               RS(2)
      C2(1)                                                    These values are for design guidance only. See
                                                               notes at bottom of page.

                                                                             Crystals Used

Note1:    See Table 10-1 and Table 10-2 for recom-             32 kHz Epson C-001R32.768K-A   20 PPM
      2:  mended values of C1 and C2.
      3:  A series resistor (RS) may be required for       200 kHz    STD XTL 200.000KHz      20 PPM
          AT strip cut crystals.                            1 MHz     ECS ECS-10-13-1         50 PPM
          RF varies with the crystal chosen.
                                                               4 MHz  ECS ECS-40-20-1         50 PPM
                                                               8 MHz  EPSON CA-301 8.000M-C   30 PPM

                                                           20 MHz EPSON CA-301 20.000M-C 30 PPM

FIGURE 10-3: EXTERNAL CLOCK INPUT                          Note 1: Higher capacitance increases the stability of the
                     OPERATION (HS, XT OR LP                            oscillator, but also increases the start-up time.
                     OSC CONFIGURATION)
                                                                   2: Since each resonator/crystal has its own charac-
Clock from                    OSC1                                      teristics, the user should consult the resona-
ext. system                             PIC16CXXX                       tor/crystal manufacturer for appropriate values of
                                                                        external components.
                  Open        OSC2
                                                                   3: Rs may be required in HS mode, as well as XT
                                                                        mode, to avoid overdriving crystals with low drive
                                                                        level specification.

                                                                   4: Oscillator performance should be verified when
                                                                        migrating between devices (including
                                                                        PIC16C62A to PIC16C62B and PIC16C72 to
                                                                        PIC16C72A)

DS35008B-page 56                        Preliminary                         1999 Microchip Technology Inc.
10.2.3 RC OSCILLATOR                                              PIC16C62B/72A

For timing insensitive applications, the "RC" device       10.3 Reset
option offers additional cost savings. The RC oscillator
frequency is a function of the supply voltage, the resis-  The PIC16CXXX differentiates between various kinds
tor (REXT) and capacitor (CEXT) values, and the operat-    of reset:
ing temperature. In addition to this, the oscillator
frequency will vary from unit to unit due to normal pro-    Power-on Reset (POR)
cess parameter variation. Furthermore, the difference       MCLR reset during normal operation
in lead frame capacitance between package types will       MCLR reset during SLEEP
also affect the oscillation frequency, especially for low   WDT Reset (during normal operation)
CEXT values. The user also needs to take into account       WDT Wake-up (during SLEEP)
variation due to tolerance of external R and C compo-       Brown-out Reset (BOR)
nents used. Figure 10-4 shows how the R/C combina-
tion is connected to the PIC16CXXX.                        Some registers are not affected in any reset condition;
                                                           their status is unknown on POR and unchanged by any
FIGURE 10-4: RC OSCILLATOR MODE                            other reset. Most other registers are reset to a "reset
                                                           state" on Power-on Reset (POR), on the MCLR and
      VDD                                                  WDT Reset, on MCLR reset during SLEEP, and on
                                                           Brown-out Reset (BOR). They are not affected by a
Rext                                                       WDT Wake-up from SLEEP, which is viewed as the
                                                           resumption of normal operation. The TO and PD bits
           OSC1                               Internal     are set or cleared depending on the reset situation, as
                                               clock       indicated in Table 10-4. These bits are used in software
                                                           to determine the nature of the reset. See Table 10-6 for
Cext                                          PIC16CXX     a full description of reset states of all registers.

VSS                                                        A simplified block diagram of the on-chip reset circuit is
                                 OSC2/CLKOUT               shown in Figure 10-5.

                    Fosc/4                                 The PICmicro devices have a MCLR noise filter in the
                                                           MCLR reset path. The filter will ignore small pulses.
Recommended values: 3 k  Rext  100 k                       However, a valid MCLR pulse must meet the minimum
                                  Cext > 20pF              pulse width (TmcL, Specification #30).

                                                           No internal reset source (WDT, BOR, POR) willdrive
                                                           the MCLR pin low.

1999 Microchip Technology Inc.                        Preliminary  DS35008B-page 57
PIC16C62B/72A

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

                                             External
                                               Reset

MCLR                       SLEEP
VDD   WDT WDT
      Module Time-out

                   Reset

      VDD rise
       detect

                       Power-on Reset

      Brown-out                                                                         S

                  Reset BODEN

      OST/PWRT                                                                                  Chip_Reset
                     OST                                                                   Q

                   10-bit Ripple counter                                                R

OSC1

              (1)  PWRT
                        10-bit Ripple counter
      On-chip
      RC OSC

                                                                           Enable PWRT
                                                                            Enable OST
Note 1: This is a separate oscillator from the RC oscillator of the CLKIN pin.

DS35008B-page 58                               Preliminary                               1999 Microchip Technology Inc.
10.4 Power-On Reset (POR)                                         PIC16C62B/72A

A Power-on Reset pulse is generated on-chip when           10.5 Power-up Timer (PWRT)
VDD rise is detected (in the range of 1.5V - 2.1V). To
take advantage of the POR, just tie the MCLR pin           The Power-up Timer provides a fixed nominal time-out
directly (or through a resistor) to VDD. This will elimi-  (TPWRT, parameter #33) from the POR. The Power-up
nate external RC components usually needed to create       Timer operates on an internal RC oscillator. The chip is
a Power-on Reset. A maximum rise time for VDD is           kept in reset as long as the PWRT is active. The
specified (SVDD, parameter D004). For a slow rise          PWRT's time delay allows VDD to rise to an acceptable
time, see Figure 10-6.                                     level. A configuration bit is provided to enable/disable
                                                           the PWRT.
When the device starts normal operation (exits the
reset condition), device operating parameters (voltage,    The power-up time delay will vary from chip-to-chip due
frequency, temperature,...) must be met to ensure oper-    to VDD, temperature and process variation. See DC
ation. If these conditions are not met, the device must    parameters for details.
be held in reset until the operating conditions are met.
Brown-out Reset may be used to meet the start-up con-      10.6 Oscillator Start-up Timer (OST)
ditions.
                                                           The Oscillator Start-up Timer (OST) provides a delay of
FIGURE 10-6: EXTERNAL POWER-ON                             1024 oscillator cycles (from OSC1 input) after the
                     RESET CIRCUIT (FOR SLOW               PWRT delay is over (TOST, parameter #32). This
                     VDD POWER-UP)                         ensures that the crystal oscillator or resonator has
                                                           started and stabilized.
   VDD
                                                           The OST time-out is invoked only for XT, LP and HS
D  R                                                       modes and only on Power-on Reset or wake-up from
                                                           SLEEP.
        C  R1
                      MCLR                                    Note: The OST delay may not occur when the
                                                                          device wakes from SLEEP.
                      PIC16CXX
                                                           10.7 Brown-Out Reset (BOR)
Note 1: External Power-on Reset circuit is required
            only if VDD power-up slope is too slow. The    The configuration bit, BODEN, can enable or disable
            diode D helps discharge the capacitor          the Brown-Out Reset circuit. If VPP falls below Vbor
            quickly when VDD powers down.                  (parameter #35, about 100S), the brown-out situation
                                                           will reset the device. If VDD falls below VBOR for less
       2: R < 40 k is recommended to make sure             than TBOR, a reset may not occur.
            that voltage drop across R does not violate
            the device's electrical specification.         Once the brown-out occurs, the device will remain in
                                                           brown-out reset until VDD rises above VBOR. The
       3: R1 = 100 to 1 k will limit any current           power-up timer then keeps the device in reset for
            flowing into MCLR from external capacitor      TPWRT (parameter #33, about 72mS). If VDD should fall
            C in the event of MCLR/VPP pin break-          below VBOR during TPWRT, the brown-out reset pro-
            down due to Electrostatic Discharge            cess will restart when VDD rises above VBOR with the
            (ESD) or Electrical Overstress (EOS).          power-up timer reset. The power-up timer is always
                                                           enabled when the brown-out reset circuit is enabled,
                                                           regardless of the state of the PWRT configuration bit.

1999 Microchip Technology Inc.  Preliminary              DS35008B-page 59
PIC16C62B/72A

10.8 Time-out Sequence                                       Table 10-5 shows the reset conditions for the STATUS,
                                                             PCON and PC registers, while Table 10-6 shows the
When a POR reset occurs, the PWRT delay starts (if           reset conditions for all the registers.
enabled). When PWRT ends, the OST counts 1024
oscillator cycles (LP, XT, HS modes only). When OST          10.9 Power Control/Status Register
completes, the device comes out of reset. The total                    (PCON)
time-out will vary based on oscillator configuration and
the status of the PWRT. For example, in RC mode with         The BOR bit is unknown on Power-on Reset. If the
the PWRT disabled, there will be no time-out at all.         Brown-out Reset circuit is used, the BOR bit must be
                                                             set by the user and checked on subsequent resets to
If MCLR is kept low long enough, the time-outs will          see if it was cleared, indicating a Brown-out has
expire. Bringing MCLR high will begin execution imme-        occurred.
diately. This is useful for testing purposes or to synchro-
nize more than one PIC16CXXX device operating in             POR (Power-on Reset Status bit) is cleared on a
parallel.                                                    Power-on Reset and unaffected otherwise. The user

Status Register

IRP  RP1          RP0         TO    PD      Z                DC         C

PCON Register

                                                             POR        BOR

TABLE 10-3 TIME-OUT IN VARIOUS SITUATIONS

Oscillator Configuration            Power-up                                 Brown-out    Wake-up from
                                                                                               SLEEP
         XT, HS, LP           PWRTE = 0                      PWRTE = 1  72 ms + 1024TOSC
               RC         72 ms + 1024TOSC                    1024TOSC          72 ms        1024TOSC
                                                                                                  --
                                  72 ms                            --

TABLE 10-4 STATUS BITS AND THEIR SIGNIFICANCE

POR BOR TO PD

0    x            1 1 Power-on Reset

0    x            0 x Illegal, TO is set on POR

0    x            x 0 Illegal, PD is set on POR

1    0            1 1 Brown-out Reset

1    1            0 1 WDT Reset

1    1            0 0 WDT Wake-up

1    1            u u MCLR Reset during normal operation

1    1            1 0 MCLR Reset during SLEEP or interrupt wake-up from SLEEP

TABLE 10-5 RESET CONDITION FOR SPECIAL REGISTERS

                  Condition                                  Program    STATUS             PCON
                                                             Counter    Register          Register

Power-on Reset                                               000h       0001 1xxx         ---- --0x

MCLR Reset during normal operation                           000h       000u uuuu         ---- --uu

MCLR Reset during SLEEP                                      000h       0001 0uuu         ---- --uu

WDT Reset                                                    000h       0000 1uuu         ---- --uu

WDT Wake-up                                                  PC + 1     uuu0 0uuu         ---- --uu

Brown-out Reset                                                  000h   0001 1uuu         ---- --u0
Interrupt wake-up from SLEEP                                 PC + 1(1)  uuu1 0uuu         ---- --uu

Legend: u = unchanged, x = unknown, - = unimplemented bit read as '0'.

Note 1: When the wake-up is due to an interrupt and the GIE bit is set, the PC is loaded with the interrupt vector (0004h).

DS35008B-page 60                            Preliminary                            1999 Microchip Technology Inc.
                                                        PIC16C62B/72A

TABLE 10-6 INITIALIZATION CONDITIONS FOR ALL REGISTERS

   Register  Applicable           Power-on Reset,  MCLR Resets   Wake-up via WDT or
              Devices             Brown-out Reset   WDT Reset            Interrupt

W            62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

INDF         62B 72A              N/A              N/A           N/A

TMR0         62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

PCL          62B 72A              0000h            0000h         PC + 1(2)

STATUS       62B 72A              0001 1xxx        000q quuu(3)  uuuq quuu(3)

FSR          62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

PORTA(4)     62B 72A              --0x 0000        --0u 0000     --uu uuuu

PORTB(5)     62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

PORTC(5)     62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

PCLATH       62B 72A              ---0 0000        ---0 0000     ---u uuuu

INTCON       62B 72A              0000 000x        0000 000u     uuuu uuuu(1)

PIR1         62B 72A              ---- 0000        ---- 0000     ---- uuuu(1)
             62B 72A              -0-- 0000        -0-- 0000     -u-- uuuu(1)

TMR1L        62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

TMR1H        62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

T1CON        62B 72A              --00 0000        --uu uuuu     --uu uuuu

TMR2         62B 72A              0000 0000        0000 0000     uuuu uuuu

T2CON        62B 72A              -000 0000        -000 0000     -uuu uuuu

SSPBUF       62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

SSPCON       62B 72A              0000 0000        0000 0000     uuuu uuuu

CCPR1L       62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

CCPR1H       62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

CCP1CON      62B 72A              --00 0000        --00 0000     --uu uuuu

ADRES        62B 72A              xxxx xxxx        uuuu uuuu     uuuu uuuu

ADCON0       62B 72A              0000 00-0        0000 00-0     uuuu uu-u

OPTION_REG   62B 72A              1111 1111        1111 1111     uuuu uuuu

TRISA        62B 72A              --11 1111        --11 1111     --uu uuuu

TRISB        62B 72A              1111 1111        1111 1111     uuuu uuuu

TRISC        62B 72A              1111 1111        1111 1111     uuuu uuuu

PIE1         62B 72A              ---- 0000        ---- 0000     ---- uuuu
             62B 72A              -0-- 0000        -0-- 0000     -u-- uuuu

PCON         62B 72A              ---- --0q        ---- --uq     ---- --uq

PR2          62B 72A              1111 1111        1111 1111     1111 1111

SSPADD       62B 72A              0000 0000        0000 0000     uuuu uuuu

SSPSTAT      62B 72A              0000 0000        0000 0000     uuuu uuuu

ADCON1       62B 72A              ---- -000        ---- -000     ---- -uuu

Legend: u = unchanged, x = unknown, - = unimplemented bit, read as '0', q = value depends on condition
Note 1: One or more bits in INTCON and/or PIR1 will be affected (to cause wake-up).

        2: When the wake-up is due to an interrupt and the GIE bit is set, the PC is loaded with the interrupt vector (0004h).
        3: See Table 10-5 for reset value for specific condition.
        4: On any device reset, these pins are configured as inputs.
        5: This is the value that will be in the port output latch.

1999 Microchip Technology Inc.  Preliminary                    DS35008B-page 61
PIC16C62B/72A

10.10 Interrupts                                                   The peripheral interrupt flags are contained in the spe-
                                                                   cial function registers PIR1 and PIR2. The correspond-
The interrupt control register (INTCON) records individ-           ing interrupt enable bits are contained in special
ual interrupt requests in flag bits. It also has individual        function registers PIE1 and PIE2, and the peripheral
and global interrupt enable bits.                                  interrupt enable bit is contained in special function reg-
                                                                   ister INTCON.
Note:  Individual interrupt flag bits are set regard-
       less of the status of their corresponding                   When an interrupt is responded to, the GIE bit is
       mask bit or the GIE bit.                                    cleared to disable any further interrupts, the return
                                                                   address is pushed onto the stack and the PC is loaded
A global interrupt enable bit, GIE (INTCON<7>)                     with 0004h. Once in the interrupt service routine, the
enables or disables all interrupts. When bit GIE is                source of the interrupt can be determined by polling the
enabled, and an interrupt's flag bit and mask bit are set,         interrupt flag bits. The interrupt flag bit must be cleared
the interrupt will vector immediately. Individual inter-           in software before re-enabling interrupts to avoid recur-
rupts can be disabled through their corresponding                  sive interrupts.
enable bits in various registers. Individual interrupt flag
bits are set regardless of the status of the GIE bit. The          For external interrupt events, such as the INT pin or
GIE bit is cleared on reset.                                       PORTB change interrupt, the interrupt latency will be
                                                                   three or four instruction cycles, depending on when the
The "return from interrupt" instruction, RETFIE, exits             interrupt event occurs. The latency is the same for one
the interrupt routine and sets the GIE bit, which re-              or two cycle instructions. Individual interrupt flag bits
enables interrupts.                                                are set regardless of the status of their corresponding
                                                                   mask bit or the GIE bit
The RB0/INT pin interrupt, the RB port change interrupt
and the TMR0 overflow interrupt flags are contained in
the INTCON register.

FIGURE 10-7: INTERRUPT LOGIC

                                                             T0IF   Wake-up (If in SLEEP mode)
                                                             T0IE               Interrupt to CPU
                                                             INTF
                                ADIF(1)                      INTE
                                ADIE(1)                      RBIF
                                                             RBIE
                                SSPIF
                                SSPIE                        PEIE

                                CCP1IF                       GIE
                                CCP1IE

                    TMR2IF
                    TMR2IE

       TMR1IF
       TMR1IE

       Note 1: The A/D module is not implemented on the PIC16C62B.

DS35008B-page 62                         Preliminary                1999 Microchip Technology Inc.
                                                                   PIC16C62B/72A

10.10.1 INT INTERRUPT                                         10.11 Context Saving During Interrupts

The external interrupt on RB0/INT pin is edge trig-           During an interrupt, only the return PC value is saved
gered: either rising, if bit INTEDG (OPTION_REG<6>)           on the stack. Typically, users may wish to save key reg-
is set, or falling, if the INTEDG bit is clear. When a valid  isters during an interrupt, (i.e., W register and STATUS
edge appears on the RB0/INT pin, flag bit INTF                register). This will have to be implemented in software.
(INTCON<1>) is set. This interrupt can be disabled by
clearing enable bit INTE (INTCON<4>). Flag bit INTF           Example 10-1 stores and restores the W and STATUS
must be cleared in software in the interrupt service rou-     registers. The register, W_TEMP, must be defined in
tine before re-enabling this interrupt. The INT interrupt     each bank and must be defined at the same offset from
can wake-up the processor from SLEEP, if bit INTE was         the bank base address (i.e., if W_TEMP is defined at
set prior to going into SLEEP. The status of global inter-    0x20 in bank 0, it must also be defined at 0xA0 in bank
rupt enable bit GIE decides whether or not the proces-        1).
sor branches to the interrupt vector following wake-up.
See Section 10.13 for details on SLEEP mode.                  The example:

10.10.2 TMR0 INTERRUPT                                        a) Stores the W register.
                                                              b) Stores the STATUS register in bank 0.
An overflow (FFh  00h) in the TMR0 register will set          c) Stores the PCLATH register.
flag bit T0IF (INTCON<2>). The interrupt can be               d) Executes the interrupt service routine code
enabled/disabled by setting/clearing enable bit T0IE
(INTCON<5>). (Section 4.0)                                          (User-generated).
                                                              e) Restores the STATUS register (and bank select
10.10.3 PORTB INTCON CHANGE
                                                                    bit).
An input change on PORTB<7:4> sets flag bit RBIF              f) Restores the W and PCLATH registers.
(INTCON<0>). The interrupt can be enabled/disabled
by setting/clearing enable bit RBIE (INTCON<4>).
(Section 3.2)

EXAMPLE 10-1: SAVING STATUS, W, AND PCLATH REGISTERS IN RAM

MOVWF W_TEMP                      ;Copy W to TEMP register, could be bank one or zero

SWAPF STATUS,W                    ;Swap status to be saved into W

CLRF    STATUS                    ;bank 0, regardless of current bank, Clears IRP,RP1,RP0

MOVWF STATUS_TEMP                 ;Save status to bank zero STATUS_TEMP register

:

:(ISR)

:

SWAPF STATUS_TEMP,W ;Swap STATUS_TEMP register into W

                                  ;(sets bank to original state)

MOVWF STATUS                      ;Move W into STATUS register

SWAPF W_TEMP,F                    ;Swap W_TEMP

SWAPF W_TEMP,W                    ;Swap W_TEMP into W

1999 Microchip Technology Inc.  Preliminary                                          DS35008B-page 63
PIC16C62B/72A

10.12 Watchdog Timer (WDT)                                  The WDT time-out period (TWDT, parameter #31) is
                                                            multiplied by the prescaler ratio, when the prescaler is
The Watchdog Timer is a free running on-chip RC oscil-      assigned to the WDT. The prescaler assignment
lator which does not require any external components.       (assigned to either the WDT or Timer0) and prescaler
This RC oscillator is separate from the RC oscillator of    ratio are set in the OPTION_REG register.
the OSC1/CLKIN pin. The WDT will run, even if the
clock on the OSC1/CLKIN and OSC2/CLKOUT pins of                Note:   The CLRWDT and SLEEP instructions clear
the device has been stopped, for example, by execution                 the WDT and the postscaler, if assigned to
of a SLEEP instruction.                                                the WDT, and prevent it from timing out and
                                                                       generating a device RESET condition.
During normal operation, a WDT time-out generates a
device RESET (Watchdog Timer Reset). If the device is       .
in SLEEP mode, a WDT time-out causes the device to
wake-up and continue with normal operation (Watch-             Note:   When a CLRWDT instruction is executed
dog Timer Wake-up). The TO bit in the STATUS register                  and the prescaler is assigned to the WDT,
will be cleared upon a Watchdog Timer time-out.                        the prescaler count will be cleared, but the
                                                                       prescaler assignment is not changed.
The WDT can be permanently disabled by clearing
configuration bit WDTE (Section 10.1).

FIGURE 10-8: WATCHDOG TIMER BLOCK DIAGRAM

                     From TMR0 Clock Source
                     (Figure 4-2)

                              0

                  WDT Timer   1      M                                 Postscaler
                                     U                                          8

                                     X

                                                                  8 - to - 1 MUX        PS2:PS0

                     WDT             PSA
                  Enable Bit

                                                                                   To TMR0 (Figure 4-2)

                                                               0       1

                                                                  MUX              PSA

Note: PSA and PS2:PS0 are bits in the OPTION_REG register.          WDT
                                                                  Time-out

FIGURE 10-9: SUMMARY OF WATCHDOG TIMER REGISTERS

Address Name         Bit 7    Bit 6                       Bit 5 Bit 4    Bit 3          Bit 2 Bit 1      Bit 0
                                                                       PWRTE
2007h  Config. bits           BODEN CP1 CP0                                        WDTE FOSC1 FOSC0
                                                                         PSA
81h    OPTION_REG RBPU INTEDG T0CS T0SE                                                 PS2      PS1     PS0

Legend: Shaded cells are not used by the Watchdog Timer.

DS35008B-page 64                     Preliminary                                    1999 Microchip Technology Inc.
10.13 Power-down Mode (SLEEP)                                    PIC16C62B/72A

Power-down mode is entered by executing a SLEEP           regardless of the state of the GIE bit. If the GIE bit is
instruction.                                              clear (disabled), the device resumes execution at the
                                                          instruction after the SLEEP instruction. If the GIE bit is
If enabled, the Watchdog Timer will be cleared but        set (enabled), the device executes the instruction after
keeps running, the PD bit (STATUS<3>) is cleared, the     the SLEEP instruction and then branches to the inter-
TO (STATUS<4>) bit is set, and the oscillator driver is   rupt address (0004h). In cases where the execution of
turned off. The I/O ports maintain the status they had,   the instruction following SLEEP is not desirable, a NOP
before the SLEEP instruction was executed (driving        should follow the SLEEP instruction.
high, low or hi-impedance).
                                                          10.13.2 WAKE-UP USING INTERRUPTS
For lowest current consumption in this mode, place all
I/O pins at either VDD or VSS, ensure no external cir-    When global interrupts are disabled (GIE cleared) and
cuitry is drawing current from the I/O pin, power-down    any interrupt source has both its interrupt enable bit
the A/D and disable external clocks. Pull all I/O pins    and interrupt flag bit set, one of the following will occur:
that are hi-impedance inputs, high or low externally, to
avoid switching currents caused by floating inputs. The    If the interrupt occurs before the execution of a
T0CKI input should also be at VDD or VSS for lowest          SLEEP instruction, the SLEEP instruction will com-
current consumption. The contribution from on-chip           plete as a NOP. Therefore, the WDT and WDT
pull-ups on PORTB should be considered.                      postscaler will not be cleared, the TO bit will not
                                                             be set and PD bits will not be cleared.
The MCLR pin must be at a logic high level (VIHMC,
parameter D042).                                           If the interrupt occurs during or after the execu-
                                                             tion of a SLEEP instruction, the device will imme-
10.13.1 WAKE-UP FROM SLEEP                                   diately wake up from sleep. The SLEEP instruction
                                                             will be completely executed before the wake-up.
The device can wake up from SLEEP through one of             Therefore, the WDT and WDT postscaler will be
the following events:                                        cleared, the TO bit will be set and the PD bit will
                                                             be cleared.
1. External reset input on MCLR pin.
2. Watchdog Timer Wake-up (if WDT was                     Even if the flag bits were checked before executing a
                                                          SLEEP instruction, it may be possible for flag bits to
      enabled).                                           become set before the SLEEP instruction completes. To
3. Interrupt from INT pin, RB port change, or some        determine whether a SLEEP instruction executed, test
                                                          the PD bit. If the PD bit is set, the SLEEP instruction
      Peripheral Interrupts.                              was executed as a NOP.

External MCLR Reset will cause a device reset. All        To ensure that the WDT is cleared, a CLRWDT instruc-
other events are considered a continuation of program     tion should be executed before a SLEEP instruction.
execution and cause a "wake-up". The TO and PD bits
in the STATUS register can be used to determine the
cause of device reset. The PD bit, which is set on
power-up, is cleared when SLEEP is invoked. The TO
bit is cleared if a WDT time-out occurred (and caused
wake-up).

The following peripheral interrupts can wake the device
from SLEEP:

1. TMR1 interrupt. Timer1 must be operating as
      an asynchronous counter.

2. CCP capture mode interrupt.
3. Special event trigger (Timer1 in asynchronous

      mode using an external clock. CCP1 is in com-
      pare mode).
4. SSP (Start/Stop) bit detect interrupt.
5. SSP transmit or receive in slave mode (SPI/I2C).
6. USART RX or TX (synchronous slave mode).

Other peripherals cannot generate interrupts since dur-
ing SLEEP, no on-chip clocks are present.

When the SLEEP instruction is being executed, the next
instruction (PC + 1) is pre-fetched. For the device to
wake-up through an interrupt event, the corresponding
interrupt enable bit must be set (enabled). Wake-up is

1999 Microchip Technology Inc.  Preliminary             DS35008B-page 65
PIC16C62B/72A

FIGURE 10-10: WAKE-UP FROM SLEEP THROUGH INTERRUPT

                   Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1                                  Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
        OSC1                                                    TOST(2)
CLKOUT(4)

         INT pin                                                              Interrupt Latency
                                                                                    (Note 2)
INTF flag
(INTCON<1>)                                       Processor in
                                                     SLEEP
GIE bit
(INTCON<7>)

INSTRUCTION FLOW

             PC   PC                  PC+1        PC+2               PC+2           PC + 2          0004h        0005h
                                    Inst(PC + 1)                Inst(PC + 2)  Dummy cycle        Inst(0004h)  Inst(0005h)
Instruction       Inst(PC) = SLEEP  SLEEP                       Inst(PC + 1)                     Dummy cycle  Inst(0004h)
fetched               Inst(PC - 1)

Instruction
executed

Note 1:      XT, HS or LP oscillator mode assumed.
         2:  TOST = 1024TOSC (drawing not to scale) This delay will not be there for RC osc mode.
         3:  GIE = '1' assumed. In this case after wake- up, the processor jumps to the interrupt routine. If GIE = '0', execution will continue in-line.
         4:  CLKOUT is not available in these osc modes, but shown here for timing reference.

10.14 Program Verification/Code Protection

If the code protection bits have not been programmed,
the on-chip program memory can be read out for verifi-
cation purposes.

   Note: Microchip does not recommend code pro-
               tecting windowed devices.

10.15 ID Locations

Four memory locations (2000h - 2003h) are designated
as ID locations where the user can store checksum or
other code-identification numbers. These locations are
not accessible during normal execution, but are read-
able and writable during program/verify. It is recom-
mended that only the 4 least significant bits of the ID
location are used.

For ROM devices, these values are submitted along
with the ROM code.

10.16 In-Circuit Serial ProgrammingTM

PIC16CXXX microcontrollers can be serially pro-
grammed while in the end application circuit. This is
simply done with two lines for clock and data, and three
more lines for power, ground and the programming volt-
age. This allows customers to manufacture boards with
unprogrammed devices, and then program the micro-
controller just before shipping the product. This also
allows the most recent firmware or a custom firmware
to be programmed.

For complete details of serial programming, please
refer to the In-Circuit Serial Programming (ICSPTM)
Guide, DS30277.

DS35008B-page 66                                  Preliminary                                     1999 Microchip Technology Inc.
                                                                       PIC16C62B/72A

11.0 INSTRUCTION SET SUMMARY                                   execution time is 1 s. If a conditional test is true or the
                                                               program counter is changed as a result of an instruc-
Each PIC16CXXX instruction is a 14-bit word divided            tion, the instruction execution time is 2 s.
into an OPCODE which specifies the instruction type
and one or more operands which further specify the             Table 11-2 lists the instructions recognized by the
operation of the instruction. The PIC16CXX instruction         MPASM assembler.
set summary in Table 11-2 lists byte-oriented, bit-ori-
ented, and literal and control operations. Table 11-1          Figure 11-1 shows the general formats that the instruc-
shows the opcode field descriptions.                           tions can have.

For byte-oriented instructions, 'f' represents a file reg-     Note:   To maintain upward compatibility with
ister designator and 'd' represents a destination desig-               future PIC16CXXX products, do not use
nator. The file register designator specifies which file               the OPTION and TRIS instructions.
register is to be used by the instruction.
                                                               All examples use the following format to represent a
The destination designator specifies where the result of       hexadecimal number:
the operation is to be placed. If 'd' is zero, the result is
placed in the W register. If 'd' is one, the result is placed        0xhh
in the file register specified in the instruction.             where h signifies a hexadecimal digit.

For bit-oriented instructions, 'b' represents a bit field      FIGURE 11-1: GENERAL FORMAT FOR
designator which selects the number of the bit affected                             INSTRUCTIONS
by the operation, while 'f' represents the number of the
file in which the bit is located.                                  Byte-oriented file register operations

For literal and control operations, 'k' represents an              13                8 76                           0
eight or eleven bit constant or literal value.
                                                                       OPCODE        d                  f (FILE #)
TABLE 11-1 OPCODE FIELD
                     DESCRIPTIONS                                      d = 0 for destination W
                                                                       d = 1 for destination f
                                                                       f = 7-bit file register address

Field                    Description                               Bit-oriented file register operations

                                                                   13                10 9 7 6                       0

f      Register file address (0x00 to 0x7F)                            OPCODE        b (BIT #) f (FILE #)

W      Working register (accumulator)

b      Bit address within an 8-bit file register                       b = 3-bit bit address
                                                                       f = 7-bit file register address
k      Literal field, constant data or label

x      Don't care location (= 0 or 1)                              Literal and control operations

       The assembler will generate code with x = 0. It is the

       recommended form of use for compatibility with all          General
                                                                      13
       Microchip software tools.                                             OPCODE

d      Destination select; d = 0: store result in W,                                 87                                    0
                                                                                                          k (literal)
       d = 1: store result in file register f.

       Default is d = 1

PC Program Counter                                                     k = 8-bit immediate value

TO Time-out bit

PD Power-down bit                                                  CALL and GOTO instructions only

Z      Zero bit                                                    13  11 10                                        0

DC Digit Carry bit                                                     OPCODE              k (literal)

C      Carry bit                                                       k = 11-bit immediate value

The instruction set is highly orthogonal and is grouped        A description of each instruction is available in the
into three basic categories:                                   PICmicroTM Mid-Range Reference Manual,
                                                               (DS33023).
Byte-oriented operations
Bit-oriented operations

Literal and control operations

All instructions are executed within one single instruc-
tion cycle, unless a conditional test is true or the pro-
gram counter is changed as a result of an instruction.
In this case, the execution takes two instruction cycles
with the second cycle executed as a NOP. One instruc-
tion cycle consists of four oscillator periods. Thus, for
an oscillator frequency of 4 MHz, the normal instruction

1999 Microchip Technology Inc.                      Preliminary                                         DS35008B-page 67
PIC16C62B/72A

TABLE 11-2 PIC16CXXX INSTRUCTION SET

Mnemonic,         Description                  Cycles                14-Bit Opcode        Status Notes
Operands
                                                               MSb                  LSb Affected

BYTE-ORIENTED FILE REGISTER OPERATIONS

ADDWF      f, d Add W and f                                  1 00    0111  dfff     ffff  C,DC,Z  1,2
ANDWF                                                        1 00    0101  dfff     ffff  Z       1,2
CLRF       f, d AND W with f                                 1 00    0001  lfff     ffff  Z       2
CLRW                                                         1 00    0001  0000     0011  Z
COMF       f      Clear f                                    1 00    1001  dfff     ffff  Z       1,2
DECF                                                         1 00    0011  dfff     ffff  Z       1,2
DECFSZ     -      Clear W                                   1(2) 00  1011  dfff     ffff          1,2,3
INCF                                                         1 00    1010  dfff     ffff  Z       1,2
INCFSZ     f, d Complement f                                1(2) 00  1111  dfff     ffff          1,2,3
IORWF                                                        1 00    0100  dfff     ffff  Z       1,2
MOVF       f, d Decrement f                                  1 00    1000  dfff     ffff  Z       1,2
MOVWF                                                        1 00    0000  lfff     ffff
NOP        f, d Decrement f, Skip if 0                       1 00    0000  0xx0     0000  C       1,2
RLF                                                          1 00    1101  dfff     ffff  C       1,2
RRF        f, d Increment f                                  1 00    1100  dfff     ffff  C,DC,Z  1,2
SUBWF                                                        1 00    0010  dfff     ffff          1,2
SWAPF      f, d Increment f, Skip if 0                       1 00    1110  dfff     ffff  Z       1,2
XORWF                                                        1 00    0110  dfff     ffff
           f, d Inclusive OR W with f

           f, d Move f

           f      Move W to f

           -      No Operation

           f, d Rotate Left f through Carry

           f, d Rotate Right f through Carry

           f, d Subtract W from f

           f, d Swap nibbles in f

           f, d Exclusive OR W with f

BIT-ORIENTED FILE REGISTER OPERATIONS

BCF        f, b Bit Clear f                                 1  01 00bb bfff ffff                  1,2
BSF        f, b Bit Set f
BTFSC      f, b Bit Test f, Skip if Clear                   1  01 01bb bfff ffff                  1,2
BTFSS      f, b Bit Test f, Skip if Set
                                               1 (2) 01 10bb bfff ffff                            3

                                               1 (2) 01 11bb bfff ffff                            3

LITERAL AND CONTROL OPERATIONS

ADDLW      k      Add literal and W                         1  11 111x kkkk kkkk C,DC,Z
                  AND literal with W
ANDLW      k      Call subroutine                           1  11 1001 kkkk kkkk Z
                  Clear Watchdog Timer
CALL       k      Go to address                             2  10 0kkk kkkk kkkk
                  Inclusive OR literal with W
CLRWDT -          Move literal to W                         1  00 0000 0110 0100 TO,PD
                  Return from interrupt
GOTO       k      Return with literal in W                  2  10 1kkk kkkk kkkk
                  Return from Subroutine
IORLW      k      Go into standby mode                      1  11 1000 kkkk kkkk Z
                  Subtract W from literal
MOVLW      k      Exclusive OR literal with W               1  11 00xx kkkk kkkk

RETFIE     -                                                2  00 0000 0000 1001

RETLW      k                                                2  11 01xx kkkk kkkk

RETURN -                                                    2  00 0000 0000 1000

SLEEP      -                                                1  00 0000 0110 0011 TO,PD

SUBLW      k                                                1  11 110x kkkk kkkk C,DC,Z

XORLW      k                                                1  11 1010 kkkk kkkk Z

Note 1: When an I/O register is modified as a function of itself ( e.g., MOVF PORTB, 1), the value used will be that value present
             on the pins themselves. For example, if the data latch is '1' for a pin configured as input and is driven low by an external
             device, the data will be written back with a '0'.

        2: If this instruction is executed on the TMR0 register (and, where applicable, d = 1), the prescaler will be cleared if assigned
             to the Timer0 Module.

        3: If Program Counter (PC) is modified or a conditional test is true, the instruction requires two cycles. The second cycle is
             executed as a NOP.

DS35008B-page 68                               Preliminary                  1999 Microchip Technology Inc.
                                                                 PIC16C62B/72A

11.1 Instruction Descriptions

ADDLW             Add Literal and W                              ANDWF             AND W with f
Syntax:                                                          Syntax:
Operands:         [label] ADDLW k                                Operands:         [label] ANDWF f,d
Operation:        0  k  255
Status Affected:  (W) + k  (W)                                   Operation:        0  f  127
Description:      C, DC, Z                                       Status Affected:  d  [0,1]
                                                                 Description:      (W) .AND. (f)  (destination)
                  The contents of the W register are
                  added to the eight bit literal 'k' and the                       Z

                  result is placed in the W register.                              AND the W register with register 'f'. If
                                                                                   'd' is 0, the result is stored in the W
                                                                                   register. If 'd' is 1, the result is stored

                                                                                   back in register 'f'.

ADDWF             Add W and f                                    BCF               Bit Clear f
Syntax:                                                          Syntax:           [label] BCF f,b
Operands:         [label] ADDWF f,d                              Operands:         0  f  127
                                                                                   0b7
Operation:        0  f  127                                      Operation:        0  (f)
Status Affected:  d  [0,1]                                       Status Affected:  None
Description:      (W) + (f)  (destination)                       Description:      Bit 'b' in register 'f' is cleared.

                  C, DC, Z

                  Add the contents of the W register
                  with register 'f'. If 'd' is 0, the result is
                  stored in the W register. If 'd' is 1, the

                  result is stored back in register 'f'.

ANDLW             AND Literal with W                             BSF               Bit Set f
Syntax:                                                          Syntax:           [label] BSF f,b
Operands:         [label] ANDLW k                                Operands:         0  f  127
Operation:        0  k  255                                                        0b7
Status Affected:  (W) .AND. (k)  (W)                             Operation:        1  (f)
Description:      Z                                              Status Affected:  None
                                                                 Description:
                  The contents of W register are                                   Bit 'b' in register 'f' is set.
                  AND'ed with the eight bit literal 'k'.

                  The result is placed in the W register.

1999 Microchip Technology Inc.  Preliminary                                      DS35008B-page 69
PIC16C62B/72A

BTFSS             Bit Test f, Skip if Set                           CLRF              Clear f
Syntax:                                                             Syntax:
Operands:         [label] BTFSS f,b                                 Operands:         [label] CLRF f
                                                                    Operation:
Operation:        0  f  127                                                           0  f  127
Status Affected:  0b<7                                              Status Affected:  00h  (f)
Description:                                                        Description:      1Z
                  skip if (f) = 1                                                  Z

                  None                                                                The contents of register 'f' are cleared
                                                                                      and the Z bit is set.
                  If bit 'b' in register 'f' is '0', then the next
                  instruction is executed.
                  If bit 'b' is '1', then the next instruction
                  is discarded and a NOP is executed
                  instead, making this a 2TCY instruc-
                  tion.

BTFSC             Bit Test, Skip if Clear                           CLRW              Clear W
Syntax:                                                             Syntax:           [ label ] CLRW
Operands:         [label] BTFSC f,b                                 Operands:
                                                                    Operation:        None
Operation:        0  f  127                                                           00h  (W)
Status Affected:  0b7                                               Status Affected:  1Z
Description:                                                        Description:      Z
                  skip if (f) = 0
                                                                                      W register is cleared. Zero bit (Z) is
                  None                                                                set.

                  If bit 'b' in register 'f' is '1', then the next
                  instruction is executed.
                  If bit 'b' in register 'f' is '0', then the next
                  instruction is discarded, and a NOP is
                  executed instead, making this a 2TCY

                  instruction.

CALL              Call Subroutine                                   CLRWDT            Clear Watchdog Timer
Syntax:                                                             Syntax:
Operands:         [ label ] CALL k                                  Operands:         [ label ] CLRWDT
Operation:                                                          Operation:
                  0  k  2047                                                          None
Status Affected:                                                    Status Affected:
Description:      (PC)+ 1 TOS,                                      Description:      00h  WDT
                  k  PC<10:0>,                                                        0  WDT prescaler,
                  (PCLATH<4:3>)  PC<12:11>                                            1  TO
                                                                                      1  PD
                  None
                                                                                      TO, PD
                  Call Subroutine. First, return address
                  (PC+1) is pushed onto the stack. The                                CLRWDT instruction resets the Watch-
                  eleven bit immediate address is loaded                              dog Timer. It also resets the prescaler
                  into PC bits <10:0>. The upper bits of                              of the WDT. Status bits TO and PD
                  the PC are loaded from PCLATH.                                      are set.
                  CALL is a two cycle instruction.

DS35008B-page 70  Preliminary                                                          1999 Microchip Technology Inc.
                                                                PIC16C62B/72A

COMF              Complement f                                  GOTO              Unconditional Branch
Syntax:                                                         Syntax:
Operands:         [ label ] COMF f,d                            Operands:         [ label ] GOTO k
                                                                Operation:
Operation:        0  f  127                                                       0  k  2047
Status Affected:  d  [0,1]                                      Status Affected:
Description:                                                    Description:      k  PC<10:0>
                  (f)  (destination)                                              PCLATH<4:3>  PC<12:11>

                  Z                                                               None

                  The contents of register 'f' are comple-                        GOTO is an unconditional branch. The
                  mented. If 'd' is 0, the result is stored                       eleven bit immediate value is loaded
                  in W. If 'd' is 1, the result is stored                         into PC bits <10:0>. The upper bits of
                  back in register 'f'.                                           PC are loaded from PCLATH<4:3>.
                                                                                  GOTO is a two cycle instruction.

DECF              Decrement f                                   INCF              Increment f
Syntax:           [label] DECF f,d                              Syntax:
Operands:         0  f  127                                     Operands:         [ label ] INCF f,d
                  d  [0,1]
Operation:        (f) - 1  (destination)                        Operation:        0  f  127
Status Affected:  Z                                             Status Affected:  d  [0,1]
Description:                                                    Description:      (f) + 1  (destination)
                  Decrement register 'f'. If 'd' is 0, the
                  result is stored in the W register. If 'd'                      Z
                  is 1, the result is stored back in regis-
                                                                                  The contents of register 'f' are incre-
                  ter 'f'.                                                        mented. If 'd' is 0, the result is placed
                                                                                  in the W register. If 'd' is 1, the result is
                                                                                  placed back in register 'f'.

DECFSZ            Decrement f, Skip if 0                        INCFSZ            Increment f, Skip if 0
Syntax:                                                         Syntax:
Operands:         [ label ] DECFSZ f,d                          Operands:         [ label ] INCFSZ f,d

Operation:        0  f  127                                     Operation:        0  f  127
                  d  [0,1]                                                        d  [0,1]
Status Affected:                                                Status Affected:
Description:      (f) - 1  (destination);                       Description:      (f) + 1  (destination),
                  skip if result = 0                                              skip if result = 0

                  None                                                            None

                  The contents of register 'f' are decre-                         The contents of register 'f' are incre-
                  mented. If 'd' is 0, the result is placed in                    mented. If 'd' is 0, the result is placed
                  the W register. If 'd' is 1, the result is                      in the W register. If 'd' is 1, the result is
                  placed back in register 'f'.                                    placed back in register 'f'.
                  If the result is 1, the next instruction, is                    If the result is 1, the next instruction is
                  executed. If the result is 0, then a NOP is                     executed. If the result is 0, a NOP is
                  executed instead making it a 2TCY                               executed instead making it a 2TCY
                  instruction.
                                                                                  instruction.

1999 Microchip Technology Inc.  Preliminary                                     DS35008B-page 71
PIC16C62B/72A

IORLW             Inclusive OR Literal with W                    MOVLW             Move Literal to W
Syntax:                                                          Syntax:
Operands:         [ label ] IORLW k                              Operands:         [ label ] MOVLW k
Operation:        0  k  255                                      Operation:        0  k  255
Status Affected:  (W) .OR. k  (W)                                Status Affected:  k  (W)
Description:      Z                                              Description:      None

                  The contents of the W register is                                The eight bit literal 'k' is loaded into W
                  OR'ed with the eight bit literal 'k'. The
                                                                                   register. The don't cares will assem-
                  result is placed in the W register.
                                                                                   ble as 0's.

IORWF             Inclusive OR W with f                          MOVWF             Move W to f
Syntax:                                                          Syntax:           [ label ] MOVWF f
Operands:         [ label ] IORWF f,d                            Operands:         0  f  127
                                                                 Operation:        (W)  (f)
Operation:        0  f  127                                      Status Affected:  None
Status Affected:  d  [0,1]                                       Description:
Description:                                                                       Move data from W register to register
                  (W) .OR. (f)  (destination)
                                                                                   'f'.
                  Z

                  Inclusive OR the W register with regis-
                  ter 'f'. If 'd' is 0, the result is placed in
                  the W register. If 'd' is 1, the result is
                  placed back in register 'f'.

MOVF              Move f                                         NOP               No Operation
Syntax:                                                          Syntax:           [ label ] NOP
Operands:         [ label ] MOVF f,d                             Operands:         None
                                                                 Operation:        No operation
Operation:        0  f  127                                      Status Affected:  None
Status Affected:  d  [0,1]                                       Description:
Description:                                                                       No operation.
                  (f)  (destination)

                  Z

                  The contents of register f is moved to
                  a destination dependant upon the sta-
                  tus of d. If d = 0, destination is W reg-
                  ister. If d = 1, the destination is file
                  register f itself. d = 1 is useful to test a
                  file register since status flag Z is
                  affected.

DS35008B-page 72  Preliminary                                                       1999 Microchip Technology Inc.
                                                           PIC16C62B/72A

RETFIE            Return from Interrupt                    RLF               Rotate Left f through Carry
Syntax:           [ label ] RETFIE                         Syntax:
Operands:         None                                     Operands:         [ label ] RLF f,d
Operation:        TOS  PC,
                  1  GIE                                   Operation:        0  f  127
Status Affected:  None                                     Status Affected:  d  [0,1]
                                                           Description:
                                                                             See description below

                                                                             C

                                                                             The contents of register 'f' are rotated
                                                                             one bit to the left through the Carry
                                                                             Flag. If 'd' is 0, the result is placed in
                                                                             the W register. If 'd' is 1, the result is
                                                                             stored back in register 'f'.

                                                                                C       Register f

RETLW             Return with Literal in W                 RRF               Rotate Right f through Carry
Syntax:                                                    Syntax:
Operands:         [ label ] RETLW k                        Operands:         [ label ] RRF f,d
Operation:
                  0  k  255                                Operation:        0  f  127
Status Affected:                                           Status Affected:  d  [0,1]
Description:      k  (W);                                  Description:
                  TOS  PC                                                    See description below

                  None                                                       C

                  The W register is loaded with the eight                    The contents of register 'f' are rotated
                  bit literal 'k'. The program counter is                    one bit to the right through the Carry
                  loaded from the top of the stack (the                      Flag. If 'd' is 0, the result is placed in
                  return address). This is a two cycle                       the W register. If 'd' is 1, the result is
                  instruction.                                               placed back in register 'f'.

                                                                                C       Register f

RETURN            Return from Subroutine                   SLEEP             [ label ] SLEEP
Syntax:                                                    Syntax:
Operands:         [ label ] RETURN                         Operands:         None
Operation:                                                 Operation:
Status Affected:  None                                                       00h  WDT,
Description:                                               Status Affected:  0  WDT prescaler,
                  TOS  PC                                  Description:      1  TO,
                  None                                                       0  PD

                  Return from subroutine. The stack is                       TO, PD
                  POPed and the top of the stack (TOS)
                  is loaded into the program counter.                        The power-down status bit, PD is
                  This is a two cycle instruction.                           cleared. Time-out status bit, TO is
                                                                             set. Watchdog Timer and its pres-
                                                                             caler are cleared.
                                                                             The processor is put into SLEEP
                                                                             mode with the oscillator stopped.
                                                                             See Section 10.13 for more details.

1999 Microchip Technology Inc.         Preliminary                                    DS35008B-page 73
PIC16C62B/72A

SUBLW             Subtract W from Literal                        XORLW             Exclusive OR Literal with W

Syntax:           [ label ] SUBLW k                              Syntax:           [label] XORLW k
                                                                 Operands:         0  k  255
Operands:         0  k  255                                      Operation:        (W) .XOR. k  (W)
                                                                 Status Affected:  Z
Operation:        k - (W)  (W)                                   Description:
                                                                                   The contents of the W register are
Status Affected: C, DC, Z                                                          XOR'ed with the eight bit literal 'k'.
                                                                                   The result is placed in the W regis-
Description:      The W register is subtracted (2's com-                           ter.
                  plement method) from the eight bit lit-
                  eral 'k'. The result is placed in the W
                  register.

SUBWF             Subtract W from f                              XORWF             Exclusive OR W with f
Syntax:                                                          Syntax:
Operands:         [ label ] SUBWF f,d                            Operands:         [label] XORWF f,d
                  0  f  127
Operation:        d  [0,1]                                       Operation:        0  f  127
Status            (f) - (W)  (destination)                       Status Affected:  d  [0,1]
Affected:         C, DC, Z                                       Description:
Description:                                                                       (W) .XOR. (f)  (destination)
                  Subtract (2's complement method) W
                  register from register 'f'. If 'd' is 0, the                     Z
                  result is stored in the W register. If 'd' is
                  1, the result is stored back in register 'f'.                    Exclusive OR the contents of the W
                                                                                   register with register 'f'. If 'd' is 0, the
                                                                                   result is stored in the W register. If 'd'
                                                                                   is 1, the result is stored back in regis-
                                                                                   ter 'f'.

SWAPF             Swap Nibbles in f
Syntax:
Operands:         [ label ] SWAPF f,d

Operation:        0  f  127
                  d  [0,1]
Status Affected:
Description:      (f<3:0>)  (destination<7:4>),
                  (f<7:4>)  (destination<3:0>)

                  None

                  The upper and lower nibbles of regis-
                  ter 'f' are exchanged. If 'd' is 0, the
                  result is placed in W register. If 'd' is 1,
                  the result is placed in register 'f'.

DS35008B-page 74                           Preliminary                              1999 Microchip Technology Inc.
12.0 DEVELOPMENT SUPPORT                                       PIC16C62B/72A

The PICmicro microcontrollers are supported with a     MPLAB allows you to:
full range of hardware and software development tools:
                                                         Edit your source files (either assembly or `C')
Integrated Development Environment                     One touch assemble (or compile) and download
   - MPLABTM IDE Software
                                                           to PICmicro tools (automatically updates all
Assemblers/Compilers/Linkers                             project information)
   - MPASM Assembler                                     Debug using:
   - MPLAB-C17 and MPLAB-C18 C Compilers                   - source files
   - MPLINK/MPLIB Linker/Librarian                         - absolute listing file
                                                           - object code
Simulators
   - MPLAB-SIM Software Simulator                       The ability to use MPLAB with Microchip's simulator,
                                                        MPLAB-SIM, allows a consistent platform and the abil-
Emulators                                             ity to easily switch from the cost-effective simulator to
   - MPLAB-ICE Real-Time In-Circuit Emulator            the full featured emulator with minimal retraining.
   - PICMASTER/PICMASTER-CE In-Circuit
      Emulator                                          12.2 MPASM Assembler
   - ICEPICTM
                                                        MPASM is a full featured universal macro assembler for
In-Circuit Debugger                                   all PICmicro MCU's. It can produce absolute code
   - MPLAB-ICD for PIC16F877                            directly in the form of HEX files for device program-
                                                        mers, or it can generate relocatable objects for
Device Programmers                                    MPLINK.
   - PRO MATE II Universal Programmer
   - PICSTART Plus Entry-Level Prototype               MPASM has a command line interface and a Windows
      Programmer                                        shell and can be used as a standalone application on a
                                                        Windows 3.x or greater system. MPASM generates
Low-Cost Demonstration Boards                         relocatable object files, Intel standard HEX files, MAP
   - SIMICE                                             files to detail memory usage and symbol reference, an
   - PICDEM-1                                           absolute LST file which contains source lines and gen-
   - PICDEM-2                                           erated machine code, and a COD file for MPLAB
   - PICDEM-3                                           debugging.
   - PICDEM-17
   - SEEVAL                                            MPASM features include:
   - KEELOQ
                                                         MPASM and MPLINK are integrated into MPLAB
12.1 MPLAB Integrated Development                          projects.
          Environment Software
                                                         MPASM allows user defined macros to be created
   - The MPLAB IDE software brings an ease of              for streamlined assembly.
      software development previously unseen in
      the 8-bit microcontroller market. MPLAB is a       MPASM allows conditional assembly for multi pur-
      Windows-based application which contains:           pose source files.

Multiple functionality                                 MPASM directives allow complete control over the
   - editor                                                assembly process.
   - simulator
   - programmer (sold separately)                       12.3 MPLAB-C17 and MPLAB-C18
   - emulator (sold separately)                                   C Compilers

A full featured editor                                The MPLAB-C17 and MPLAB-C18 Code Development
A project manager                                     Systems are complete ANSI `C' compilers and inte-
Customizable tool bar and key mapping                 grated development environments for Microchip's
A status bar                                          PIC17CXXX and PIC18CXXX family of microcontrol-
On-line help                                          lers, respectively. These compilers provide powerful
                                                        integration capabilities and ease of use not found with
                                                        other compilers.

                                                        For easier source level debugging, the compilers pro-
                                                        vide symbol information that is compatible with the
                                                        MPLAB IDE memory display.

1999 Microchip Technology Inc.  Preliminary           DS35008B-page 75
PIC16C62B/72A                                               Interchangeable processor modules allow the system
                                                            to be easily reconfigured for emulation of different pro-
12.4 MPLINK/MPLIB Linker/Librarian                          cessors. The universal architecture of the MPLAB-ICE
                                                            allows expansion to support new PICmicro microcon-
MPLINK is a relocatable linker for MPASM and                trollers.
MPLAB-C17 and MPLAB-C18. It can link relocatable
objects from assembly or C source files along with pre-     The MPLAB-ICE Emulator System has been designed
compiled libraries using directives from a linker script.   as a real-time emulation system with advanced fea-
                                                            tures that are generally found on more expensive devel-
MPLIB is a librarian for pre-compiled code to be used       opment tools. The PC platform and Microsoft Windows
with MPLINK. When a routine from a library is called        3.x/95/98 environment were chosen to best make these
from another source file, only the modules that contains    features available to you, the end user.
that routine will be linked in with the application. This
allows large libraries to be used efficiently in many dif-  MPLAB-ICE 2000 is a full-featured emulator system
ferent applications. MPLIB manages the creation and         with enhanced trace, trigger, and data monitoring fea-
modification of library files.                              tures. Both systems use the same processor modules
                                                            and will operate across the full operating speed range
MPLINK features include:                                    of the PICmicro MCU.

MPLINK works with MPASM and MPLAB-C17                     12.7 PICMASTER/PICMASTER CE
   and MPLAB-C18.
                                                            The PICMASTER system from Microchip Technology is
MPLINK allows all memory areas to be defined as           a full-featured, professional quality emulator system.
   sections to provide link-time flexibility.               This flexible in-circuit emulator provides a high-quality,
                                                            universal platform for emulating Microchip 8-bit
MPLIB features include:                                     PICmicro microcontrollers (MCUs). PICMASTER sys-
                                                            tems are sold worldwide, with a CE compliant model
MPLIB makes linking easier because single librar-         available for European Union (EU) countries.
   ies can be included instead of many smaller files.
                                                            12.8 ICEPIC
MPLIB helps keep code maintainable by grouping
   related modules together.                                ICEPIC is a low-cost in-circuit emulation solution for the
                                                            Microchip Technology PIC16C5X, PIC16C6X,
MPLIB commands allow libraries to be created              PIC16C7X, and PIC16CXXX families of 8-bit one-time-
   and modules to be added, listed, replaced,               programmable (OTP) microcontrollers. The modular
   deleted, or extracted.                                   system can support different subsets of PIC16C5X or
                                                            PIC16CXXX products through the use of
12.5 MPLAB-SIM Software Simulator                           interchangeable personality modules or daughter
                                                            boards. The emulator is capable of emulating without
The MPLAB-SIM Software Simulator allows code                target application circuitry being present.
development in a PC host environment by simulating
the PICmicro series microcontrollers on an instruction      12.9 MPLAB-ICD In-Circuit Debugger
level. On any given instruction, the data areas can be
examined or modified and stimuli can be applied from        Microchip's In-Circuit Debugger, MPLAB-ICD, is a pow-
a file or user-defined key press to any of the pins. The    erful, low-cost run-time development tool. This tool is
execution can be performed in single step, execute until    based on the flash PIC16F877 and can be used to
break, or trace mode.                                       develop for this and other PICmicro microcontrollers
                                                            from the PIC16CXXX family. MPLAB-ICD utilizes the
MPLAB-SIM fully supports symbolic debugging using           In-Circuit Debugging capability built into the
MPLAB-C17 and MPLAB-C18 and MPASM. The Soft-                PIC16F87X. This feature, along with Microchip's In-Cir-
ware Simulator offers the flexibility to develop and        cuit Serial Programming protocol, offers cost-effective
debug code outside of the laboratory environment mak-       in-circuit flash programming and debugging from the
ing it an excellent multi-project software development      graphical user interface of the MPLAB Integrated
tool.                                                       Development Environment. This enables a designer to
                                                            develop and debug source code by watching variables,
12.6 MPLAB-ICE High Performance                             single-stepping and setting break points. Running at
           Universal In-Circuit Emulator with               full speed enables testing hardware in real-time. The
           MPLAB IDE                                        MPLAB-ICD is also a programmer for the flash
                                                            PIC16F87X family.
The MPLAB-ICE Universal In-Circuit Emulator is
intended to provide the product development engineer
with a complete microcontroller design tool set for
PICmicro microcontrollers (MCUs). Software control of
MPLAB-ICE is provided by the MPLAB Integrated
Development Environment (IDE), which allows editing,
"make" and download, and source debugging from a
single environment.

DS35008B-page 76  Preliminary                               1999 Microchip Technology Inc.
                                                          PIC16C62B/72A

12.10 PRO MATE II Universal Programmer                    the PICDEM-1 board, on a PRO MATE II or
                                                          PICSTART-Plus programmer, and easily test firm-
The PRO MATE II Universal Programmer is a full-fea-       ware. The user can also connect the PICDEM-1
tured programmer capable of operating in stand-alone      board to the MPLAB-ICE emulator and download the
mode as well as PC-hosted mode. PRO MATE II is CE         firmware to the emulator for testing. Additional proto-
compliant.                                                type area is available for the user to build some addi-
                                                          tional hardware and connect it to the microcontroller
The PRO MATE II has programmable VDD and VPP              socket(s). Some of the features include an RS-232
supplies which allows it to verify programmed memory      interface, a potentiometer for simulated analog input,
at VDD min and VDD max for maximum reliability. It has    push-button switches and eight LEDs connected to
an LCD display for instructions and error messages,       PORTB.
keys to enter commands and a modular detachable
socket assembly to support various package types. In      12.14 PICDEM-2 Low-Cost PIC16CXX
stand-alone mode the PRO MATE II can read, verify or                Demonstration Board
program PICmicro devices. It can also set code-protect
bits in this mode.                                        The PICDEM-2 is a simple demonstration board that
                                                          supports the PIC16C62, PIC16C64, PIC16C65,
12.11 PICSTART Plus Entry Level                           PIC16C73 and PIC16C74 microcontrollers. All the
          Development System                              necessary hardware and software is included to
                                                          run the basic demonstration programs. The user
The PICSTART programmer is an easy-to-use, low-           can program the sample microcontrollers provided
cost prototype programmer. It connects to the PC via      with the PICDEM-2 board, on a PRO MATE II pro-
one of the COM (RS-232) ports. MPLAB Integrated           grammer or PICSTART-Plus, and easily test firmware.
Development Environment software makes using the          The MPLAB-ICE emulator may also be used with the
programmer simple and efficient.                          PICDEM-2 board to test firmware. Additional prototype
                                                          area has been provided to the user for adding addi-
PICSTART Plus supports all PICmicro devices with up       tional hardware and connecting it to the microcontroller
to 40 pins. Larger pin count devices such as the          socket(s). Some of the features include a RS-232 inter-
PIC16C92X, and PIC17C76X may be supported with            face, push-button switches, a potentiometer for simu-
an adapter socket. PICSTART Plus is CE compliant.         lated analog input, a Serial EEPROM to demonstrate
                                                          usage of the I2C bus and separate headers for connec-
12.12 SIMICE Entry-Level                                  tion to an LCD module and a keypad.
          Hardware Simulator
                                                          12.15 PICDEM-3 Low-Cost PIC16CXXX
SIMICE is an entry-level hardware development sys-                  Demonstration Board
tem designed to operate in a PC-based environment
with Microchip's simulator MPLAB-SIM. Both SIMICE         The PICDEM-3 is a simple demonstration board that
and MPLAB-SIM run under Microchip Technology's            supports the PIC16C923 and PIC16C924 in the PLCC
MPLAB Integrated Development Environment (IDE)            package. It will also support future 44-pin PLCC
software. Specifically, SIMICE provides hardware sim-     microcontrollers with a LCD Module. All the neces-
ulation for Microchip's PIC12C5XX, PIC12CE5XX, and        sary hardware and software is included to run the
PIC16C5X families of PICmicro 8-bit microcontrollers.     basic demonstration programs. The user can pro-
SIMICE works in conjunction with MPLAB-SIM to pro-        gram the sample microcontrollers provided with
vide non-real-time I/O port emulation. SIMICE enables     the PICDEM-3 board, on a PRO MATE II program-
a developer to run simulator code for driving the target  mer or PICSTART Plus with an adapter socket, and
system. In addition, the target system can provide input  easily test firmware. The MPLAB-ICE emulator may
to the simulator code. This capability allows for simple  also be used with the PICDEM-3 board to test firm-
and interactive debugging without having to manually      ware. Additional prototype area has been provided to
generate MPLAB-SIM stimulus files. SIMICE is a valu-      the user for adding hardware and connecting it to the
able debugging tool for entry-level system develop-       microcontroller socket(s). Some of the features include
ment.                                                     an RS-232 interface, push-button switches, a potenti-
                                                          ometer for simulated analog input, a thermistor and
12.13 PICDEM-1 Low-Cost PICmicro                          separate headers for connection to an external LCD
          Demonstration Board                             module and a keypad. Also provided on the PICDEM-3
                                                          board is an LCD panel, with 4 commons and 12 seg-
The PICDEM-1 is a simple board which demonstrates         ments, that is capable of displaying time, temperature
the capabilities of several of Microchip's microcontrol-  and day of the week. The PICDEM-3 provides an addi-
lers. The microcontrollers supported are: PIC16C5X        tional RS-232 interface and Windows 3.1 software for
(PIC16C54 to PIC16C58A), PIC16C61, PIC16C62X,             showing the demultiplexed LCD signals on a PC. A sim-
PIC16C71, PIC16C8X, PIC17C42, PIC17C43 and                ple serial interface allows the user to construct a hard-
PIC17C44. All necessary hardware and software is          ware demultiplexer for the LCD signals.
included to run basic demo programs. The users can
program the sample microcontrollers provided with

1999 Microchip Technology Inc.  Preliminary             DS35008B-page 77
PIC16C62B/72A

12.16 PICDEM-17

The PICDEM-17 is an evaluation board that demon-
strates the capabilities of several Microchip microcon-
trollers, including PIC17C752, PIC17C756,
PIC17C762, and PIC17C766. All necessary hardware
is included to run basic demo programs, which are sup-
plied on a 3.5-inch disk. A programmed sample is
included, and the user may erase it and program it with
the other sample programs using the PRO MATE II or
PICSTART Plus device programmers and easily debug
and test the sample code. In addition, PICDEM-17 sup-
ports down-loading of programs to and executing out of
external FLASH memory on board. The PICDEM-17 is
also usable with the MPLAB-ICE or PICMASTER emu-
lator, and all of the sample programs can be run and
modified using either emulator. Additionally, a gener-
ous prototype area is available for user hardware.

12.17 SEEVAL Evaluation and Programming
           System

The SEEVAL SEEPROM Designer's Kit supports all
Microchip 2-wire and 3-wire Serial EEPROMs. The kit
includes everything necessary to read, write, erase or
program special features of any Microchip SEEPROM
product including Smart SerialsTM and secure serials.
The Total EnduranceTM Disk is included to aid in trade-
off analysis and reliability calculations. The total kit can
significantly reduce time-to-market and result in an
optimized system.

12.18 KEELOQ Evaluation and
           Programming Tools

KEELOQ evaluation and programming tools support
Microchips HCS Secure Data Products. The HCS eval-
uation kit includes an LCD display to show changing
codes, a decoder to decode transmissions, and a pro-
gramming interface to program test transmitters.

DS35008B-page 78  Preliminary                                  1999 Microchip Technology Inc.
1999 Microchip Technology Inc.                                                                                  PIC12CXXX                                                                                                                                                                                                                     TABLE 12-1: DEVELOPMENT TOOLS FROM MICROCHIP
                                                                                                                              PIC14000
                                                                                                                                           PIC16C5X
                                                                                                                                                       PIC16C6X

                                                                                                                                                                    PIC16CXXX
                                                                                                                                                                                PIC16F62X
                                                                                                                                                                                             PIC16C7X
                                                                                                                                                                                                         PIC16C7XX
                                                                                                                                                                                                                      PIC16C8X
                                                                                                                                                                                                                                  PIC16F8XX
                                                                                                                                                                                                                                               PIC16C9XX
                                                                                                                                                                                                                                                           PIC17C4X
                                                                                                                                                                                                                                                                        PIC17C7XX
                                                                                                                                                                                                                                                                                     PIC18CXX2

                                                                                                                                                                                                                                                                                              24CXX/
                                                                                                                                                                                                                                                                                                  25CXX/
                                                                                                                                                                                                                                                                                                     93CXX
                                                                                                                                                                                                                                                                                                              HCSXXX
                                                                                                                                                                                                                                                                                                                          MCRFXXX
                                                                                                                                                                                                                                                                                                                                       MCP2510

                                  Programmers Debugger Emulators Software Tools  MPLABTM Integrated                                                                                                  
                                                                                 Development Environment

                                                                                 MPLABTM C17 Compiler

                                                                                 MPLABTM C18 Compiler

                                                                                 MPASM/MPLINK                                                                                   

                                                                                 MPLABTM-ICE                                                                 **

                                                                                 PICMASTER/PICMASTER-CE

                                                                                 ICEPICTM Low-Cost
                                                                                 In-Circuit Emulator

                                                                                 MPLAB-ICD In-Circuit Debugger                                   *                          *               

Preliminary                                                                      PICSTARTPlus                                                     **
                                                                                 Low-Cost Universal Dev. Kit                                                                                                 
                                                                                                                                                   
                                                                                 PRO MATE II                                                                **                                                                      
                                                                                 Universal Programmer

                                                                                 SIMICE                                                                                    
                                                                                 PICDEM-1
                                                                                 PICDEM-2                                                                                 

                                                                                                                                                                                                                          

                                  Demo Boards and Eval Kits                      PICDEM-3                                                                                                         

                                                                                 PICDEM-14A                                                                                                                                                                                                                                                                                                  PIC16C62B/72A

                                                                                 PICDEM-17                                                                                                                        
                                                                                 KEELOQ Evaluation Kit
                                                                                                                                                                                                                                      
                                                                                 KEELOQ Transponder Kit

                                                                                 microIDTM Programmer's Kit                                                                                                                              

                                                                                 125 kHz microID Developer's Kit

                                                                                 125 kHz Anticollision microID
                                                                                 Developer's Kit

DS35008B-page 79                                                                 13.56 MHz Anticollision microID
                                                                                 Developer's Kit

                                                                                 MCP2510 CAN Developer's Kit                                                                                                                                      

                                   * Contact the Microchip Technology Inc. web site at www.microchip.com for information on how to use the MPLAB-ICD In-Circuit Debugger (DV164001) with PIC16C62, 63, 64, 65, 72, 73, 74, 76, 77
                                  ** Contact Microchip Technology Inc. for availability date.
                                    Development tool is available on select devices.
PIC16C62B/72A

NOTES:

DS35008B-page 80  Preliminary   1999 Microchip Technology Inc.
                                         PIC16C62B/72A

13.0 ELECTRICAL CHARACTERISTICS

Absolute Maximum Ratings ()
Ambient temperature under bias.............................................................................................................-55C to +125C
Storage temperature .............................................................................................................................. -65C to +150C
Voltage on any pin with respect to VSS (except VDD, MCLR, and RA4).......................................... -0.3V to (VDD + 0.3V)
Voltage on VDD with respect to VSS ......................................................................................................... -0.3V to +7.5V
Voltage on MCLR with respect to VSS (Note 2).......................................................................................... 0V to +13.25V
Voltage on RA4 with respect to Vss ............................................................................................................... 0V to +8.5V
Total power dissipation (Note 1)................................................................................................................................1.0W
Maximum current out of VSS pin ...........................................................................................................................300 mA
Maximum current into VDD pin ..............................................................................................................................250 mA
Input clamp current, IIK (VI < 0 or VI > VDD)...................................................................................................................... 20 mA
Output clamp current, IOK (VO < 0 or VO > VDD) .............................................................................................................. 20 mA
Maximum output current sunk by any I/O pin..........................................................................................................25 mA
Maximum output current sourced by any I/O pin ....................................................................................................25 mA
Maximum current sunk by PORTA and PORTB (combined) .................................................................................200 mA
Maximum current sourced by PORTA and PORTB (combined)............................................................................200 mA
Maximum current sunk by PORTC........................................................................................................................200 mA
Maximum current sourced by PORTC ..................................................................................................................200 mA

   Note 1: Power dissipation is calculated as follows: Pdis = VDD x {IDD -  IOH} +  {(VDD-VOH) x IOH} + (VOl x IOL)
          2: Voltage spikes below VSS at the MCLR/VPP pin, inducing currents greater than 80 mA, may cause latch-up.
               Thus, a series resistor of 50-100 should be used when applying a "low" level to the MCLR/VPP pin, rather
               than pulling this pin directly to VSS.

  NOTICE: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability.

1998 Microchip Technology Inc.  Preliminary  DS35008B-page 81
PIC16C62B/72A

FIGURE 13-1: PIC16C62B/72A-20 VOLTAGE-FREQUENCY GRAPH

         6.0 V           PPICIC161C6CXXXXXX-20
         5.5 V
Voltage  5.0 V
         4.5 V
         4.0 V

         3.5 V
         3.0 V
         2.5 V
         2.0 V

                                                       20 MHz

                         Frequency

FIGURE 13-2: PIC16LC62B/72A AND PIC16C62B/72A/JW VOLTAGE-FREQUENCY GRAPH

Voltage  6.0 V    PIC16LCXXX-04
         5.5 V
         5.0 V
         4.5 V
         4.0 V
         3.5 V
         3.0 V
         2.5 V
         2.0 V

                  4 MHz               10 MHz

                         Frequency

         FMAX = (12.0 MHz/V) (VDDAPPMIN - 2.5 V) + 4 MHz
         Note: VDDAPPMIN is the minimum voltage of the PICmicro device in the application.

                  Fmax is no greater than 10 MHz.

DS35008B-page 82         Preliminary                   1998 Microchip Technology Inc.
                                                       PIC16C62B/72A

FIGURE 13-3: PIC16C62B/72A-04 VOLTAGE-FREQUENCY GRAPH

         6.0 V                           PIC16CXXX-04
         5.5 V
Voltage  5.0 V
         4.5 V
         4.0 V

         3.5 V
         3.0 V
         2.5 V
         2.0 V

                                  4 MHz

                                         Frequency

1998 Microchip Technology Inc.         Preliminary   DS35008B-page 83
PIC16C62B/72A

13.1 DC Characteristics: PIC16C62B/72A-04 (Commercial, Industrial, Extended)
                                           PIC16C62B/72A-20 (Commercial, Industrial, Extended)

DC CHARACTERISTICS                        Standard Operating Conditions (unless otherwise stated)

                                          Operating temperature 0C  TA  +70C for commercial
                                                                         -40C  TA  +85C for industrial
                                                                         -40C  TA +125C for extended

Param Sym         Characteristic          Min Typ Max Units            Conditions
  No.

D001 VDD Supply Voltage                     4.0 - 5.5 V XT, RC and LP osc mode
D001A                                       4.5 - 5.5 V HS osc mode
                                          VBOR* - 5.5 V BOR enabled (Note 7)

D002* VDR RAM Data Retention              -  1.5 -        V
                        Voltage (Note 1)

D003 VPOR VDD Start Voltage to            -  VSS  -       V See section on Power-on Reset for details

                  ensure internal

                  Power-on Reset signal

D004* SVDD VDD Rise Rate to               0.05 -  - V/ms PWRT enabled (PWRTE bit clear)

D004A*            ensure internal         TBD -   -          PWRT disabled (PWRTE bit set)

                  Power-on Reset signal                      See section on Power-on Reset for details

D005    VBOR Brown-out Reset              3.65 - 4.35 V BODEN bit set
                  voltage trip point

D010 IDD Supply Current                   - 2.7 5 mA XT, RC osc modes
                        (Note 2, 5)                                           FOSC = 4 MHz, VDD = 5.5V (Note 4)

D013                                      -  10 20 mA HS osc mode

                                                             FOSC = 20 MHz, VDD = 5.5V

D020 IPD Power-down Current - 10.5 42 A VDD = 4.0V, WDT enabled,-40C to +85C

                  (Note 3, 5)             -  1.5 16 A VDD = 4.0V, WDT disabled, 0C to +70C

D021                                      -  1.5 19 A VDD = 4.0V, WDT disabled,-40C to +85C

D021B                                     -  2.5 19 A VDD = 4.0V, WDT disabled,-40C to +125C

D022*   IWDT      Module Differential     -  6.0 20 A WDTE BIT SET, VDD = 4.0V
D022A*  IBOR      Current (Note 6)
                  Watchdog Timer          - TBD 200 A BODEN bit set, VDD = 5.0V
                  Brown-out Reset

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: This is the limit to which VDD can be lowered without losing RAM data.

       2: The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O pin
            loading and switching rate, oscillator type, internal code execution pattern, and temperature also have an
            impact on the current consumption.
            The test conditions for all IDD measurements in active operation mode are:
            OSC1 = external square wave, from rail to rail; all I/O pins tristated, pulled to VDD,
            MCLR = VDD; WDT enabled/disabled as specified.

       3: The power-down current in SLEEP mode does not depend on the oscillator type. Power-down current is
            measured with the part in SLEEP mode, with all I/O pins in hi-impedance state and tied to VDD and VSS.

       4: For RC osc mode, current through Rext is not included. The current through the resistor can be estimated by
            the formula Ir = VDD/2Rext (mA) with Rext in kOhm.

       5: Timer1 oscillator (when enabled) adds approximately 20 A to the specification. This value is from charac-
            terization and is for design guidance only. This is not tested.

       6: The  current is the additional current consumed when this peripheral is enabled. This current should be
            added to the base IDD or IPD measurement.

       7: This is the voltage where the device enters the Brown-out Reset. When BOR is enabled, the device will
            perform a brown-out reset when VDD falls below VBOR.

DS35008B-page 84                             Preliminary            1998 Microchip Technology Inc.
                                                         PIC16C62B/72A

13.2 DC Characteristics: PIC16LC62B/72A-04 (Commercial, Industrial)

DC CHARACTERISTICS                    Standard Operating Conditions (unless otherwise stated)
                                      Operating temperature 0C  TA  +70C for commercial

                                                                     -40C  TA  +85C for industrial

Param Sym     Characteristic          Min Typ Max Units            Conditions
  No.

D001 VDD Supply Voltage                 2.5 - 5.5 V LP, XT, RC osc modes (DC - 4 MHz)
                                      VBOR* - 5.5 V BOR enabled (Note 7)

D002* VDR RAM Data Retention          -  1.5 -        V

              Voltage (Note 1)

D003 VPOR VDD Start Voltage to        -  VSS  -       V See section on Power-on Reset for details

              ensure internal

              Power-on Reset signal

D004* SVDD VDD Rise Rate to           0.05 -  - V/ms PWRT enabled (PWRTE bit clear)

D004A*        ensure internal         TBD -   -          PWRT disabled (PWRTE bit set)

              Power-on Reset signal                      See section on Power-on Reset for details

D005    VBOR Brown-out Reset          3.65 - 4.35 V BODEN bit set
                  voltage trip point

D010 IDD Supply Current               - 2.0 3.8 mA XT, RC osc modes
                        (Note 2, 5)                                       FOSC = 4 MHz, VDD = 3.0V (Note 4)

D010A                                 - 22.5 48 A LP OSC MODE
                                                                          FOSC = 32 kHz, VDD = 3.0V, WDT disabled

D020 IPD Power-down Current           -  7.5 30 A VDD = 3.0V, WDT enabled, -40C to +85C

D021          (Note 3, 5)             -  0.9 5 A VDD = 3.0V, WDT disabled, 0C to +70C

D021A                                 -  0.9 5 A VDD = 3.0V, WDT disabled, -40C to +85C

D022*   IWDT  Module Differential     -  6.0 20 A WDTE BIT SET, VDD = 4.0V
D022A*  IBOR  Current (Note 6)
              Watchdog Timer          - TBD 200 A BODEN bit set, VDD = 5.0V
              Brown-out Reset

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: This is the limit to which VDD can be lowered without losing RAM data.

       2: The supply current is mainly a function of the operating voltage and frequency. Other factors such as I/O pin
            loading and switching rate, oscillator type, internal code execution pattern, and temperature also have an
            impact on the current consumption.
            The test conditions for all IDD measurements in active operation mode are:
            OSC1 = external square wave, from rail to rail; all I/O pins tristated, pulled to VDD,
            MCLR = VDD; WDT enabled/disabled as specified.

       3: The power-down current in SLEEP mode does not depend on the oscillator type. Power-down current is
            measured with the part in SLEEP mode, with all I/O pins in hi-impedance state and tied to VDD and VSS.

       4: For RC osc mode, current through Rext is not included. The current through the resistor can be estimated by
            the formula Ir = VDD/2Rext (mA) with Rext in kOhm.

       5: Timer1 oscillator (when enabled) adds approximately 20 A to the specification. This value is from charac-
            terization and is for design guidance only. This is not tested.

       6: The  current is the additional current consumed when this peripheral is enabled. This current should be
            added to the base IDD or IPD measurement.

       7: This is the voltage where the device enters the Brown-out Reset. When BOR is enabled, the device will
            perform a brown-out reset when VDD falls below VBOR.

1998 Microchip Technology Inc.         Preliminary                 DS35008B-page 85
PIC16C62B/72A

13.3 DC Characteristics: PIC16C62B/72A-04 (Commercial, Industrial, Extended)
                                           PIC16C62B/72A-20 (Commercial, Industrial, Extended)
                                           PIC16LC62B/72A-04 (Commercial, Industrial)

DC CHARACTERISTICS                            Standard Operating Conditions (unless otherwise stated)
                                              Operating temperature 0C  TA  +70C for commercial

                                                                             -40C  TA  +85C for industrial
                                                                             -40C  TA +125C for extended
                                              Operating voltage VDD range as described in DC spec Section 13.1

                                              and Section 13.2

Param Sym                  Characteristic     Min Typ Max Units           Conditions
  No.
                 Input Low Voltage            VSS       - 0.15VDD V For entire VDD range
            VIL  I/O ports
D030             with TTL buffer              Vss       -  0.8V  V 4.5V  VDD  5.5V
D030A
D031             with Schmitt Trigger buffer  VSS       - 0.2VDD V
D032             MCLR, OSC1 (in RC mode)
D033             OSC1 (in XT, HS and LP       Vss       - 0.2VDD V
                 modes)
            VIH  Input High Voltage           Vss       - 0.3VDD V Note1
D040             I/O ports
D040A            with TTL buffer                        -

                                              2.0       -  VDD   V 4.5V  VDD  5.5V

                                              0.25VD -     Vdd   V For entire VDD range

                                              D + 0.8V

D041             with Schmitt Trigger buffer  0.8VDD -     VDD   V For entire VDD range

D042             MCLR                         0.8VDD -     VDD   V

D042A            OSC1 (XT, HS and LP modes) 0.7VDD -       VDD   V Note1

D043             OSC1 (in RC mode)            0.9VDD -     Vdd   V

                 Input Leakage Current
                 (Notes 2, 3)

D060 IIL         I/O ports                    -         -  1    A Vss  VPIN  VDD,

                                                                    Pin at hi-impedance

D061             MCLR, RA4/T0CKI              -         -  5    A Vss  VPIN  VDD

D063             OSC1                         -         -  5    A Vss  VPIN  VDD,

                                                                    XT, HS and LP osc modes

D070 IPURB PORTB weak pull-up current 50                250 400  A VDD = 5V, VPIN = VSS

                 Output Low Voltage

D080 VOL I/O ports                            -         -  0.6   V IOL = 8.5 mA, VDD = 4.5V,

                                                                    -40C to +85C

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: In RC oscillator mode, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that the

            device be driven with external clock in RC mode.
       2: The leakage current on the MCLR/VPP pin is strongly dependent on the applied voltage level. The specified

            levels represent normal operating conditions. Higher leakage current may be measured at different input volt-
            ages.
       3: Negative current is defined as current sourced by the pin.

DS35008B-page 86                              Preliminary            1998 Microchip Technology Inc.
                                                         PIC16C62B/72A

DC CHARACTERISTICS                     Standard Operating Conditions (unless otherwise stated)
                                       Operating temperature 0C  TA  +70C for commercial

                                                                      -40C  TA  +85C for industrial
                                                                      -40C  TA +125C for extended
                                       Operating voltage VDD range as described in DC spec Section 13.1

                                       and Section 13.2

Param Sym         Characteristic       Min Typ Max Units            Conditions
  No.

                                       -  -         0.6  V IOL = 7.0 mA, VDD = 4.5V,

                                                             -40C to +125C

D083       OSC2/CLKOUT                 -  -         0.6  V IOL = 1.6 mA, VDD = 4.5V,
           (RC osc mode)
                                                             -40C to +85C

                                       -  -         0.6  V IOL = 1.2 mA, VDD = 4.5V,

                                                             -40C to +125C

           Output High Voltage

D090 VOH I/O ports (Note 3)            VDD-0.7 -    -    V IOH = -3.0 mA, VDD = 4.5V,

                                                             -40C to +85C

                                       VDD-0.7 -    -    V IOH = -2.5 mA, VDD = 4.5V,

                                                             -40C to +125C

D092       OSC2/CLKOUT (RC osc         VDD-0.7 -    -    V IOH = -1.3 mA, VDD = 4.5V,

           mode)                                             -40C to +85C

                                       VDD-0.7 -    -    V IOH = -1.0 mA, VDD = 4.5V,

                                                             -40C to +125C

D150* VOD Open-Drain High Voltage      -  -         8.5  V RA4 pin

           Capacitive Loading Specs
           on Output Pins

D100 COSC2 OSC2 pin                    -  -         15   pF In XT, HS and LP modes when

                                                             external clock is used to drive

                                                             OSC1.

D101 CIO All I/O pins and OSC2 (in RC  -  -         50   pF

           mode)

D102 Cb SCL, SDA in I2C mode           -  -         400 pF

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: In RC oscillator mode, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that the

            device be driven with external clock in RC mode.
       2: The leakage current on the MCLR/VPP pin is strongly dependent on the applied voltage level. The specified

            levels represent normal operating conditions. Higher leakage current may be measured at different input volt-
            ages.
       3: Negative current is defined as current sourced by the pin.

1998 Microchip Technology Inc.       Preliminary                  DS35008B-page 87
PIC16C62B/72A

13.4 AC (Timing) Characteristics

13.4.1 TIMING PARAMETER SYMBOLOGY

The timing parameter symbols have been created fol-
lowing one of the following formats:

   1. TppS2ppS                                       3. TCC:ST (I2C specifications only)

   2. TppS                                           4. Ts  (I2C specifications only)

T

   F        Frequency                                T      Time

   Lowercase letters (pp) and their meanings:

pp

   cc       CCP1                                     osc    OSC1

   ck       CLKOUT                                   rd     RD

   cs       CS                                       rw     RD or WR

   di       SDI                                      sc     SCK

   do       SDO                                      ss     SS

   dt       Data in                                  t0     T0CKI

   io       I/O port                                 t1     T1CKI

   mc       MCLR                                     wr     WR

   Uppercase letters and their meanings:

S

   F        Fall                                     P      Period
                                                     R      Rise
   H        High                                     V      Valid
                                                     Z      Hi-impedance
   I        Invalid (Hi-impedance)
                                                     High   High
   L        Low                                      Low    Low

I2C only

   AA       output access

   BUF      Bus free

   TCC:ST (I2C specifications only)

CC

   HD       Hold                                     SU     Setup
                                                     STO    STOP condition
ST

   DAT      DATA input hold

   STA      START condition

DS35008B-page 88                               Preliminary                1998 Microchip Technology Inc.
                                                                    PIC16C62B/72A

13.4.2 TIMING CONDITIONS

The temperature and voltages specified in Table 13-1
apply to all timing specifications unless otherwise
noted. Figure 13-4 specifies the load conditions for the
timing specifications.

TABLE 13-1: TEMPERATURE AND VOLTAGE SPECIFICATIONS - AC

AC CHARACTERISTICS                Standard Operating Conditions (unless otherwise stated)
                                  Operating temperature 0C  TA  +70C for commercial

                                                                 -40C  TA  +85C for industrial
                                                                 -40C  TA +125C for extended
                                  Operating voltage VDD range as described in DC spec Section 13.1 and Section 13.2.

                                  LC parts operate for commercial/industrial temp's only.

FIGURE 13-4: LOAD CONDITIONS FOR DEVICE TIMING SPECIFICATIONS

Load condition 1                                                    Load condition 2

                                  VDD/2

                                       RL                      Pin                    CL

                                                                    VSS

Pin                                      CL
                                                     RL = 464

                                  VSS      CL = 50 pF for all pins except OSC2/CLKOUT

                                                          15 pF for OSC2 output

1998 Microchip Technology Inc.           Preliminary                                    DS35008B-page 89
PIC16C62B/72A

13.4.3 TIMING DIAGRAMS AND SPECIFICATIONS

FIGURE 13-5: EXTERNAL CLOCK TIMING

                  Q4                    Q1  Q2           Q3     Q4                Q1

    OSC1                                1           3        3  4   4
    CLKOUT
                                                2

TABLE 13-2: EXTERNAL CLOCK TIMING REQUIREMENTS

Param Sym                   Characteristic  Min Typ Max Units          Conditions
  No.

1A  Fosc External CLKIN Frequency           DC --        4 MHz RC and XT osc modes
                                            DC --        4 MHz HS osc mode (-04)
                  (Note 1)

                                            DC --        20 MHz HS osc mode (-20)

                                            DC --        200 kHz LP osc mode

                  Oscillator Frequency      DC --        4 MHz RC osc mode
                  (Note 1)                  0.1 --       4 MHz XT osc mode

                                            4   --       20 MHz HS osc mode

                                            5   --       200 kHz LP osc mode

1   Tosc External CLKIN Period              250 --       --     ns RC and XT osc modes
                                            250 --
                  (Note 1)                               --     ns HS osc mode (-04)

                                            50 --        --     ns HS osc mode (-20)

                                            5   --       --     s LP osc mode

                  Oscillator Period         250 --       --     ns RC osc mode
                  (Note 1)
                                            250 -- 10,000 ns XT osc mode

                                            250 --       250 ns HS osc mode (-04)

                                            50 --        250 ns HS osc mode (-20)

                                            5   --       --     s LP osc mode

2   TCY Instruction Cycle Time (Note 1) 200 --           DC     ns TCY = 4/FOSC

3*  TosL, External Clock in (OSC1) High 100 --           --     ns XT oscillator

    TosH or Low Time                        2.5 --       --     s LP oscillator

                                            15 --        --     ns HS oscillator

4*  TosR, External Clock in (OSC1) Rise -- --            25     ns XT oscillator

    TosF or Fall Time                       ----         50     ns LP oscillator

                                            ----         15     ns HS oscillator

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: Instruction cycle period (TCY) equals four times the input oscillator time-base period. All specified values are

            based on characterization data for that particular oscillator type under standard operating conditions with the
            device executing code. Exceeding these specified limits may result in an unstable oscillator operation and/or
            higher than expected current consumption. All devices are tested to operate at "min." values with an external
            clock applied to the OSC1/CLKIN pin.
            When an external clock input is used, the "Max." cycle time limit is "DC" (no clock) for all devices.

DS35008B-page 90                            Preliminary             1998 Microchip Technology Inc.
                                                                                     PIC16C62B/72A

FIGURE 13-6: CLKOUT AND I/O TIMING

           Q4                              Q1                                       Q2            Q3

OSC1

                                  10                                                         11

CLKOUT

                                  13                                    19  18               12
                                       14                                                            16

I/O Pin                                                                                             new value
(input)

                                      17                                             15

I/O Pin    old value
(output)

                                                                20, 21
      Note: Refer to Figure 13-4 for load conditions.

TABLE 13-3: CLKOUT AND I/O TIMING REQUIREMENTS

Param Sym  Characteristic                                                       Min Typ Max Units Conditions
  No.

10* TosH2ckL OSC1 to CLKOUT                                                     --       75  200  ns Note 1

11* TosH2ckH OSC1 to CLKOUT                                                     --       75  200  ns Note 1

12* TckR   CLKOUT rise time                                                     --       35  100  ns Note 1

13* TckF   CLKOUT fall time                                                     --       35  100  ns Note 1

14* TckL2ioV CLKOUT  to Port out valid                                          --       -- 0.5TCY + 20 ns Note 1

15* TioV2ckH Port in valid before CLKOUT                                    Tosc + 200 --    --   ns Note 1

16* TckH2ioI Port in hold after CLKOUT                                          0        --  --   ns Note 1

17* TosH2ioV OSC1 (Q1 cycle) to Port out valid                                  --       50  150  ns

18* TosH2ioI OSC1 (Q2 cycle) to Port PIC16CXX                                   100      --  --   ns

18A*       input invalid (I/O in hold PIC16LCXX                                 200      --  --   ns

           time)

19* TioV2osH Port input valid to OSC1 (I/O in setup time)                       0        --  --   ns

20* TioR   Port output rise time           PIC16CXX                             --       10  40   ns

20A*                                       PIC16LCXX                            --       --  80   ns

21* TioF   Port output fall time           PIC16CXX                             --       10  40   ns

21A*                                       PIC16LCXX                            --       --  80   ns

22* Tinp   INT pin high or low time                                             TCY      --  --   ns

23* Trbp   RB7:RB4 change INT high or low time                                  TCY      --  --   ns

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only and

         are not tested.
      These parameters are asynchronous events not related to any internal clock edge.
Note 1: Measurements are taken in RC Mode where CLKOUT output is 4 x TOSC.

1998 Microchip Technology Inc.           Preliminary                                            DS35008B-page 91
PIC16C62B/72A

FIGURE 13-7: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER AND POWER-UP
                     TIMER TIMING

            VDD   33                                                30
                                 32                            34
        MCLR
                                                                                31
       Internal                                                                                     34
          POR

         PWRT
      Time-out

           OSC
      Time-out

       Internal
       RESET

    Watchdog
         Timer

       RESET

    I/O Pins
         Note: Refer to Figure 13-4 for load conditions.

FIGURE 13-8: BROWN-OUT RESET TIMING

    VDD                               BVDD
                                                                   35

TABLE 13-4: RESET, WATCHDOG TIMER, OSCILLATOR START-UP TIMER, POWER-UP TIMER
                     AND BROWN-OUT RESET REQUIREMENTS

Param Sym         Characteristic                          Min Typ Max Units     Conditions
  No.

30  TmcL MCLR Pulse Width (low)                           2    --       -- s VDD = 5V, -40C to +125C

31* Twdt Watchdog Timer Time-out Period 7                      18       33 ms VDD = 5V, -40C to +125C
                       (No Prescaler)

32  Tost Oscillator Start-up Timer Period -- 1024 -- -- TOSC = OSC1 period

                                                               TOSC

33* Tpwrt Power-up Timer Period                           28   72       132 ms VDD = 5V, -40C to +125C

34  TIOZ I/O Hi-impedance from MCLR                       --   --       2.1 s

                  Low or WDT reset

35  TBOR Brown-out Reset Pulse Width                      100  --       -- s VDD  BVDD (D005)

    * These parameters are characterized but not tested.
     Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

       and are not tested.

DS35008B-page 92                                          Preliminary            1998 Microchip Technology Inc.
                                                                                   PIC16C62B/72A

FIGURE 13-9: TIMER0 AND TIMER1 EXTERNAL CLOCK TIMINGS
                    T0CKI

                                         40                               41

                                                              42

       T1OSO/T1CKI

                                         45                               46

                                                              47                              48

       TMR0 or
       TMR1

       Note: Refer to Figure 13-4 for load conditions.

TABLE 13-5: TIMER0 AND TIMER1 EXTERNAL CLOCK REQUIREMENTS

Param       Sym                   Characteristic                              Min         Typ Max Units  Conditions
  No.

40*    Tt0H      T0CKI High Pulse Width                   No Prescaler    0.5TCY + 20     -- -- ns Must also meet
                                                          With Prescaler        10
                                                                                          --  --  ns parameter 42

41*    Tt0L      T0CKI Low Pulse Width                    No Prescaler    0.5TCY + 20     -- -- ns Must also meet
                                                          With Prescaler        10
                                                                                          --  --  ns parameter 42

42*    Tt0P      T0CKI Period                             No Prescaler    TCY + 40        -- -- ns

                                                          With Prescaler  Greater of:     -- -- ns N = prescale value
                                                                          20 or TCY + 40                               (2, 4,..., 256)

                                                                                       N

45*    Tt1H      T1CKI High Time  Synchronous, Prescaler = 1              0.5TCY + 20     -- -- ns Must also meet
                                                                                15
                                  Synchronous,            PIC16CXX              25        --  --  ns parameter 47
                                  Prescaler =             PIC16LCXX
                                  2,4,8                                                   -- -- ns

                                  Asynchronous PIC16CXX                       30          -- -- ns

                                                          PIC16LCXX           50          -- -- ns

46*    Tt1L      T1CKI Low Time   Synchronous, Prescaler = 1              0.5TCY + 20     -- -- ns Must also meet
                                                                                15
                                  Synchronous,            PIC16CXX              25        --  --  ns parameter 47
                                  Prescaler =             PIC16LCXX
                                  2,4,8                                                   -- -- ns

                                  Asynchronous PIC16CXX                       30          -- -- ns

                                                          PIC16LCXX           50          -- -- ns

47*    Tt1P      T1CKI input period Synchronous PIC16CXX                  GREATER OF:     -- -- ns N = prescale value
                                                                          30 OR TCY + 40                               (1, 2, 4, 8)

                                                                                N

                                                          PIC16LCXX       GREATER OF:                    N = prescale value
                                                                          50 OR TCY + 40                 (1, 2, 4, 8)

                                                                                N

                                  Asynchronous PIC16CXX                       60          -- -- ns

                                                          PIC16LCXX           100         -- -- ns

       Ft1       Timer1 oscillator input frequency range                      DC          -- 200 kHz

                 (oscillator enabled by setting bit T1OSCEN)

48     TCKEZtmr1 Delay from external clock edge to timer increment            2Tosc       -- 7Tosc --

     * These parameters are characterized but not tested.
      Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only and are not tested.

1998 Microchip Technology Inc.                  Preliminary                                     DS35008B-page 93
PIC16C62B/72A

FIGURE 13-10: CAPTURE/COMPARE/PWM TIMINGS

                                        CCP1
                           (Capture Mode)

                                                         50                 51

                                                                   52

                               CCP1
     (Compare or PWM Mode)

                                                     53            54

                  Note: Refer to Figure 13-4 for load conditions.

TABLE 13-6: CAPTURE/COMPARE/PWM REQUIREMENTS

Param Sym                            Characteristic                    Min      Typ Max Units Conditions
  No.

50*  TccL CCP1 input low No Prescaler                              0.5TCY + 20 -- -- ns

           time                      With Prescaler PIC16CXX           10       -- -- ns

                                                     PIC16LCXX         20       -- -- ns

51*  TccH CCP1 input high No Prescaler                             0.5TCY + 20 -- -- ns

           time                      With Prescaler PIC16CXX           10       -- -- ns

                                                     PIC16LCXX         20       -- -- ns

52*  TccP CCP1 input period                                        3TCY + 40    ----  ns N = prescale
                                                                        N                     value (1,4, or 16)

53*  TccR CCP1 output rise time                      PIC16CXX          --       10 25 ns

                                                     PIC16LCXX         --       25 45 ns
                                                     PIC16CXX
54*  TccF CCP1 output fall time                                        --       10 25 ns

                                                     PIC16LCXX         --       25 45 ns

     * These parameters are characterized but not tested.
      Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only and are not

         tested.

DS35008B-page 94                                     Preliminary                1998 Microchip Technology Inc.
                                                                                    PIC16C62B/72A

FIGURE 13-11: EXAMPLE SPI MASTER MODE TIMING (CKE = 0)

     SS             70

     SCK                          71    72                                 78
     (CKP = 0)
                                                                                    79
     SCK
     (CKP = 1)

                        80                                                 79       78
                                      MSb
     SDO                                                    BIT6 - - - - - -1       LSb

                                               75, 76

     SDI                                          MSb IN    BIT6 - - - -1           LSb IN

     Note:                                              74
                                               73

                Refer to Figure 13-4 for load conditions.

TABLE 13-7: EXAMPLE SPI MODE REQUIREMENTS (MASTER MODE, CKE = 0)

Param. Symbol                         Characteristic                           Min       Typ Max Units Conditions
  No.

70        TssL2scH, SS to SCK or SCK input                                     TCY       -- -- ns

          TssL2scL

71        TscH      SCK input high time        Continuous      1.25TCY + 30 -- -- ns
                    (slave mode)               Single Byte
71A                                                                            40        -- -- ns Note 1

72        TscL      SCK input low time         Continuous      1.25TCY + 30 -- -- ns
                    (slave mode)               Single Byte
72A                                                                            40        -- -- ns Note 1

73        TdiV2scH, Setup time of SDI data input to SCK edge                   100       -- -- ns

          TdiV2scL

73A       TB2B      Last clock edge of Byte1 to the 1st clock  1.5TCY + 40 -- --            ns Note 1
                    edge of Byte2

74        TscH2diL, Hold time of SDI data input to SCK edge                    100       -- -- ns

          TscL2diL

75        TdoR      SDO data output rise time PIC16CXX                         --        10 25 ns

                                               PIC16LCXX                       --        20 45 ns

76        TdoF      SDO data output fall time                                  --        10 25 ns

78        TscR      SCK output rise time       PIC16CXX                        --        10 25 ns
                    (master mode)              PIC16LCXX
                                                                               --        20 45 ns

79        TscF      SCK output fall time (master mode)                         --        10 25 ns

80        TscH2doV, SDO data output valid PIC16CXX                             --        -- 50 ns

          TscL2doV after SCK edge              PIC16LCXX                       --        -- 100 ns

       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only
         and are not tested.

Note 1: Specification 73A is only required if specifications 71A and 72A are used.

1998 Microchip Technology Inc.               Preliminary                                  DS35008B-page 95
PIC16C62B/72A

FIGURE 13-12: EXAMPLE SPI MASTER MODE TIMING (CKE = 1)

     SS

                                  81
     SCK
     (CKP = 0)

                                      71                      72

                                                                                             79

                    73

     SCK
     (CKP = 1)

                                                          80

                                                                                             78

     SDO                              MSb                         BIT6 - - - - - -1  LSb

                                              75, 76

     SDI                              MSb IN                      BIT6 - - - -1      LSb IN

                                      74

          Note: Refer to Figure 13-4 for load conditions.

TABLE 13-8: EXAMPLE SPI MODE REQUIREMENTS (MASTER MODE, CKE = 1)

Param. Symbol                                 Characteristic                         Min         Typ Max Units Conditions
  No.

71        TscH      SCK input high time                           Continuous         1.25TCY + 30 -- -- ns
                    (slave mode)                                  Single Byte
71A                                                                                  40          -- -- ns Note 1

72        TscL      SCK input low time                            Continuous         1.25TCY + 30 -- -- ns
                    (slave mode)                                  Single Byte
72A                                                                                  40          -- -- ns Note 1

73        TdiV2scH, Setup time of SDI data input to SCK                              100         -- -- ns

          TdiV2scL edge

73A       TB2B      Last clock edge of Byte1 to the 1st clock 1.5TCY + 40 -- -- ns Note 1
                    edge of Byte2

74        TscH2diL, Hold time of SDI data input to SCK edge                          100         -- -- ns

          TscL2diL

75        TdoR      SDO data output rise                          PIC16CXX           --          10 25 ns
                    time                                          PIC16LCXX
                                                                                                 20 45 ns

76        TdoF      SDO data output fall time                                        --          10 25 ns

78        TscR      SCK output rise time                          PIC16CXX           --          10 25 ns
                    (master mode)                                 PIC16LCXX
                                                                                                 20 45 ns

79        TscF      SCK output fall time (master mode)                               --          10 25 ns

80        TscH2doV, SDO data output valid PIC16CXX                                   --          -- 50 ns

          TscL2doV after SCK edge                                 PIC16LCXX                      -- 100 ns

81        TdoV2scH, SDO data output setup to SCK edge                                TCY         -- -- ns

          TdoV2scL

       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only
         and are not tested.

Note 1: Specification 73A is only required if specifications 71A and 72A are used.

DS35008B-page 96                                                  Preliminary                     1998 Microchip Technology Inc.
                                                                                   PIC16C62B/72A

FIGURE 13-13: EXAMPLE SPI SLAVE MODE TIMING (CKE = 0)

     SS

                                  70                                                       83
                                                                                   79
     SCK
     (CKP = 0)                                                                     78
                                                                                   LSb
                                      71  72                              78
                                                                                                    77
     SCK                                                                             LSb IN
     (CKP = 1)

                                      80                                  79

     SDO                                  MSb              BIT6 - - - - - -1

                                                  75, 76

     SDI                                  MSb IN           BIT6 - - - -1

       Note:                                           74
                                              73

                Refer to Figure 13-4 for load conditions.

TABLE 13-9: EXAMPLE SPI MODE REQUIREMENTS (SLAVE MODE TIMING (CKE = 0)

Param. Symbol                             Characteristic                      Min  Typ Max Units Conditions
  No.

70        TssL2scH, SS to SCK or SCK input                                    TCY  -- -- ns

          TssL2scL

71        TscH      SCK input high time           Continuous   1.25TCY + 30 -- -- ns
                    (slave mode)                  Single Byte
71A                                                                           40   -- -- ns Note 1

72        TscL      SCK input low time            Continuous   1.25TCY + 30 -- -- ns
                    (slave mode)                  Single Byte
72A                                                                           40   -- -- ns Note 1

73        TdiV2scH, Setup time of SDI data input to SCK edge                  100  -- -- ns

          TdiV2scL

73A       TB2B      Last clock edge of Byte1 to the 1st clock             1.5TCY + 40 -- --             ns Note 1
                    edge of Byte2

74        TscH2diL, Hold time of SDI data input to SCK edge                   100  -- -- ns

          TscL2diL

75        TdoR      SDO data output rise time PIC16CXX                        --   10 25 ns

                                                  PIC16LCXX                        20 45 ns

76        TdoF      SDO data output fall time                                 --   10 25 ns

77        TssH2doZ SS to SDO output hi-impedance                              10   -- 50 ns

78        TscR      SCK output rise time          PIC16CXX                    --   10 25 ns
                    (master mode)                 PIC16LCXX
                                                                                   20 45 ns

79        TscF      SCK output fall time (master mode)                        --   10 25 ns

80        TscH2doV, SDO data output valid PIC16CXX                            --   -- 50 ns

          TscL2doV after SCK edge                 PIC16LCXX                        -- 100 ns

83        TscH2ssH, SS  after SCK edge                                    1.5TCY + 40 -- -- ns

          TscL2ssH

       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only
         and are not tested.

Note 1: Specification 73A is only required if specifications 71A and 72A are used.

1998 Microchip Technology Inc.                  Preliminary                                           DS35008B-page 97
PIC16C62B/72A

FIGURE 13-14: EXAMPLE SPI SLAVE MODE TIMING (CKE = 1)

                                 82
       SS

     SCK            70
     (CKP = 0)
                                                                                                      83

                        71               72

     SCK
     (CKP = 1)

                                                                                          80

     SDO                MSb                        BIT6 - - - - - -1                          LSb

                                   75, 76                                                                 77

     SDI                MSb IN                     BIT6 - - - -1                              LSb IN

                                               74
NOTE: Refer to Figure 13-4 for load conditions.

TABLE 13-10: EXAMPLE SPI SLAVE MODE REQUIREMENTS (CKE = 1)

Param. Symbol               Characteristic                                                    Min     Typ Max Units Conditions
  No.

70        TssL2scH, SS to SCK or SCK input                                                    TCY     -- -- ns

          TssL2scL

71        TscH      SCK input high time            Continuous                                 1.25TCY + 30 -- -- ns
                    (slave mode)                   Single Byte
71A                                                                                           40      -- -- ns Note 1

72        TscL      SCK input low time             Continuous                                 1.25TCY + 30 -- -- ns
                    (slave mode)                   Single Byte
72A                                                                                           40      -- -- ns Note 1

73A       TB2B      Last clock edge of Byte1 to the 1st clock 1.5TCY + 40 -- -- ns Note 1
                    edge of Byte2

74        TscH2diL, Hold time of SDI data input to SCK edge                                   100     -- -- ns

          TscL2diL

75        TdoR      SDO data output rise           PIC16CXX                                   --      10 25 ns
                    time                           PIC16LCXX
                                                                                                      20 45 ns

76        TdoF      SDO data output fall time                                                 --      10 25 ns

77        TssH2doZ SS to SDO output hi-impedance                                              10      -- 50 ns

78        TscR      SCK output rise time           PIC16CXX                                   --      10 25 ns
                    (master mode)                  PIC16LCXX
                                                                                              --      20 45 ns

79        TscF      SCK output fall time (master mode)                                        --      10 25 ns

80        TscH2doV, SDO data output valid PIC16CXX                                            --      -- 50 ns

          TscL2doV after SCK edge                  PIC16LCXX                                  --      -- 100 ns

82        TssL2doV SDO data output valid PIC16CXX                                             --      -- 50 ns

                    after SS edge                  PIC16LCXX                                  --      -- 100 ns

83        TscH2ssH, SS  after SCK edge                                                        1.5TCY + 40 -- -- ns

          TscL2ssH

       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only
         and are not tested.

Note 1: Specification 73A is only required if specifications 71A and 72A are used.

DS35008B-page 98                                   Preliminary                                        1998 Microchip Technology Inc.
                                                              PIC16C62B/72A

FIGURE 13-15: I2C BUS START/STOP BITS TIMING

    SCL                    91                                                              93
    SDA  90                                                                 92

                               START                                          STOP
                             Condition                                      Condition

     Note: Refer to Figure 13-4 for load conditions.

TABLE 13-11: I2C BUS START/STOP BITS REQUIREMENTS

Parameter Sym                     Characteristic           Min Ty Max Unit  Conditions
    No.
                                                           p  s

90*      TSU:STA START condition 100 kHz mode 4700 -- -- ns Only relevant for repeated

               Setup time         400 kHz mode 600 -- --                    START condition

91*      THD:STA START condition 100 kHz mode 4000 -- -- ns After this period the first clock

               Hold time          400 kHz mode 600 -- --                    pulse is generated

92*      TSU:STO STOP condition 100 kHz mode 4700 -- -- ns

               Setup time         400 kHz mode 600 -- --

93       THD:STO STOP condition 100 kHz mode 4000 -- -- ns

               Hold time          400 kHz mode 600 -- --

     * These parameters are characterized but not tested.

1998 Microchip Technology Inc.  Preliminary                                          DS35008B-page 99
PIC16C62B/72A

FIGURE 13-16: I2C BUS DATA TIMING                 100                              102
                                                       106
                                        103                                     92
                                                                                           110
          SCL      90                                       101
                           91                                    107
          SDA
          In

                               109                          109

          SDA      Refer to Figure 13-4 for load conditions.
          Out

           Note:

TABLE 13-12: I2C BUS DATA REQUIREMENTS

  Param.      Sym                 Characteristic                 Min      Max Units Conditions
    No.   THIGH
                   Clock high time         100 kHz mode          4.0      --    s Device must operate at a min-
100*                                                                                     imum of 1.5 MHz

                                           400 kHz mode          0.6      --    s Device must operate at a min-
                                                                                         imum of 10 MHz
                                           SSP Module            1.5TCY   --
                                           100 kHz mode                         s Device must operate at a min-
101*      TLOW     Clock low time                                4.7      --             imum of 1.5 MHz

                                           400 kHz mode          1.3      --    s Device must operate at a min-
                                                                                         imum of 10 MHz
102*      TR       SDA and SCL rise        SSP Module           1.5TCY     --
                   time                    100 kHz mode            --     1000  ns
                                           400 kHz mode                   300   ns Cb is specified to be from
                                                              20 + 0.1Cb
                                                                                         10-400 pF
103*      TF       SDA and SCL fall        100 kHz mode               --  300   ns
                   time                    400 kHz mode                         ns Cb is specified to be from
                                                              20 + 0.1Cb 300
                                                                                         10-400 pF
90*       TSU:STA  START condition         100 kHz mode          4.7      --    s Only relevant for repeated
91*       THD:STA  setup time              400 kHz mode                         s START condition
106*      THD:DAT                                                0.6      --    s After this period the first clock
107*      TSU:DAT                                                               s pulse is generated
92*       TSU:STO  START condition hold 100 kHz mode             4.0      --    ns
109*      TAA                                                                   s
110*      TBUF     time                    400 kHz mode          0.6      --    ns Note 2
                                                                                ns
          Cb       Data input hold time 100 kHz mode                  0   --    s
                                                                                s
                                           400 kHz mode               0   0.9   ns Note 1
                                                                                ns
                   Data input setup time 100 kHz mode            250      --    s Time the bus must be free
                                                                                s before a new transmission
                                           400 kHz mode          100      --
                                                                                         can start
                   STOP condition setup 100 kHz mode             4.7      --    pF

                   time                    400 kHz mode          0.6      --

                   Output valid from       100 kHz mode               --  3500
                   clock                   400 kHz mode
                                                                      --  --

                   Bus free time           100 kHz mode          4.7      --

                                           400 kHz mode          1.3      --

                   Bus capacitive loading                             --  400

       * These parameters are characterized but not tested.

Note 1: As a transmitter, the device must provide this internal minimum delay time to bridge the undefined region (min. 300 ns) of the fall-

              ing edge of SCL to avoid unintended generation of START or STOP conditions.
         2: A fast-mode (400 kHz) I2C-bus device can be used in a standard-mode (100 kHz) I2C-bus system, but the requirement Tsu:DAT

              250 ns must then be met. This will automatically be the case if the device does not stretch the LOW period of the SCL signal. If

              such a device does stretch the LOW period of the SCL signal, it must output the next data bit to the SDA line TR
              max.+tsu;DAT = 1000 + 250 = 1250 ns (according to the standard-mode I2C bus specification) before the SCL line is released.

DS35008B-page 100                                 Preliminary                   1998 Microchip Technology Inc.
                                                              PIC16C62B/72A

TABLE 13-13: A/D CONVERTER CHARACTERISTICS:
                     PIC16C72A-04 (COMMERCIAL, INDUSTRIAL, EXTENDED)
                     PIC16C72A-20 (COMMERCIAL, INDUSTRIAL, EXTENDED)
                     PIC16LC72A-04 (COMMERCIAL, INDUSTRIAL)

Param Sym  Characteristic                    Min         Typ         Max Units     Conditions
  No.

A01 NR Resolution                            --          --          8-bits  bit VREF = VDD = 5.12V,
A02 EABS Total Absolute error
A03 EIL Integral linearity error                                                   VSS  VAIN  VREF
A04 EDL Differential linearity error
A05 EFS Full scale error                     --          --          < 1 LSB VREF = VDD = 5.12V,
A06 EOFF Offset error
A10 -- Monotonicity                                                                VSS  VAIN  VREF

                                             --          --          < 1 LSB VREF = VDD = 5.12V,

                                                                                   VSS  VAIN  VREF

                                             --          --          < 1 LSB VREF = VDD = 5.12V,

                                                                                   VSS  VAIN  VREF

                                             --          --          < 1 LSB VREF = VDD = 5.12V,

                                                                                   VSS  VAIN  VREF

                                             --          --          < 1 LSB VREF = VDD = 5.12V,

                                                                                   VSS  VAIN  VREF

                                             --          guaranteed  --      -- VSS  VAIN  VREF

                                                         (Note 3)

A20 VREF Reference voltage                   2.5V        --          VDD + 0.3 V

A25 VAIN Analog input voltage                VSS - 0.3   --          VREF + 0.3 V

A30 ZAIN Recommended impedance of            --          --          10.0    k
                    analog voltage source

A40 IAD A/D conversion            PIC16CXX   --          180         --      A Average current con-

           current (VDD)          PIC16LCXX  --          90          --      A sumption when A/D is

                                                                                   on. (Note 1)

A50 IREF VREF input current (Note 2)         10          --          1000    A During VAIN acquisi-

                                                                                   tion. Based on differ-

                                                                                   ential of VHOLD to

                                                                                   VAIN to charge

                                                                                   CHOLD, see

                                             --          --          10      A Section 9.1.

                                                                                   During A/D conver-

                                                                                   sion cycle

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only and

         are not tested.
Note 1: When A/D is off, it will not consume any current other than minor leakage current.

            The power-down current spec includes any such leakage from the A/D module.
       2: VREF current is from RA3 pin or VDD pin, whichever is selected as reference input.
       3: The A/D conversion result never decreases with an increase in the Input Voltage and has no missing codes.

1998 Microchip Technology Inc.            Preliminary                            DS35008B-page 101
PIC16C62B/72A

FIGURE 13-17: A/D CONVERSION TIMING

     BSF ADCON0, GO                                                           1 TCY

                134        (Tosc/2) (1)                    131

     Q4

                                                           130

     A/D CLK 132

     A/D DATA              7                 6  5       4       3  2    1     0

     ADRES                                   OLD_DATA                                NEW_DATA

          ADIF                                                                         DONE
            GO
                                                   SAMPLING STOPPED
     SAMPLE

Note 1: If the A/D clock source is selected as RC, a time of TCY is added before the A/D clock starts. This
            allows the SLEEP instruction to be executed.

TABLE 13-14: A/D CONVERSION REQUIREMENTS

Param Sym Characteristic                           Min     Typ     Max  Unit           Conditions

No.                                                         --      --     s
                                                            --      --
130 TAD A/D clock period   PIC16CXX                1.6      4.0    6.0     s TOSC based, VREF  3.0V
                                                            6.0    9.0
                           PIC16LCXX               2.0      --      11     s TOSC based, VREF full range

                           PIC16CXX                2.0      20             s A/D RC Mode

                           PIC16LCXX               3.0                     s A/D RC Mode

131 TCNV Conversion time (not including S/H 11                          TAD
                    time) (Note 1)

132 TACQ Acquisition time                       Note 2             -- s

                                                   5*      --      -- s The minimum time is the

                                                                              amplifier settling time. This

                                                                              may be used if the "new" input

                                                                              voltage has not changed by

                                                                              more than 1 LSb (i.e., 20.0 mV

                                                                              @ 5.12V) from the last sam-

                                                                              pled voltage (as stated on

                                                                              CHOLD).

134 TGO               Q4 to A/D clock start        -- TOSC/2 --            -- If the A/D clock source is
                                                                                  selected as RC, a time of TCY
                                                                                  is added before the A/D clock
                                                                                  starts. This allows the SLEEP
                                                                                  instruction to be executed.

135 Tswc Switching from convert  sample            1.5     --      -- TAD

                time

      * These parameters are characterized but not tested.
       Data in "Typ" column is at 5V, 25C unless otherwise stated. These parameters are for design guidance only

         and are not tested.
Note 1: ADRES register may be read on the following TCY cycle.

       2: See Section 9.1 for min conditions.

DS35008B-page 102                               Preliminary                   1998 Microchip Technology Inc.
                                         PIC16C62B/72A

14.0 DC AND AC CHARACTERISTICS GRAPHS AND TABLES

The graphs and tables provided in this section are for design guidance and are not tested.
In some graphs or tables, the data presented are outside specified operating range (i.e., outside specified VDD
range). This is for information only and devices are guaranteed to operate properly only within the specified range.
The data presented in this section is a statistical summary of data collected on units from different lots over a period
of time and matrix samples. 'Typical' represents the mean of the distribution at 25C. 'Max' or 'min' represents
(mean + 3) or (mean - 3) respectively, where  is standard deviation, over the whole temperature range.

                           Graphs and Tables not available at this time.

Data is not available at this time but you may reference the PIC16C72 Series Data Sheet (DS39016,) DC and AC char-
acteristic section, which contains data similar to what is expected.

1999 Microchip Technology Inc.  Preliminary  DS35008B-page 103
PIC16C62B/72A

NOTES:

DS35008B-page 104  Preliminary   1999 Microchip Technology Inc.
15.0 PACKAGING INFORMATION                     PIC16C62B/72A

15.1 Package Marking Information          Example
                                                    PIC16C72A-04/SP
         28-Lead PDIP (Skinny DIP)                        9917HAT
                   MMMMMMMMMMMM
                   XXXXXXXXXXXXXXX
                         AABBCDE

28-Lead CERDIP Windowed                   Example
                             XXXXXXXXXXX
                             XXXXXXXXXXX                      PIC16C72A/JW
                             XXXXXXXXXXX                       9917CAT
                             AABBCDE
                                          Example
28-Lead SOIC                                PIC16C62B-20/SO
  MMMMMMMMMMMMMMMM
  XXXXXXXXXXXXXXXXXXXX                              9910/SAA
          AABBCDE

28-Lead SSOP                              Example

        XXXXXXXXXXXX                              PIC16C62B
        XXXXXXXXXXXX                              20I/SS025

          AABBCDE                                   9917SBP

Legend: MM...M                    Microchip part number information
              XX...X              Customer specific information*
              AA                  Year code (last 2 digits of calendar year)
              BB                  Week code (week of January 1 is week `01')
              C                   Facility code of the plant at which wafer is manufactured
                                  O = Outside Vendor
              D                   C = 5" Line
              E                   S = 6" Line
                                  H = 8" Line
                                  Mask revision number
                                  Assembly code of the plant or country of origin in which
                                  part was assembled

              Note: In the event the full Microchip part number cannot be marked on one line, it will
                          be carried over to the next line thus limiting the number of available characters
                          for customer specific information.

* Standard OTP marking consists of Microchip part number, year code, week code, facility code, mask
     rev#, and assembly code. For OTP marking beyond this, certain price adders apply. Please check with
     your Microchip Sales Office. For QTP devices, any special marking adders are included in QTP price.

1999 Microchip Technology Inc.          Preliminary                                        DS35008B-page 105
PIC16C62B/72A

15.2 28-Lead Skinny Plastic Dual In-line (SP) 300 mil (PDIP)

                                           E1

                                D

                          2

       n                  1                                                  

                     E                                                                                      A2

                                      A

                             c                                                             L
                                                                             p
                                   A1             B1

                     eB                           B

                                   Units          INCHES*                 MILLIMETERS

                         Dimension Limits MIN     NOM       MAX      MIN     NOM                            MAX

Number of Pins                     n                   28                         28

Pitch                              p                  .100                   2.54

Top to Seating Plane               A      .140        .150  .160     3.56    3.81                               4.06

Molded Package Thickness           A2     .125        .130  .135     3.18    3.30                               3.43

Base to Seating Plane              A1     .015                       0.38

Shoulder to Shoulder Width         E      .300        .313  .325     7.62    7.94                               8.26

Molded Package Width               E1     .279        .307  .335     7.09    7.80                               8.51

Overall Length                     D      1.345      1.365  1.385    34.16   34.67                              35.18

Tip to Seating Plane               L      .125        .130  .135     3.18    3.30                               3.43

Lead Thickness                     c      .008        .012  .015     0.20    0.29                               0.38

Upper Lead Width                   B1     .040        .053  .065     1.02    1.33                               1.65

Lower Lead Width                   B      .016        .019  .022     0.41    0.48                               0.56

Overall Row Spacing                eB     .320        .350  .430     8.13    8.89                               10.92

Mold Draft Angle Top                           5       10        15       5       10                             15

Mold Draft Angle Bottom                        5       10        15       5       10                             15

*Controlling Parameter

Notes:
  Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
  .010" (0.254mm) per side.

JEDEC Equivalent: MO-095
Drawing No. C04-070

DS35008B-page 106                         Preliminary                         1999 Microchip Technology Inc.
                                         PIC16C62B/72A

15.3 28-Lead Ceramic Dual In-line with Window (JW) 300 mil (CERDIP)

                                               E1

       W2                            D

                                  2

           n                      1

                  W1
                  E

                                               A                                                            A2
       c                                                                                                          L

                  eB                    A1                                     B1                p
                                                                              B
                                        Units                  INCHES*                         MILLIMETERS
                                                                 NOM          MAX
                                  Dimension Limits   MIN                  28              MIN    NOM        MAX
                                                                       .100        .195
Number of Pins                                    n      .170          .183        .165               28         4.95
                                                         .155          .160        .030                          4.19
Pitch                                             p      .015          .023        .325             2.54         0.76
                                                         .300          .313        .295                          8.26
Top to Seating Plane                              A      .285          .290       1.485   4.32      4.64         7.49
                                                       1.430         1.458         .145                        37.72
Ceramic Package Height                  A2               .135          .140        .012   3.94      4.06         3.68
                                                         .008          .010        .065                          0.30
Standoff                                A1               .050          .058         .021  0.38      0.57         1.65
                                                         .016          .019        .425                          0.53
Shoulder to Shoulder Width                        E      .345          .385        .150   7.62      7.94       10.80
                                                         .130          .140        .310                          3.81
Ceramic Pkg. Width                      E1               .290          .300               7.24      7.37         7.87

Overall Length                                    D                                       36.32  37.02

Tip to Seating Plane                              L                                       3.43      3.56

Lead Thickness                                    c                                       0.20      0.25

Upper Lead Width                        B1                                                1.27      1.46

Lower Lead Width                                  B                                       0.41      0.47

Overall Row Spacing                     eB                                                8.76      9.78

Window Width                            W1                                                3.30      3.56

Window Length                           W2                                                7.37      7.62

      *Controlling Parameter
JEDEC Equivalent: MO-058
Drawing No. C04-080

1999 Microchip Technology Inc.                     Preliminary                                            DS35008B-page 107
PIC16C62B/72A

15.4 28-Lead Plastic Small Outline (SO) Wide, 300 mil (SOIC)

                                                    E
                                                    E1
                                 p

                                 D

B

                          2

                   n      1

                             h                                                                              
           45                                                                                                     A2

c
                                                                         A

                                    

                                 L               A1

                          Units                  INCHES*                                        MILLIMETERS

                        Dimension Limits MIN     NOM                              MAX      MIN     NOM           MAX

Number of Pins            n                                                 28                          28            2.64
                                                                                                                      2.39
Pitch                     p                                                 .050                   1.27               0.30
                                                                                                                    10.67
Overall Height            A           .093                                  .099  .104     2.36    2.50               7.59
                                                                                                                    18.08
Molded Package Thickness  A2          .088                                  .091  .094     2.24    2.31               0.74
                                                                                                                      1.27
Standoff                  A1          .004                                  .008  .012     0.10    0.20
                                                                                                                          8
Overall Width             E           .394                                  .407  .420     10.01   10.34              0.33
                                                                                                                      0.51
Molded Package Width      E1          .288                                  .295  .299     7.32    7.49
                                                                                                                        15
Overall Length            D           .695                                  .704  .712     17.65   17.87                15

Chamfer Distance          h           .010                                  .020  .029     0.25    0.50

Foot Length               L           .016                                  .033  .050     0.41    0.84
Foot Angle Top
                                              0                             4          8        0       4

Lead Thickness            c           .009                                  .011  .013     0.23    0.28

Lead Width                B           .014                                  .017  .020     0.36    0.42
Mold Draft Angle Top
Mold Draft Angle Bottom                       0                             12         15       0       12

                                              0                             12         15       0       12

*Controlling Parameter

     Notes:
       Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
       .010" (0.254mm) per side.

JEDEC Equivalent: MS-013
Drawing No. C04-052

DS35008B-page 108                   Preliminary                                                    1999 Microchip Technology Inc.
                                         PIC16C62B/72A

15.5 28-Lead Plastic Shrink Small Outline (SS) 209 mil, 5.30 mm (SSOP)

                                                         E
                                                         E1
                               p

                                                        D

B

                                         2

          n                              1

                                                                                                                                                     
                                                                                 A
c

                                                                                                                                                    A2

                                                              A1

                                            L

                                  Units                       INCHES                   MILLIMETERS*

                                  Dimension Limits MIN        NOM        MAX      MIN     NOM        MAX

Number of Pins                    n                                 28                      28
                                                                  .026                    0.66
Pitch                             p

Overall Height                    A         .068                  .073   .078     1.73    1.85                   1.98

Molded Package Thickness          A2        .064                  .068   .072     1.63    1.73                   1.83

Standoff                          A1        .002                  .006   .010     0.05    0.15                   0.25

Overall Width                     E         .299                  .309   .319     7.59    7.85                   8.10

Molded Package Width              E1        .201                  .207   .212     5.11    5.25                   5.38

Overall Length                    D         .396                  .402   .407     10.06   10.20                  10.34

Foot Length                       L         .022                  .030   .037     0.56    0.75                   0.94

Lead Thickness                    c         .004                  .007   .010     0.10    0.18                   0.25
Foot Angle
                                                           0          4       8   0.00    101.60                 203.20

Lead Width                        B         .010                  .013   .015     0.25    0.32                   0.38
Mold Draft Angle Top
Mold Draft Angle Bottom                                    0          5       10       0       5                                                        10

                                                           0          5       10       0       5                                                        10

*Controlling Parameter

     Notes:
       Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed
       .010" (0.254mm) per side.

JEDEC Equivalent: MS-150
Drawing No. C04-073

1999 Microchip Technology Inc.            Preliminary                                              DS35008B-page 109
PIC16C62B/72A

NOTES:

DS35008B-page 110  Preliminary   1999 Microchip Technology Inc.
                                                             PIC16C62B/72A

APPENDIX A: REVISION HISTORY

Version Date                                                 Revision Description

A  7/98 This is a new data sheet. However, the devices described in this data sheet are the upgrades to

                   the devices found in the PIC16C6X Data Sheet, DS30234, and the PIC16C7X Data Sheet,

                   DS30390.

APPENDIX B: CONVERSION
                    CONSIDERATIONS

Considerations for converting from previous versions of
devices to the ones listed in this data sheet are listed in
Table B-1.

TABLE B-1: CONVERSION CONSIDERATIONS

       Difference                 PIC16C62A/72                                     PIC16C62B/72A
Voltage Range
SSP module         2.5V - 6.0V                               2.5V - 5.5V
CCP module
                   Basic SSP (2 mode SPI)                    SSP (4 mode SPI)
Timer1 module                                                N/A
                   CCP does not reset TMR1 when in special
                   event trigger mode.

                   Writing to TMR1L register can cause over- N/A
                   flow in TMR1H register.

1999 Microchip Technology Inc.    Preliminary                                    DS35008B-page 111
PIC16C62B/72A                                           11. Two separate timers, Oscillator Start-up Timer
                                                              (OST) and Power-up Timer (PWRT) are
APPENDIX C: MIGRATION FROM                                    included for more reliable power-up. These tim-
                    BASE-LINE TO                              ers are invoked selectively to avoid unnecessary
                    MID-RANGE DEVICES                         delays on power-up and wake-up.

This section discusses how to migrate from a baseline   12. PORTB has weak pull-ups and interrupt on
device (i.e., PIC16C5X) to a mid-range device (i.e.,          change feature.
PIC16CXXX).
                                                        13. T0CKI pin is also a port pin (RA4) now.
The following are the list of modifications over the
PIC16C5X microcontroller family:                        14. FSR is made a full eight bit register.

1. Instruction word length is increased to 14-bits.     15. "In-circuit serial programming" is made possible.
      This allows larger page sizes both in program           The user can program PIC16CXX devices using
      memory (2K now as opposed to 512 before) and            only five pins: VDD, VSS, MCLR/VPP, RB6 (clock)
      register file (128 bytes now versus 32 bytes            and RB7 (data in/out).
      before).
                                                        16. PCON status register is added with a Power-on
2. A PC high latch register (PCLATH) is added to              Reset status bit (POR).
      handle program memory paging. Bits PA2, PA1,
      PA0 are removed from STATUS register.             17. Code protection scheme is enhanced such that
                                                              portions of the program memory can be pro-
3. Data memory paging is redefined slightly.                  tected, while the remainder is unprotected.
      STATUS register is modified.
                                                        18. Brown-out protection circuitry has been added.
4. Four new instructions have been added:                     Controlled by configuration word bit BODEN.
      RETURN, RETFIE, ADDLW, and SUBLW.                       Brown-out reset ensures the device is placed in
      Two instructions TRIS and OPTION are being              a reset condition if VDD dips below a fixed set-
      phased out although they are kept for compati-          point.
      bility with PIC16C5X.
                                                        To convert code written for PIC16C5X to PIC16CXXX,
5. OPTION_REG and TRIS registers are made               the user should take the following steps:
      addressable.
                                                        1. Remove any program memory page select
6. Interrupt capability is added. Interrupt vector is         operations (PA2, PA1, PA0 bits) for CALL, GOTO.
      at 0004h.
                                                        2. Revisit any computed jump operations (write to
7. Stack size is increased to 8 deep.                         PC or add to PC, etc.) to make sure page bits
8. Reset vector is changed to 0000h.                          are set properly under the new scheme.
9. Reset of all registers is revisited. Five different
                                                        3. Eliminate any data memory page switching.
      reset (and wake-up) types are recognized. Reg-          Redefine data variables to reallocate them.
      isters are reset differently.
10. Wake up from SLEEP through interrupt is             4. Verify all writes to STATUS, OPTION, and FSR
      added.                                                  registers since these have changed.

                                                        5. Change reset vector to 0000h.

DS35008B-page 112  Preliminary                           1999 Microchip Technology Inc.
                                                                                              PIC16C62B/72A

INDEX                                                                                         CCP1CON Register .......................................................... 33
                                                                                                    CCP1M3:CCP1M0 Bits ............................................. 33
A                                                                                                   CCP1X:CCP1Y Bits .................................................. 33

A/D ..................................................................................... 49  , Code Protection ...........................................................55 66
      A/D Converter Enable (ADIE Bit) ............................... 14
                                                                                                    CP1:CP0 Bits ............................................................ 55
    , A/D Converter Flag (ADIF Bit) ............................ 15 51                        Compare (CCP Module) .................................................... 35

      A/D Converter Interrupt, Configuring ......................... 51                             Block Diagram ........................................................... 35
                                                                                                    CCP Pin Configuration .............................................. 35
    , ADCON0 Register ................................................ 9 49                         CCPR1H:CCPR1L Registers .................................... 35
    ADCON1 Register ........................................10, 49, 50                              Software Interrupt ...................................................... 35
    ADRES Register .............................................9, 49, 51
                                                                                                  Special Event Trigger ................................... 29, 35, 54
      Analog Port Pins .......................................................... 6
      Analog Port Pins, Configuring ................................... 53                          Timer1 Mode Selection ............................................. 35
      Block Diagram ........................................................... 51            Configuration Bits .............................................................. 55
      Block Diagram, Analog Input Model .......................... 52                         Conversion Considerations ............................................. 111
      Channel Select (CHS2:CHS0 Bits) ............................ 49
      Clock Select (ADCS1:ADCS0 Bits) ........................... 49                          D
      Configuring the Module ............................................. 51
      Conversion Clock (TAD) ............................................. 53                 Data Memory ....................................................................... 8

    , Conversion Status (GO/DONE Bit) ..................... 49 51                                 , Bank Select (RP1:RP0 Bits) ..................................8 11

      Conversions ............................................................... 54                General Purpose Registers ......................................... 8
      Converter Characteristics ........................................ 101                        Register File Map ........................................................ 8
      Module On/Off (ADON Bit) ........................................ 49                          Special Function Registers ......................................... 9
      Port Configuration Control (PCFG2:PCFG0 Bits) ...... 50
      Sampling Requirements ............................................ 52                   , DC Characteristics ......................................................84 86

    , Special Event Trigger (CCP) .............................. 35 54                        Development Support ........................................................ 75
                                                                                              Direct Addressing .............................................................. 18
      Timing Diagram ....................................................... 102
Absolute Maximum Ratings ............................................... 81                   E

, ADCON0 Register ........................................................ 9 49               Electrical Characteristics ................................................... 81
                                                                                              Errata ................................................................................... 3
      ADCS1:ADCS0 Bits ................................................... 49                 External Power-on Reset Circuit ....................................... 59
      ADON Bit ................................................................... 49
      CHS2:CHS0 Bits ....................................................... 49               F

    , GO/DONE Bit ..................................................... 49 51                 Firmware Instructions ........................................................ 67
ADCON1 Register ................................................10, 49, 50
                                                                                              I
      PCFG2:PCFG0 Bits ................................................... 50
                                                                                              I/O Ports ............................................................................ 19
ADRES Register , .....................................................9 49, 51                I2C (SSP Module) .............................................................. 41

Architecture                                                                                      ACK Pulse .......................................41, 42, 43, 44, 45
      PIC16C62B/PIC16C72A Block Diagram ..................... 5
                                                                                                    Addressing ................................................................ 42
Assembler                                                                                           Block Diagram ........................................................... 41
      MPASM Assembler ................................................... 75                        Buffer Full Status (BF Bit) ......................................... 46
                                                                                                    Clock Polarity Select (CKP Bit) ................................. 47
B                                                                                                   Data/Address (D/A Bit) .............................................. 46
                                                                                                    Master Mode ............................................................. 45
, Banking, Data Memory ................................................. 8 11                       Mode Select (SSPM3:SSPM0 Bits) .......................... 47
Brown-out Reset (BOR) .......................... 55, 57, 59, 60, 61                                 Multi-Master Mode .................................................... 45

      BOR Enable (BODEN Bit) ......................................... 55                         Read/Write Bit Information (R/W Bit) .... 42, 43, 44, 46
      BOR Status (BOR Bit) ............................................... 16
      Timing Diagram ......................................................... 92                   Receive Overflow Indicator (SSPOV Bit) .................. 47
                                                                                                    Reception .................................................................. 43
C                                                                                                   Reception Timing Diagram ........................................ 43
                                                                                                    Slave Mode ............................................................... 41
Capture (CCP Module) ...................................................... 34
      Block Diagram ........................................................... 34                , Start (S Bit) ..........................................................45 46
      CCP Pin Configuration .............................................. 34                     , Stop (P Bit) ..........................................................45 46
      CCPR1H:CCPR1L Registers .................................... 34
      Changing Between Capture Prescalers .................... 34                                   Synchronous Serial Port Enable (SSPEN Bit) .......... 47
      Software Interrupt ...................................................... 34                  Timing Diagram, Data ............................................. 100
      Timer1 Mode Selection .............................................. 34                       Timing Diagram, Start/Stop Bits ................................ 99
                                                                                                    Transmission ............................................................. 44
Capture/Compare/PWM                                                                                 Update Address (UA Bit) ........................................... 46
      Interaction of Two CCP Modules ............................... 33
                                                                                              , ID Locations ................................................................55 66
Capture/Compare/PWM (CCP) ......................................... 33                        , In-Circuit Serial Programming (ICSP) .........................55 66

    , CCP1CON Register .............................................. 9 33                    Indirect Addressing ............................................................ 18
    , CCPR1H Register ................................................ 9 33
    , CCPR1L Register ................................................. 9 33                      FSR Register , .................................................... 8 9, 18

      Enable (CCP1IE Bit) .................................................. 14                     INDF Register ............................................................. 9
      Flag (CCP1IF Bit) ...................................................... 15             Instruction Format ............................................................. 67
      RC2/CCP1 Pin ............................................................. 6
      Timer Resources ....................................................... 33
      Timing Diagram ......................................................... 94

1999 Microchip Technology Inc.  Preliminary                                                 DS35008B-page 113
PIC16C62B/72A

Instruction Set .................................................................... 67          RB0/INT Enable (INTE Bit) ........................................ 13
      ADDLW ...................................................................... 69            SSP Enable (SSPIE Bit) ............................................ 14
      ADDWF ...................................................................... 69            TMR0 Overflow Enable (T0IE Bit) ............................. 13
      ANDLW ...................................................................... 69            TMR1 Overflow Enable (TMR1IE Bit) ....................... 14
      ANDWF ...................................................................... 69            TMR2 to PR2 Match Enable (TMR2IE Bit) ................ 14
      BCF ............................................................................ 69  Interrupts, Flag Bits
      BSF ............................................................................ 69
      BTFSC ....................................................................... 70         , A/D Converter Flag (ADIF Bit) .............................15 51
      BTFSS ....................................................................... 70         CCP1 Flag (CCP1IF Bit) .............................. 15, 34, 35
      CALL .......................................................................... 70
      CLRF ......................................................................... 70          Interrupt on Change (RB7:RB4)
      CLRW ......................................................................... 70
      CLRWDT ................................................................... 70            Flag (RBIF Bit) .............................................. 13, 21, 63
      COMF ........................................................................ 71
      DECF ......................................................................... 71          RB0/INT Flag (INTF Bit) ............................................ 13
      DECFSZ .................................................................... 71             SSP Flag (SSPIF Bit) ................................................ 15
      GOTO ........................................................................ 71
      INCF .......................................................................... 71       , TMR0 Overflow Flag (T0IF Bit) ...........................13 63
      INCFSZ ...................................................................... 71
      IORLW ....................................................................... 72           TMR1 Overflow Flag (TMR1IF Bit) ............................ 15
      IORWF ....................................................................... 72           TMR2 to PR2 Match Flag (TMR2IF Bit) .................... 15
      MOVF ........................................................................ 72
      MOVLW ..................................................................... 72       K
      MOVWF ..................................................................... 72
      NOP ........................................................................... 72   KeeLoq Evaluation and Programming Tools .................. 78
      RETFIE ...................................................................... 73
      RETLW ...................................................................... 73      M
      RETURN .................................................................... 73
      RLF ............................................................................ 73  Master Clear (MCLR) .......................................................... 6
      RRF ........................................................................... 73
      SLEEP ....................................................................... 73         MCLR Reset, Normal Operation .................. 57, 60, 61
      SUBLW ...................................................................... 74          MCLR Reset, SLEEP ................................... 57, 60, 61
      SUBWF ...................................................................... 74
      SWAPF ...................................................................... 74      Memory Organization
      XORLW ...................................................................... 74            Data Memory ............................................................... 8
      XORWF ..................................................................... 74             Program Memory ......................................................... 7
      Summary Table ......................................................... 68
                                                                                           MPLAB Integrated Development Environment Software .. 75
, INTCON Register .......................................................... 9 13
                                                                                           O
      GIE Bit ....................................................................... 13
      INTE Bit ..................................................................... 13    OPCODE Field Descriptions ............................................. 67
      INTF Bit ...................................................................... 13
      PEIE Bit ..................................................................... 13    , OPTION_REG Register ..............................................10 12
      RBIE Bit ..................................................................... 13
                                                                                                 INTEDG Bit ................................................................ 12
    , RBIF Bit .............................................................. 13 21
                                                                                               , PS2:PS0 Bits .......................................................12 25
      T0IE Bit ...................................................................... 13       , PSA Bit ................................................................12 25
      T0IF Bit ...................................................................... 13
                                                                                                 RBPU Bit ................................................................... 12
, Interrupt Sources ........................................................ 55 62
                                                                                               , T0CS Bit ..............................................................12 25
      A/D Conversion Complete ......................................... 51                     , T0SE Bit ..............................................................12 25
      Block Diagram ........................................................... 62
      Capture Complete (CCP) ........................................... 34                OSC1/CLKIN Pin ................................................................. 6
      Compare Complete (CCP) ......................................... 35                  OSC2/CLKOUT Pin .............................................................. 6
      Interrupt on Change (RB7:RB4 ) ............................... 21
                                                                                           , Oscillator Configuration ...............................................55 56
    , RB0/INT Pin, External ........................................... 6 63                   , HS .......................................................................56 60
                                                                                               , LP ........................................................................56 60
      SSP Receive/Transmit Complete .............................. 39                          RC , .................................................................. 6 57, 60

    , TMR0 Overflow ................................................... 26 63                    Selection (FOSC1:FOSC0 Bits).................................. 55
    , TMR1 Overflow ................................................... 27 29
                                                                                               , XT ........................................................................56 60
      TMR2 to PR2 Match .................................................. 32              , Oscillator, Timer1 ........................................................27 29

    , TMR2 to PR2 Match (PWM) ............................... 31 36                        Oscillator, WDT ................................................................. 64

Interrupts, Context Saving During ...................................... 63                P
Interrupts, Enable Bits
                                                                                           Packaging ........................................................................ 105
      A/D Converter Enable (ADIE Bit) ............................... 14
      CCP1 Enable (CCP1IE Bit) ....................................... 14                  , Paging, Program Memory .............................................7 17
                                                                                           , PCON Register ............................................................16 60
    , Global Interrupt Enable (GIE Bit) ........................ 13 62
                                                                                                 BOR Bit ..................................................................... 16
      Interrupt on Change (RB7:RB4)                                                              POR Bit ..................................................................... 16
                                                                                           PICDEM-1 Low-Cost PICmicro Demo Board .................... 77
    , Enable (RBIE Bit) ................................................ 13 63             PICDEM-2 Low-Cost PIC16CXX Demo Board ................. 77
                                                                                           PICDEM-3 Low-Cost PIC16CXXX Demo Board ............... 77
      Peripheral Interrupt Enable (PEIE Bit) ....................... 13                    PICSTART Plus Entry Level Development System ........ 77

                                                                                           , PIE1 Register ..............................................................10 14

                                                                                                 ADIE Bit ..................................................................... 14
                                                                                                 CCP1IE Bit ................................................................ 14
                                                                                                 SSPIE Bit ................................................................... 14
                                                                                                 TMR1IE Bit ................................................................ 14
                                                                                                 TMR2IE Bit ................................................................ 14
                                                                                           Pinout Descriptions
                                                                                                 PIC16C62B/PIC16C72A ............................................. 6

DS35008B-page 114  Preliminary                                                             1999 Microchip Technology Inc.
, PIR1 Register ............................................................... 9 15             PIC16C62B/72A

      ADIF Bit ..................................................................... 15   Prescaler, Timer2 .............................................................. 36
                                                                                                Select (T2CKPS1:T2CKPS0 Bits) ............................. 31
      CCP1IF Bit ................................................................. 15
                                                                                          PRO MATE II Universal Programmer ............................. 77
      SSPIF Bit ................................................................... 15    Program Counter

      TMR1IF Bit ................................................................ 15          , PCL Register .........................................................9 17
                                                                                              PCLATH Register ........................................... 9, 17, 63
      TMR2IF Bit ................................................................ 15
                                                                                                Reset Conditions ....................................................... 60
Pointer, FSR ...................................................................... 18    Program Memory ................................................................. 7

PORTA ................................................................................ 6        Interrupt Vector ........................................................... 7

      Analog Port Pins .......................................................... 6           , Paging ...................................................................7 17

    , PORTA Register ................................................... 9 19                   Program Memory Map ................................................ 7
                                                                                                Reset Vector ............................................................... 7
      RA3:RA0 and RA5 Port Pins ..................................... 19                  Program Verification .......................................................... 66
                                                                                          Programming Pin (Vpp) ....................................................... 6
    , RA4/T0CKI Pin ..................................................... 6 19            Programming, Device Instructions .................................... 67
    , RA5/SS/AN4 Pin ................................................... 6 39             PWM (CCP Module) .......................................................... 36
    , TRISA Register ................................................... 10 19                  Block Diagram ........................................................... 36
                                                                                                CCPR1H:CCPR1L Registers .................................... 36
PORTB ................................................................................ 6        Duty Cycle ................................................................. 36
                                                                                                Example Frequencies/Resolutions ............................ 37
    , PORTB Register ................................................... 9 21                   Output Diagram ......................................................... 36
                                                                                                Period ........................................................................ 36
      Pull-up Enable (RBPU Bit) ......................................... 12                    Set-Up for PWM Operation ....................................... 37

      RB0/INT Edge Select (INTEDG Bit) .......................... 12                          , TMR2 to PR2 Match ............................................31 36

    , RB0/INT Pin, External .......................................... 6 63                     TMR2 to PR2 Match Enable (TMR2IE Bit) ................ 14
                                                                                                TMR2 to PR2 Match Flag (TMR2IF Bit) .................... 15
      RB3:RB0 Port Pins .................................................... 21
                                                                                          Q
      RB7:RB4 Interrupt on Change ................................... 63
                                                                                          Q-Clock ............................................................................. 36
      RB7:RB4 Interrupt on Change
                                                                                          R
    , Enable (RBIE Bit) ............................................... 13 63
                                                                                          Register File ........................................................................ 8
      RB7:RB4 Interrupt on Change                                                         Register File Map ................................................................ 8

    Flag (RBIF Bit) ..............................................13, 21, 63              , Reset ...........................................................................55 57

      RB7:RB4 Port Pins .................................................... 21                 Block Diagram ........................................................... 58
                                                                                                Reset Conditions for All Registers ............................ 61
    , TRISB Register ................................................... 10 21                  Reset Conditions for PCON Register ........................ 60
                                                                                                Reset Conditions for Program Counter ..................... 60
PORTC ................................................................................ 6        Reset Conditions for STATUS Register .................... 60
                                                                                                Timing Diagram ......................................................... 92
      Block Diagram ........................................................... 23        Revision History .............................................................. 111

    , PORTC Register ................................................... 9 23             S

      RC0/T1OSO/T1CKI Pin ............................................... 6               SEEVAL Evaluation and Programming System ............. 78

      RC1/T1OSI Pin ............................................................ 6        SLEEP , .................................................................. 55 57, 65

      RC2/CCP1 Pin ............................................................. 6        Software Simulator (MPLAB-SIM) ..................................... 76
                                                                                          Special Features of the CPU ............................................. 55
    , RC3/SCK/SCL Pin ................................................ 6 39               Special Function Registers .................................................. 9
    , RC4/SDI/SDA Pin ................................................. 6 39              Speed, Operating ................................................................ 1
    , RC5/SDO Pin ....................................................... 6 39            SPI (SSP Module)

      RC6 Pin ....................................................................... 6         Block Diagram ........................................................... 39
                                                                                                Buffer Full Status (BF Bit) ......................................... 46
      RC7 Pin ....................................................................... 6         Clock Edge Select (CKE Bit) ..................................... 46
                                                                                                Clock Polarity Select (CKP Bit) ................................. 47
    , TRISC Register .................................................. 10 23                   Data Input Sample Phase (SMP Bit) ......................... 46
                                                                                                Mode Select (SSPM3:SSPM0 Bits) .......................... 47
Postscaler, Timer2                           &nb