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

产品描述

搜索
 

PIC12CE519-04E/SN

器件型号:PIC12CE519-04E/SN
器件类别:半导体    嵌入式处理器和控制器   
厂商名称:Microchip
厂商官网:https://www.microchip.com
下载文档

器件描述

8-BIT, OTPROM, 4 MHz, RISC MICROCONTROLLER, PDSO8

8位, OTPROM, 4 MHz, 精简指令集微控制器, PDSO8

参数
PIC12CE519-04E/SN功能数量 1
PIC12CE519-04E/SN端子数量 8
PIC12CE519-04E/SN最大工作温度 85 Cel
PIC12CE519-04E/SN最小工作温度 -40 Cel
PIC12CE519-04E/SN最大供电/工作电压 5.5 V
PIC12CE519-04E/SN最小供电/工作电压 3 V
PIC12CE519-04E/SN额定供电电压 5 V
PIC12CE519-04E/SN外部数据总线宽度 0.0
PIC12CE519-04E/SN输入输出总线数量 6
PIC12CE519-04E/SN线速度 4 MHz
PIC12CE519-04E/SN加工封装描述 0.150 INCH, PLASTIC, SO-8
PIC12CE519-04E/SN无铅 Yes
PIC12CE519-04E/SN欧盟RoHS规范 Yes
PIC12CE519-04E/SN中国RoHS规范 Yes
PIC12CE519-04E/SN状态 ACTIVE
PIC12CE519-04E/SN工艺 CMOS
PIC12CE519-04E/SN包装形状 RECTANGULAR
PIC12CE519-04E/SN包装尺寸 SMALL OUTLINE
PIC12CE519-04E/SN表面贴装 Yes
PIC12CE519-04E/SN端子形式 GULL WING
PIC12CE519-04E/SN端子间距 1.27 mm
PIC12CE519-04E/SN端子涂层 MATTE TIN
PIC12CE519-04E/SN端子位置 DUAL
PIC12CE519-04E/SN包装材料 PLASTIC/EPOXY
PIC12CE519-04E/SN温度等级 INDUSTRIAL
PIC12CE519-04E/SN地址总线宽度 0.0
PIC12CE519-04E/SN位数 8
PIC12CE519-04E/SN最大FCLK时钟频率 4 MHz
PIC12CE519-04E/SN微处理器类型 RISC MICROCONTROLLER
PIC12CE519-04E/SNROM编程 OTPROM

文档预览

PIC12CE519-04E/SN器件文档内容

                                                        PIC12CE5XX

        8-Pin, 8-Bit CMOS Microcontroller with
                  EEPROM Data Memory

Devices Included in this Data Sheet:                    Pin Diagram:
                                                          PDIP, SOIC, Windowed CERDIP
PIC12CE518 PIC12CE519
High-Performance RISC CPU:                                           VDD       1     PIC12CE518  8  VSS
                                                                                  PIC12CE519        GP0
Only 33 single word instructions to learn             GP5/OSC1/CLKIN         2                 7  GP1
All instructions are single cycle (1 s) except for                                               GP2/T0CKI
                                                                     GP4/OSC2  3                 6
   program branches which are two-cycle
Operating speed: DC - 4 MHz clock input               GP3/MCLR/VPP           4                 5

                           DC - 1 s instruction cycle

Device  EPROM         Memory      EEPROM                Special Microcontroller Features:
        Program                      Data
                        RAM                              In-Circuit Serial Programming (ICSPTM) of pro-
                        Data                               gram memory (via two pins)

PIC12CE518 512 x 12 25 x 8            16 x 8             Internal 4 MHz RC oscillator with programmable
                                                           calibration
PIC12CE519 1024 x 12 41 x 8           16 x 8
                                                         Power-on Reset (POR)
12-bit wide instructions                               Device Reset Timer (DRT)
8-bit wide data path                                  Watchdog Timer (WDT) with its own on-chip RC
Special function hardware registers
Two-level deep hardware stack                            oscillator for reliable operation
Direct, indirect and relative addressing modes for    Programmable code-protection
                                                         Power saving SLEEP mode
   data and instructions                                 Wake-up from SLEEP on pin change
                                                         Internal weak pull-ups on I/O pins
Peripheral Features:                                     Internal pull-up on MCLR pin
                                                         Selectable oscillator options:
8-bit real-time clock/counter (TMR0) with 8-bit
   programmable prescaler                                  - INTRC: Internal 4 MHz RC oscillator
                                                           - EXTRC: External low-cost RC oscillator
1,000,000 erase/write cycle EEPROM data                  - XT: Standard crystal/resonator
   memory                                                  - LP: Power saving, low frequency crystal

EEPROM data retention > 40 years                      CMOS Technology:

                                                         Low-power, high-speed CMOS EPROM/EEPROM
                                                           technology

                                                         Fully static design

                                                         Wide temperature range:
                                                           - Commercial: 0C to +70C
                                                           - Industrial: -40C to +85C
                                                           - Extended: -40C to +125C

                                                         Wide operating voltage range:
                                                           -Commercial: 2.5V to 5.5V
                                                           -Industrial: 2.5V to 5.5V
                                                           -Extended: 2.5V to 5.5V

                                                         Low power consumption
                                                           - < 2 mA typical @ 5V, 4 MHz
                                                           - 15 A typical @ 3V, 32 kHz
                                                           - < 1 A typical standby current

1998 Microchip Technology Inc.                        Preliminary                                 DS40172B-page 1
PIC12CE5XX

TABLE OF CONTENTS

1.0 General Description..................................................................................................................................................................... 3
2.0 PIC12CE5XX Device Varieties.................................................................................................................................................... 5
3.0 Architectural Overview ................................................................................................................................................................ 7
4.0 Memory Organization ................................................................................................................................................................ 11
5.0 I/O Port ...................................................................................................................................................................................... 19
6.0 EEPROM Peripheral Operation................................................................................................................................................. 21
7.0 Timer0 Module and TMR0 Register .......................................................................................................................................... 27
8.0 Special Features of the CPU..................................................................................................................................................... 31
9.0 Instruction Set Summary ........................................................................................................................................................... 43
10.0 Development Support................................................................................................................................................................ 55
11.0 Electrical Characteristics - PIC12CE5XX .................................................................................................................................. 61
12.0 DC and AC Characteristics - PIC12CE5XX .............................................................................................................................. 77
13.0 Packaging Information............................................................................................................................................................... 81
Index .................................................................................................................................................................................................... 87
PIC12CE5XX Product Identification System........................................................................................................................................ 89

                                              To Our Valued Customers

  Most Current Data Sheet
  To obtain the most up-to-date version of this data sheet, please check our Worldwide Web site at:

         http://www.microchip.com
  You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.
  The last character of the literature number is the version number. e.g., DS30000A is version A of document DS30000.
  Errata
  An errata sheet 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: (602) 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.

DS40172B-page 2  Preliminary   1998 Microchip Technology Inc.
1.0 GENERAL DESCRIPTION                                                  PIC12CE5XX

The 8-pin PIC12CE5XX from Microchip Technology is             1.1 Applications
a family of low-cost, high performance, 8-bit, fully static,
EPROM/EEPROM-based CMOS microcontrollers. It                  The PIC12CE5XX series fits perfectly in applications
employs a RISC architecture with only 33 single word/         ranging from sensory systems, gas detectors and
single cycle instructions. All instructions are single        security systems to low-power remote transmitters/
cycle (1 s) except for program branches which take           receivers. The EPROM programming technology
two cycles. The PIC12CE5XX delivers performance an            makes customizing application programs (transmitter
order of magnitude higher than its competitors in the         codes, appliance settings, receiver frequencies, etc.)
same price category. The 12-bit wide instructions are         extremely fast and convenient. While the EEPROM
highly symmetrical resulting in 2:1 code compression          data memory technology allows for the changing of cal-
over other 8-bit microcontrollers in its class. The easy      ibrations factors and security codes, the small footprint
to use and easy to remember instruction set reduces           8-pin packages, for through hole or surface mounting,
development time significantly.                               make this microcontroller series perfect for applications
                                                              with space limitations. Low-cost, low-power, high per-
The PIC12CE5XX products are equipped with special             formance, ease of use and I/O flexibility make the
features that reduce system cost and power require-           PIC12CE5XX series very versatile even in areas where
ments. The Power-On Reset (POR) and Device Reset              no microcontroller use has been considered before
Timer (DRT) eliminate the need for external reset cir-        (e.g., timer functions, replacement of "glue" logic and
cuitry. There are four oscillator configurations to choose    PLD's in larger systems, coprocessor applications).
from, including INTRC internal oscillator mode and the
power-saving LP (Low Power) oscillator mode. Power
saving SLEEP mode, Watchdog Timer and code
protection features improve system cost, power and
reliability.

The PIC12CE5XX are available in the cost-effective
One-Time-Programmable (OTP) versions which are
suitable for production in any volume. The customer
can take full advantage of Microchip's price leadership
in OTP microcontrollers while benefiting from the OTP's
flexibility.

The PIC12CE5XX products are supported by a full-fea-
tured macro assembler, a software simulator, an in-cir-
cuit emulator, a `C' compiler, fuzzy logic support tools,
a low-cost development programmer, and a full fea-
tured programmer. All the tools are supported on IBM
PC and compatible machines.

1998 Microchip Technology Inc.  Preliminary                 DS40172B-page 3
PIC12CE5XX

TABLE 1-1: PIC12CXXX & PIC12CEXXX FAMILY OF DEVICES

                             PIC12C508(A) PIC12C509(A) PIC12CE518 PIC12CE519 PIC12C671 PIC12C672 PIC12CE673 PIC12CE674

             Maximum 4                   4           4           4           10          10     10              10

Clock        Frequency
             of Operation

             (MHz)

             EPROM           512 x 12    1024 x 12   512 x 12    1024 x 12 1024 x 14 2048 x 14 1024 x 14 2048 x 14
             Program         25
Memory       Memory                      41          25          41          128         128

             RAM Data                                                                           128             128
             Memory
             (bytes)

             EEPROM --                   --          16          16          --          --     16              16

             Data Memory

             (bytes)

Peripherals  Timer           TMR0        TMR0        TMR0        TMR0        TMR0        TMR0   TMR0            TMR0
             Module(s)

             A/D Con-        --          --          --          --          4           4      4               4

             verter (8-bit)

             Channels

             Wake-up         Yes         Yes         Yes         Yes         Yes         Yes    Yes             Yes

             from SLEEP

             on pin

             change

             Interrupt       --          --                                  4           4      4               4

             Sources

Features I/O Pins            5           5           5           5           5           5      5               5

             Input Pins 1                1           1           1           1           1      1               1

             Internal        Yes         Yes         Yes         Yes         Yes         Yes    Yes             Yes

             Pull-ups

             In-Circuit      Yes         Yes         Yes         Yes         Yes         Yes    Yes             Yes

             Serial

             Programming

             Number of 33                33          33          33          35          35     35              35

             Instructions

             Packages        8-pin DIP,  8-pin DIP,  8-pin DIP,  8-pin DIP,  8-pin DIP,  8-pin DIP, 8-pin DIP,  8-pin DIP,
                             JW, SOIC    JW, SOIC    JW, SOIC    JW, SOIC    JW, SOIC    JW, SOIC JW            JW

All PIC12CXXX & PIC12CEXXX devices have Power-on Reset, selectable Watchdog Timer, selectable
code protect and high I/O current capability.
All PIC12CXXX & PIC12CEXXX devices use serial programming with data pin GP0 and clock pin GP1.

DS40172B-page 4                                         Preliminary                            1998 Microchip Technology Inc.
2.0 PIC12CE5XX DEVICE                                                     PIC12CE5XX
         VARIETIES
                                                               2.3 Quick-Turnaround-Production (QTP)
A variety of packaging options are available.                            Devices
Depending on application and production
requirements, the proper device option can be                  Microchip offers a QTP Programming Service for
selected using the information in this section. When           factory production orders. This service is made
placing orders, please use the PIC12CE5XX Product              available for users who choose not to program a
Identification System at the back of this data sheet to        medium to high quantity of units and whose code
specify the correct part number.                               patterns have stabilized. The devices are identical to
                                                               the OTP devices but with all EPROM locations and fuse
2.1 UV Erasable Devices                                        options already programmed by the factory. Certain
                                                               code and prototype verification procedures do apply
The UV erasable version, offered in windowed cerdip            before production shipments are available. Please con-
package, is optimal for prototype development and              tact your local Microchip Technology sales office for
pilot programs.                                                more details.

The UV erasable version can be erased and                      2.4 Serialized Quick-Turnaround
reprogrammed to any of the configuration modes.                          Production (SQTPSM) Devices

   Note: Please note that erasing the device will              Microchip offers a unique programming service where
               also erase the pre-programmed internal          a few user-defined locations in each device are
               calibration value for the internal oscillator.  programmed with different serial numbers. The serial
               The calibration value must be saved prior       numbers may be random, pseudo-random or
               to erasing the part.                            sequential.

Microchip's PICSTART PLUS and PRO MATE pro-                  Serial programming allows each device to have a
grammers all support programming of the                        unique number which can serve as an entry-code,
PIC12CE5XX. Third party programmers also are avail-            password or ID number.
able; refer to the Microchip Third Party Guide for a list
of sources.

2.2 One-Time-Programmable (OTP)
          Devices

The availability of OTP devices is especially useful for
customers who need the flexibility for frequent code
updates or small volume applications.

The OTP devices, packaged in plastic packages permit
the user to program them once. In addition to the
program memory, the configuration bits must also be
programmed.

1998 Microchip Technology Inc.  Preliminary                  DS40172B-page 5
PIC12CE5XX

NOTES:

DS40172B-page 6  Preliminary   1998 Microchip Technology Inc.
3.0 ARCHITECTURAL OVERVIEW                                            PIC12CE5XX

The high performance of the PIC12CE5XX family can          The PIC12CE5XX device contains an 8-bit ALU and
be attributed to a number of architectural features        working register. The ALU is a general purpose
commonly found in RISC microprocessors. To begin           arithmetic unit. It performs arithmetic and Boolean
with, the PIC12CE5XX uses a Harvard architecture in        functions between data in the working register and any
which program and data are accessed on separate            register file.
buses. This improves bandwidth over traditional von
Neumann architecture where program and data are            The ALU is 8-bits wide and capable of addition,
fetched on the same bus. Separating program and            subtraction, shift and logical operations. Unless
data memory further allows instructions to be sized        otherwise mentioned, arithmetic operations are two's
differently than the 8-bit wide data word. Instruction     complement in nature. In two-operand instructions,
opcodes are 12-bits wide making it possible to have all    typically one operand is the W (working) register. The
single word instructions. A 12-bit wide program            other operand is either a file register or an immediate
memory access bus fetches a 12-bit instruction in a        constant. In single operand instructions, the operand is
single cycle. A two-stage pipeline overlaps fetch and      either the W register or a file register.
execution of instructions. Consequently, all instructions
(33) execute in a single cycle (1s @ 4MHz) except for     The W register is an 8-bit working register used for
program branches.                                          ALU operations. It is not an addressable register.

The PIC12CE5XX can directly or indirectly address its      Depending on the instruction executed, the ALU may
register files and data memory. All special function       affect the values of the Carry (C), Digit Carry (DC),
registers including the program counter are mapped in      and Zero (Z) bits in the STATUS register. The C and
the data memory. The PIC12CE5XX has a highly               DC bits operate as a borrow and digit borrow out bit,
orthogonal (symmetrical) instruction set that makes it     respectively, in subtraction. See the SUBWF and ADDWF
possible to carry out any operation on any register        instructions for examples.
using any addressing mode. This symmetrical nature
and lack of `special optimal situations' make              A simplified block diagram is shown in Figure 3-1, with
programming with the PIC12CE5XX simple yet                 the corresponding device pins described in Table 3-1.
efficient. In addition, the learning curve is reduced
significantly.

The PIC12CE5XX contains a 16 X 8 EEPROM
memory array for storing non-volatile information such
as calibration data or security codes. This memory
has an endurance of 1,000,000 erase/write cycles and
a retention of 40+ years.

The table below lists program memory (EPROM), data
memory (RAM), and non-volatile (EEPROM) for each
PIC12CE5XX device.

    Device   EPROM                Memory   EEPROM
            Program                 RAM       Data
PIC12CE518   512 x 12               Data     16 x 8
PIC12CE519  1024 X 12              25 x 8    16 X 8
                                   41 X 8

1998 Microchip Technology Inc.           Preliminary     DS40172B-page 7
PIC12CE5XX

FIGURE 3-1: PIC12CE5XX BLOCK DIAGRAM

                                  12                      Data Bus       8                GPIO

                   EPROM              Program Counter
                 512 x 12 or
                 1024 x 12            STACK1                 RAM                                            GP0
                                      STACK2               25 x 8 or                                        GP1
                  Program                                                                                   GP2/T0CKI
                  Memory                                    41 x 8                                          GP3/MCLR/VPP
                                                              File                                          GP4/OSC2
                                                                                                            GP5/OSC1/CLKIN
                                                          Registers
Program
   Bus           12                                   RAM Addr 9                          SCL
                                                               Addr MUX                                SDA

                 Instruction reg

                                      Direct Addr 5             Indirect
                                                          5-7 Addr

                                                          FSR reg                           16 X 8
                                                                                          EEPROM
                                                                              STATUS reg
                                  8                                                          Data
                                                                                           Memory

                                                       3  MUX

OSC1/CLKIN       Instruction          Device Reset            ALU
OSC2             Decode &                  Timer       8

                   Control              Power-on             W reg
                   Timing                  Reset
                 Generation
                                        Watchdog
                                           Timer

                 Internal RC      MCLR                    Timer0
                     OSC                    VDD, VSS

DS40172B-page 8                                     Preliminary                            1998 Microchip Technology Inc.
                                                       PIC12CE5XX

TABLE 3-1: PIC12CE5XX PINOUT DESCRIPTION

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

GP0             7                 7  I/O TTL/ST Bi-directional I/O port/ serial programming data. Can

                                          be software programmed for internal weak pull-up and

                                          wake-up from SLEEP on pin change. This buffer is a

                                          Schmitt Trigger input when used in serial programming

                                          mode.

GP1             6                 6  I/O TTL/ST Bi-directional I/O port/ serial programming clock. Can

                                          be software programmed for internal weak pull-up and

                                          wake-up from SLEEP on pin change. This buffer is a

                                          Schmitt Trigger input when used in serial programming

                                          mode.

GP2/T0CKI       5                 5  I/O  ST Bi-directional I/O port. Can be configured as T0CKI.

GP3/MCLR/VPP    4                 4  I TTL/ST Input port/master clear (reset) input/programming volt-
                                                         age input. When configured as MCLR, this pin is an
                                                         active low reset to the device. Voltage on MCLR/VPP
                                                         must not exceed VDD during normal device operation.
                                                         Can be software programmed for internal weak pull-up
                                                         and wake-up from SLEEP on pin change. Weak pull-
                                                         up always on if configured as MCLR. Input buffers are
                                                         Schmitt Trigger when configured in MCLR mode.

GP4/OSC2        3                 3  I/O  TTL Bi-directional I/O port/oscillator crystal output. Con-

                                          nections to crystal or resonator in crystal oscillator

                                          mode (XT and LP modes only, GPIO in other modes).

GP5/OSC1/CLKIN  2                 2  I/O TTL/ST Bidirectional IO port/oscillator crystal input/external

                                          clock source input (GPIO in Internal RC mode only,

                                          OSC1 in all other oscillator modes). TTL input when

                                          GPIO, ST input in external RC oscillator mode.

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

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

Legend: I = input, O = output, I/O = input/output, P = power, -- = not used, TTL = TTL input,
ST = Schmitt Trigger input

1998 Microchip Technology Inc.          Preliminary                                          DS40172B-page 9
PIC12CE5XX

3.1 Clocking Scheme/Instruction Cycle                   3.2 Instruction Flow/Pipelining

The clock input (OSC1/CLKIN pin) is internally divided  An Instruction Cycle consists of four Q cycles (Q1, Q2,
by four to generate four non-overlapping quadrature     Q3 and Q4). The instruction fetch and execute are
clocks namely Q1, Q2, Q3 and Q4. Internally, the        pipelined such that fetch takes one instruction cycle
program counter is incremented every Q1, and the        while decode and execute takes another instruction
instruction is fetched from program memory and          cycle. However, due to the pipelining, each instruction
latched into instruction register in Q4. It is decoded  effectively executes in one cycle. If an instruction
and executed during the following Q1 through Q4. The    causes the program counter to change (e.g., GOTO)
clocks and instruction execution flow is shown in       then two cycles are required to complete the
Figure 3-2 and Example 3-1.                             instruction (Example 3-1).

                                                        A fetch cycle begins with the program counter (PC)
                                                        incrementing in Q1.

                                                        In the execution cycle, the fetched instruction is
                                                        latched into the Instruction Register (IR) in cycle Q1.
                                                        This instruction is then decoded and executed during
                                                        the Q2, Q3, and Q4 cycles. Data memory is read
                                                        during Q2 (operand read) and written during Q4
                                                        (destination write).

FIGURE 3-2: CLOCK/INSTRUCTION CYCLE

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

OSC1                                                      PC+1                           PC+2
                                                   Fetch INST (PC+1)           Fetch INST (PC+2)
Q1                                               Execute INST (PC)            Execute INST (PC+1)

Q2                                                                                                 Internal
                                                                                                   phase
Q3
                                                                                                   clock

Q4

PC                 PC

                       Fetch INST (PC)
                   Execute INST (PC-1)

EXAMPLE 3-1: INSTRUCTION PIPELINE FLOW

1. MOVLW 03H       Fetch 1              Execute 1
2. MOVWF GPIO                            Fetch 2
3. CALL SUB_1                                           Execute 2
4. BSF GPIO, BIT1                                        Fetch 3   Execute 3

                                                                   Fetch 4    Flush

                                                                              Fetch SUB_1 Execute SUB_1

All instructions are single cycle, except for any program branches. These take two cycles since the fetch
instruction is "flushed" from the pipeline while the new instruction is being fetched and then executed.

DS40172B-page 10                        Preliminary                            1998 Microchip Technology Inc.
                                                                      PIC12CE5XX

4.0 MEMORY ORGANIZATION                                  FIGURE 4-1:  PROGRAM MEMORY MAP
                                                                      AND STACK FOR THE
PIC12CE5XX memory is organized into program mem-                      PIC12CE5XX
ory and data memory. For devices with more than 512
bytes of program memory, a paging scheme is used.                     PC<11:0>
Program memory pages are accessed using one STA-
TUS register bit. For the PIC12CE519 with a data         CALL, RETLW                 12
memory register file of more than 32 registers, a bank-
ing scheme is used. Data memory banks are accessed                    Stack Level 1
using the File Select Register (FSR).                                 Stack Level 2

4.1 Program Memory Organization                                       Reset Vector (note 1)  0000h

The PIC12CE5XX devices have a 12-bit Program                          On-chip Program
Counter (PC) capable of addressing a 2K x 12                                Memory
program memory space.

Only the first 512 x 12 (0000h-01FFh) for the            User Memory
                                                            Space
PIC12CE518 and 1K x 12 (0000h-03FFh) for the                          512 Word (PIC12CE518)

PIC12CE519 are physically implemented. Refer to                            On-chip Program   01FFh
                                                                                 Memory      0200h
Figure 4-1. Accessing a location above these

boundaries will cause a wrap-around within the first

512 x 12 space (PIC12CE518) or 1K x 12 space

(PIC12CE519). The effective reset vector is at 000h,

(see Figure 4-1). Location 01FFh (PIC12CE518) or

location 03FFh (PIC12CE519), the hardwired reset                      1024 Word (PIC12CE519) 03FFh
                                                                                                                   0400h
vector location, contains the internal clock oscillator

calibration value. This value is set at Microchip and

should never be overwritten.      Upon reset, the

MOVLW XX is executed, the PC wraps to location

0000h, thus making 0000h the effective reset vector.

                                                                                             7FFh

                                                         Note 1:      Address 0000h becomes the
                                                                      effective reset vector. Location 01FFh
                                                                      (PIC12CE518) or location 03FFh
                                                                      (PIC12CE519) contains the MOVLW
                                                                      XX INTRC oscillator
                                                                      calibration value.

1998 Microchip Technology Inc.  Preliminary                                          DS40172B-page 11
PIC12CE5XX

4.2 Data Memory Organization                                 FIGURE 4-2: PIC12CE518 REGISTER FILE
                                                                                  MAP
Data memory is composed of registers, or bytes of
RAM. Therefore, data memory for a device is specified        File Address      INDF(1)
by its register file. The register file is divided into two             00h     TMR0
functional groups: special function registers and                       01h      PCL
general purpose registers.                                              02h   STATUS
                                                                        03h      FSR
The special function registers include the TMR0                         04h   OSCCAL
register, the Program Counter (PC), the Status                          05h     GPIO
Register, the I/O registers (ports), and the File Select                06h
Register (FSR). In addition, special purpose registers                  07h
are used to control the I/O port configuration and
prescaler options.                                                             General
                                                                              Purpose
The general purpose registers are used for data and                           Registers
control information under command of the instructions.
                                                                        1Fh
For the PIC12CE518, the register file is composed of 7
special function registers and 25 general purpose            Note 1: Not a physical register. See Indi-
registers (Figure 4-2).                                                   rect Data Addressing, Section 4.8.

For the PIC12CE519, the register file is composed of 7
special function registers, 41 general purpose
registers, and 16 general purpose registers that may
be addressed using a banking scheme (Figure 4-3).

4.2.1 GENERAL PURPOSE REGISTER FILE

The general purpose register file is accessed either
directly or indirectly through the file select register
FSR (Section 4.8).

FIGURE 4-3: PIC12CE519 REGISTER FILE MAP

                  FSR<6:5>             00                               01

                  File Address         INDF(1)               20h
                             00h
                                                              Addresses map
                  01h                  TMR0                   back to
                                                              addresses
                  02h                  PCL                    in Bank 0.

                  03h                  STATUS                2Fh
                                                             30h
                  04h                  FSR
                                                                  General
                  05h                  OSCCAL                     Purpose
                                                                  Registers
                  06h                  GPIO                  3Fh

                  07h                                                 Bank 1
                                General
                                Purpose
                                Registers

                  0Fh

                         10h
                                General
                                Purpose
                                Registers

                                  1Fh

                                       Bank 0

                  Note 1: Not a physical register. See Indirect
                               Data Addressing, Section 4.8.

DS40172B-page 12                       Preliminary                            1998 Microchip Technology Inc.
                                                                        PIC12CE5XX

4.2.2 SPECIAL FUNCTION REGISTERS                             The special registers can be classified into two sets.
                                                             The special function registers associated with the
The Special Function Registers (SFRs) are registers          "core" functions are described in this section. Those
used by the CPU and peripheral functions to control          related to the operation of the peripheral features are
the operation of the device (Table 4-1).                     described in the section for each peripheral feature.

TABLE 4-1: SPECIAL FUNCTION REGISTER (SFR) SUMMARY

Address Name     Bit 7 Bit 6 Bit 5 Bit 4 Bit 3               Bit 2  Bit 1 Bit 0          Value on                Value on
                                                                                         Power-On                all other
                                                                                                                 Resets(2)
                                                                                           Reset

N/A      TRIS    --               -- GP5 GP4 GP3             GP2 GP1 GP0 --11 1111 --11 1111

                 Contains control bits to configure Timer0, Timer0/WDT prescaler, wake-

N/A      OPTION up on change, and weak pull-ups                                          1111 1111 1111 1111

00h      INDF    Uses contents of FSR to address data memory (not a physical register) xxxx xxxx uuuu uuuu

01h      TMR0    8-bit real-time clock/counter                                           xxxx xxxx uuuu uuuu

02h(1) PCL       Low order 8 bits of PC                                                  1111 1111 1111 1111

03h      STATUS  GPWUF -- PA0 TO                         PD  Z      DC  C 0001 1xxx q00q quuu(3)

         FSR

04h      (12CE518) Indirect data memory address pointer                                  111x xxxx 111u uuuu
                                                                                         110x xxxx 11uu uuuu
         FSR

04h      (12CE519) Indirect data memory address pointer

05h      OSCCAL  CAL5 CAL4 CAL3 CAL2 CAL1                    CAL0   --  -- 1000 00-- uuuu uu--

06h      GPIO    SCL SDA GP5 GP4 GP3                         GP2 GP1 GP0 11xx xxxx 11uu uuuu

Legend:  Shaded boxes = unimplemented or unused, -- = unimplemented, read as '0' (if applicable)
         x = unknown, u = unchanged, q = see the tables in Section 8.7 for possible values.
Note 1:  The upper byte of the Program Counter is not directly accessible. See Section 4.6
         for an explanation of how to access these bits.
Note 2:  Other (non-power up) resets include external reset through MCLR, WDT, and wake-up on pin change reset.
Note 3:  If reset was due to wake-up on pin change then bit 7 = 1. All other resets will cause bit 7 = 0.

1998 Microchip Technology Inc.                Preliminary                                        DS40172B-page 13
PIC12CE5XX

4.2.3 EEPROM DATA MEMORY                                        For example, CLRF STATUS will clear the upper three
                                                                bits and set the Z bit. This leaves the STATUS register
The PIC12CE518 and PIC12CE519 each have 16                      as 000u u1uu (where u = unchanged).
bytes of EEPROM data memory. The EEPROM data
memory supports a bi-directional 2-wire bus and data            It is recommended, therefore, that only BCF, BSF and
transmission protocol. Refer to Section 6.0 on                  MOVWF instructions be used to alter the STATUS
EEPROM Peripherals.                                             register because these instructions do not affect the Z,
                                                                DC or C bits from the STATUS register. For other
4.3 STATUS Register                                             instructions, which do affect STATUS bits, see
                                                                Instruction Set Summary.
This register contains the arithmetic status of the ALU,
the RESET status, and the page preselect bit for
program memories larger than 512 words.

The STATUS register can be the destination for any
instruction, as with any other register. If the STATUS
register is the destination for an instruction that affects
the Z, DC or C bits, then the write to these three bits is
disabled. These bits are set or cleared according to
the device logic. Furthermore, the TO and PD bits are
not writable. Therefore, the result of an instruction with
the STATUS register as destination may be different
than intended.

FIGURE 4-4: STATUS REGISTER (ADDRESS:03h)

R/W-0 R/W-0 R/W-0                  R-1  R-1    R/W-x                    R/W-x  R/W-x
                                                                         DC       C
GPWUF --          PA0              TO   PD                   Z                            R = Readable bit
                                                                           1        bit0  W = Writable bit
bit7    6         5                4    3                    2                            - n = Value at POR reset

bit 7:  GPWUF: GPIO reset bit
        1 = Reset due to wake-up from SLEEP on pin change
        0 = After power up or other reset

bit 6: Unimplemented

bit 5:  PA0: Program page preselect bits
        1 = Page 1 (200h - 3FFh) - PIC12CE519
        0 = Page 0 (000h - 1FFh) - PIC12CE518 and PIC12CE519
        Each page is 512 bytes.
        Using the PA0 bit as a general purpose read/write bit in devices which do not use it for program
        page preselect is not recommended since this may affect upward compatibility with future products.

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 (for ADDWF and SUBWF instructions)
        ADDWF
        1 = A carry from the 4th low order bit of the result occurred
        0 = A carry from the 4th low order bit of the result did not occur
        SUBWF
        1 = A borrow from the 4th low order bit of the result did not occur
        0 = A borrow from the 4th low order bit of the result occurred

bit 0:  C: Carry/borrow bit (for ADDWF, SUBWF and RRF, RLF instructions)

        ADDWF                           SUBWF                                  RRF or RLF
                                                                               Load bit with LSB or MSB, respectively
        1 = A carry occurred            1 = A borrow did not occur

        0 = A carry did not occur       0 = A borrow occurred

DS40172B-page 14                               Preliminary                                 1998 Microchip Technology Inc.
                                                                                      PIC12CE5XX

4.4 OPTION Register                                                 Note:  If TRIS bit is set to `0', the wake-up on
                                                                    Note:  change and pull-up functions are disabled
The OPTION register is a 8-bit wide, write-only                            for that pin; i.e., note that TRIS overrides
register which contains various control bits to                            OPTION control of GPPU and GPWU.
configure the Timer0/WDT prescaler and Timer0.
                                                                           If the T0CS bit is set to `1', GP2 is forced to
By executing the OPTION instruction, the contents of                       be an input even if TRIS GP2 = `0'.
the W register will be transferred to the OPTION
register. A RESET sets the OPTION<7:0> bits.

FIGURE 4-5: OPTION REGISTER

W-1     W-1  W-1                  W-1          W-1    W-1           W-1    W-1
                                                                           PS0
GPWU GPPU T0CS T0SE                            PSA    PS2           PS1               W = Writable bit
                                                                                bit0  U = Unimplemented bit
bit7    6    5                    4             3     2             1                 - n = Value at POR reset
                                                                                      Reference Table 4-1 for
                                                                                      other resets.

bit 7:  GPWU: Enable wake-up on pin change (GP0, GP1, GP3)
        1 = Disabled
        0 = Enabled

bit 6:  GPPU: Enable weak pull-ups (GP0, GP1, GP3)
        1 = Disabled
        0 = Enabled

bit 5:  T0CS: Timer0 clock source select bit
        1 = Transition on T0CKI pin
        0 = Transition on internal instruction cycle clock, Fosc/4

bit 4:  T0SE: Timer0 source edge select bit
        1 = Increment on high to low transition on the T0CKI pin
        0 = Increment on low to high transition on the T0CKI pin

bit 3:  PSA: Prescaler assignment bit
        1 = Prescaler assigned to the WDT
        0 = Prescaler assigned to Timer0

bit 2-0: PS2:PS0: Prescaler rate select bits

        Bit Value Timer0 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

1998 Microchip Technology Inc.                    Preliminary                       DS40172B-page 15
PIC12CE5XX

4.5 OSCCAL Register
The Oscillator Calibration (OSCCAL) register is used to
calibrate the internal 4 MHz oscillator. It contains six
bits for calibration. Increasing the CAL value increases
the frequency.

FIGURE 4-6: OSCCAL REGISTER (ADDRESS 05Fh)

R/W-1 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0                             U-0  U-0
                                                                     --
CAL5 CAL4 CAL3 CAL2 CAL1                                  CAL0  --             R = Readable bit
                                                                         bit0  W = Writable bit
bit7                                                                           U = Unimplemented bit,

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

bit 7-2: CAL<5:0>: Calibration
bit 1-0: unimplemented

DS40172B-page 16                Preliminary                                     1998 Microchip Technology Inc.
4.6 Program Counter                                                 PIC12CE5XX

As a program instruction is executed, the Program        4.6.1 EFFECTS OF RESET
Counter (PC) will contain the address of the next
program instruction to be executed. The PC value is      The Program Counter is set upon a RESET, which
increased by one every instruction cycle, unless an      means that the PC addresses the last location in the
instruction changes the PC.                              last page i.e., the oscillator calibration instruction. After
                                                         executing MOVLW XX, the PC will roll over to location
For a GOTO instruction, bits 8:0 of the PC are provided  00h, and begin executing user code.
by the GOTO instruction word. The PC Latch (PCL) is
mapped to PC<7:0>. Bit 5 of the STATUS register          The STATUS register page preselect bits are cleared
provides page information to bit 9 of the PC (Figure 4-  upon a RESET, which means that page 0 is pre-
7).                                                      selected.

For a CALL instruction, or any instruction where the     Therefore, upon a RESET, a GOTO instruction will
PCL is the destination, bits 7:0 of the PC again are     automatically cause the program to jump to page 0
provided by the instruction word. However, PC<8>         until the value of the page bits is altered.
does not come from the instruction word, but is always
cleared (Figure 4-7).                                    4.7 Stack

Instructions where the PCL is the destination, or        PIC12CE5XX devices have a 12-bit wide hardware
Modify PCL instructions, include MOVWF PC, ADDWF         push/pop stack.
PC, and BSF PC,5.
                                                         A CALL instruction will push the current value of stack
Note:  Because PC<8> is cleared in the CALL              1 into stack 2 and then push the current program
       instruction, or any Modify PCL instruction,       counter value, incremented by one, into stack level 1. If
       all subroutine calls or computed jumps are        more than two sequential CALL's are executed, only
       limited to the first 256 locations of any pro-    the most recent two return addresses are stored.
       gram memory page (512 words long).
                                                         A RETLW instruction will pop the contents of stack level
FIGURE 4-7:  LOADING OF PC                               1 into the program counter and then copy stack level 2
             BRANCH INSTRUCTIONS -                       contents into level 1. If more than two sequential
             PIC12CE518/CE519                            RETLW's are executed, the stack will be filled with the
                                                         address previously stored in level 2. Note that the
GOTO Instruction                                         W register will be loaded with the literal value specified
                                                         in the instruction. This is particularly useful for the
       11 10 9 8 7                     0                 implementation of data look-up tables within the
                                                         program memory.
PC                         PCL
                                                            Note 1: There are no STATUS bits to indicate stack
                  Instruction Word                                      overflows or stack underflow conditions.

             PA0                                            Note 2: There are no instructions mnemonics
                                                                        called PUSH nor POP. These are actions
       7                          0                                     that occur from the execution of the CALL
                                                                        and RETLW instructions.
             STATUS

CALL or Modify PCL Instruction

       11 10 9 8 7                     0

PC                         PCL

                     Instruction Word

             Reset to `0'

             PA0

       7                          0

             STATUS

1998 Microchip Technology Inc.          Preliminary    DS40172B-page 17
PIC12CE5XX                                                  EXAMPLE 4-2: HOW TO CLEAR RAM

4.8 Indirect Data Addressing; INDF and                                      USING INDIRECT
          FSR Registers
                                                                            ADDRESSING
The INDF register is not a physical register.
Addressing INDF actually addresses the register                          movlw 0x10 ;initialize pointer
whose address is contained in the FSR register (FSR
is a pointer). This is indirect addressing.                              movwf FSR  ; to RAM

EXAMPLE 4-1: INDIRECT ADDRESSING                            NEXT         clrf INDF ;clear INDF register
Register file 07 contains the value 10h
Register file 08 contains the value 0Ah                                incf FSR,F ;inc pointer
Load the value 07 into the FSR register
A read of the INDF register will return the value                      btfsc FSR,4 ;all done?

   of 10h                                                                goto NEXT ;NO, clear next
Increment the value of the FSR register by one
                                                            CONTINUE
   (FSR = 08)
A read of the INDR register now will return the                        :          ;YES, continue

   value of 0Ah.                                            The FSR is a 5-bit wide register. It is used in
                                                            conjunction with the INDF register to indirectly address
Reading INDF itself indirectly (FSR = 0) will produce       the data memory area.
00h. Writing to the INDF register indirectly results in a
no-operation (although STATUS bits may be affected).        The FSR<4:0> bits are used to select data memory
                                                            addresses 00h to 1Fh.
A simple program to clear RAM locations 10h-1Fh
using indirect addressing is shown in Example 4-2.          PIC12CE518: Does not use banking. FSR<7:5> are
                                                            unimplemented and read as '1's.

                                                            PIC12CE519: Uses FSR<5>. Selects between bank 0
                                                            and bank 1. FSR<7:6> is unimplemented, read as '1' .

FIGURE 4-8: DIRECT/INDIRECT ADDRESSING

                         Direct Addressing                                     Indirect Addressing
                                                                            6 5 4 (FSR) 0
                  (FSR)  4 (opcode) 0
                  65                                                             bank location select

bank select location select                                  01
                                                        00
                                                            Addresses
                                            00h             map back to
                                                            addresses
                                                            in Bank 0.

                         Data               0Fh

                         Memory(1) 10h

                                                 1Fh        3Fh

                                                 Bank 0 Bank 1(2)

                         Note 1: For register map detail see Section 4.2.
                         Note 2: PIC12CE519 only

DS40172B-page 18                                 Preliminary                1998 Microchip Technology Inc.
                                                                                       PIC12CE5XX

5.0 I/O PORT                                                       5.3 I/O Interfacing

As with any other register, the I/O register can be                The equivalent circuit for an I/O port pin is shown in
written and read under program control. However, read              Figure 5-1. All port pins, except GP3 which is input
instructions (e.g., MOVF GPIO,W) always read the I/O               only, may be used for both input and output operations.
pins independent of the pin's input/output modes. On               For input operations these ports are non-latching. Any
RESET, all GPIO ports are defined as input (inputs are             input must be present until read by an input instruction
at hi-impedance) since the I/O control registers are all           (e.g., MOVF GPIO,W). The outputs are latched and
set.                                                               remain unchanged until the output latch is rewritten. To
                                                                   use a port pin as output, the corresponding direction
5.1 GPIO                                                           control bit in TRIS must be cleared (= 0). For use as an
                                                                   input, the corresponding TRIS bit must be set. Any I/O
GPIO is an 8-bit I/O register. Only the low order 6 bits           pin (except GP3) can be programmed individually as
are used (GP5:GP0) for pin control. Bits 6 and 7 (SDA              input or output.
and SCL) are used by the EEPROM peripheral. Refer
to Section 6.0 for use of SDA and SCL. Please note                 FIGURE 5-1: EQUIVALENT CIRCUIT
that GP3 is an input only pin. The configuration word                                   FOR A SINGLE I/O PIN
can set several I/O's to alternate functions. When
acting as alternate functions the pins will read as `0'            Data
during port read. Pins GP0, GP1, and GP3 can be
configured with weak pull-ups and also with wake-up                Bus
on change. The wake-up on change and weak pull-up
functions are not pin selectable. If pin 4 is configured                     D         Q
as MCLR, weak pull-up is always on and wake-up on
change for this pin is not enabled.                                             Data                                       VDD

5.2 TRIS Register                                                  WR           Latch

The output driver control register is loaded with the              Port         CK Q
contents of the W register by executing the TRIS f
instruction. A '1' from a TRIS register bit puts the                                                                       P
corresponding output driver in a hi-impedance mode. A
'0' puts the contents of the output data latch on the              W                                                       N    I/O
selected pins, enabling the output buffer. The                     Reg
exceptions are GP3 which is input only and GP2 which                         D         Q                                        pin(1)
may be controlled by the option register, see Figure 4-5.          TRIS `f'
                                                                                TRIS                                       VSS

                                                                                Latch

                                                                                CK Q

                                                                                Reset

                                                                                                                      (2)

  Note: A read of the ports reads the pins, not the out-                                              RD Port
            put data latches. That is, if an output driver on
            a pin is enabled and driven high, but the exter-       Note 1: I/O pins have protection diodes to VDD and VSS.
            nal system is holding it low, a read of the port       Note 2: See Table 3-1 for buffer type.
            will indicate that the pin is low.

The TRIS registers are "write-only" and are set (output
drivers disabled) upon RESET.

TABLE 5-1: SUMMARY OF PORT REGISTERS

Address  Name  Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0                            Value on                            Value on
                                                                                          Power-On                            all other
                                                                                                                               Resets
                                                                                            Reset

N/A      TRIS  --                 --       I/O control registers                          --11 1111                        --11 1111

N/A      OPTION GPWU GPPU TOCS TOSE PSA PS2 PS1 PS0 1111 1111                                                              1111 1111

03H      STATUS GPWUF --              PA0  TO                  PD  Z         DC C         0001 1xxx q00q quuu(1)

06h      GPIO  SCL SDA GP5 GP4 GP3 GP2 GP1 GP0 11xx xxxx                                                                   11uu uuuu

Legend: Shaded cells not used by Port Registers, read as `0', -- = unimplemented, read as '0', x = unknown, u = unchanged,
             q = see tables in Section 8.7 for possible values.

Note 1: If reset was due to wake-up on pin change then bit 7 = 1. All other resets will cause bit 7 = 0.

1998 Microchip Technology Inc.           Preliminary                                                                     DS40172B-page 19
PIC12CE5XX

5.4 I/O Programming Considerations                        EXAMPLE 5-1: READ-MODIFY-WRITE

5.4.1 BI-DIRECTIONAL I/O PORTS                                           INSTRUCTIONS ON AN

Some instructions operate internally as read followed                    I/O PORT
by write operations. The BCF and BSF instructions, for
example, read the entire port into the CPU, execute       ;Initial GPIO Settings
the bit operation and re-write the result. Caution must
be used when these instructions are applied to a port     ; GPIO<5:3> Inputs
where one or more pins are used as input/outputs. For
example, a BSF operation on bit5 of GPIO will cause       ; GPIO<2:0> Outputs
all eight bits of GPIO to be read into the CPU, bit5 to
be set and the GPIO value to be written to the output     ;
latches. If another bit of GPIO is used as a bi-
directional I/O pin (say bit0) and it is defined as an    ;                      GPIO latch GPIO pins
input at this time, the input signal present on the pin
itself would be read into the CPU and rewritten to the    ;                      ---------- ----------
data latch of this particular pin, overwriting the
previous content. As long as the pin stays in the input      BCF GPIO, 5 ;--01 -ppp --11 pppp
mode, no problem occurs. However, if bit0 is switched
into output mode later on, the content of the data latch     BCF GPIO, 4 ;--10 -ppp --11 pppp
may now be unknown.
                                                             MOVLW 007h       ;
Example 5-1 shows the effect of two sequential read-
modify-write instructions (e.g., BCF, BSF, etc.) on an       TRIS GPIO   ;--10 -ppp --11 pppp
I/O port.
                                                          ;
A pin actively outputting a high or a low should not be
driven from external devices at the same time in order    ;Note that the user may have expected the pin
to change the level on this pin ("wired-or", "wired-
and"). The resulting high output currents may damage      ;values to be --00 pppp. The 2nd BCF caused
the chip.
                                                          ;GP5 to be latched as the pin value (High).

                                                          5.4.2 SUCCESSIVE OPERATIONS ON I/O
                                                                      PORTS

                                                          The actual write to an I/O port happens at the end of
                                                          an instruction cycle, whereas for reading, the data
                                                          must be valid at the beginning of the instruction cycle
                                                          (Figure 5-2). Therefore, care must be exercised if a
                                                          write followed by a read operation is carried out on the
                                                          same I/O port. The sequence of instructions should
                                                          allow the pin voltage to stabilize (load dependent)
                                                          before the next instruction, which causes that file to be
                                                          read into the CPU, is executed. Otherwise, the
                                                          previous state of that pin may be read into the CPU
                                                          rather than the new state. When in doubt, it is better to
                                                          separate these instructions with a NOP or another
                                                          instruction not accessing this I/O port.

FIGURE 5-2: SUCCESSIVE I/O OPERATION

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

                         PC         PC + 1  PC + 2        PC + 3  This example shows a write to GPIO followed
Instruction                  MOVF GPIO,W    NOP           NOP     by a read from GPIO.

   fetched MOVWF GPIO                                             Data setup time = (0.25 TCY TPD)

GP5:GP0                     Port pin       Port pin              where: TCY = instruction cycle.
                             written here   sampled here
Instruction                                                                  TPD = propagation delay
executed
                                                                  Therefore, at higher clock frequencies, a
                                                                  write followed by a read may be problematic.

                             MOVWF GPIO     MOVF GPIO,W   NOP
                                 (Write to      (Read
                                  GPIO)          GPIO)

DS40172B-page 20                            Preliminary                         1998 Microchip Technology Inc.
                                                              PIC12CE5XX

6.0 EEPROM PERIPHERAL                                         read data from the EEPROM peripheral requires out-
         OPERATION                                            putting a `1' on SDA placing it in high-Z state, where
                                                              only the internal 100K pull-up is active on the SDA line.
The PIC12CE518 and PIC12CE519 each have 16
bytes of EEPROM data memory. The EEPROM mem-                        SDA:
ory has an endurance of 1,000,000 erase/write cycles                        Built-in 100K (typical) pull-up to VDD
and a data retention of greater than 40 years. The                          Open-drain (pull-down only)
EEPROM data memory supports a bi-directional 2-wire                         Always an output
bus and data transmission protocol. These two-wires                         Outputs a `1' on reset
are serial data (SDA) and serial clock (SCL), that are
mapped to bit6 and bit7, respectively, of the GPIO reg-             SCL:
ister (SFR 06h). Unlike the GP0-GP5 that are con-                           Full CMOS output
nected to the I/O pins, SDA and SCL are only                                Always an output
connected to the internal EEPROM peripheral. For                            Outputs a `1' on reset
most applications, all that is required is calls to the fol-
lowing functions:                                             The following example requires:

; Byte_Write: Byte write routine                               Code Space: 77 words
                                                               RAM Space: 5 bytes (4 are overlayable)
;        Inputs: EEPROM Address   EEADDR                      Stack Levels:1 (The call to the function itself. The

;        EEPROM Data              EEDATA                         functions do not call any lower level functions.)
                                                               Timing:
;        Outputs: Return 01 in W if OK, else
                                                                 - WRITE_BYTE takes 328 cycles
         return 00 in W                                          - READ_CURRENT takes 212 cycles
                                                                 - READ_RANDOM takes 416 cycles.
;                                                             IO Pins: 0 (No external IO pins are used)

; Read_Current: Read EEPROM at address                        This code must reside in the lower half of a page. The
                                                              code achieves it's small size without additional calls
currently held by EE device.                                  through the use of a sequencing table. The table is a
                                                              list of procedures that must be called in order. The
;        Inputs: NONE                                         table uses an ADDWF PCL,F instruction, effectively a
                                                              computed goto, to sequence to the next procedure.
;        Outputs: EEPROM Data EEDATA                          However the ADDWF PCL,F instruction yields an 8 bit
                                                              address, forcing the code to reside in the first 256
;        Return 01 in W if OK, else                           addresses of a page.

         return 00 in W                                       6.0.2 SERIAL CLOCK

;                                                             This SCL input is used to synchronize the data transfer
                                                              from and to the device.
; Read_Random: Read EEPROM byte at supplied
                                                              6.1 BUS CHARACTERISTICS
address
                                                              The following bus protocol is to be used with the
;        Inputs: EEPROM Address   EEADDR                      EEPROM data memory.

;        Outputs: EEPROM Data EEDATA                           Data transfer may be initiated only when the bus
                                                                 is not busy.
;        Return 01 in W if OK,
                                                              During data transfer, the data line must remain stable
         else return 00 in W                                  whenever the clock line is HIGH. Changes in the data
                                                              line while the clock line is HIGH will be interpreted as a
The code for these functions is available on our website      START or STOP condition.
www.microchip.com. The code will be accessed by
either including the source code FL51XINC.ASM or by           Accordingly, the following bus conditions have been
linking FLASH5IX.ASM.                                         defined (Figure 6-1).

It is very important to check the return codes when           6.1.1 BUS NOT BUSY (A)
using these calls, and retry the operation if unsuccess-
ful. Unsuccessful return codes occur when the EE dta          Both data and clock lines remain HIGH.
memeory is busy with the previos write, which can take
up to 4 mS.

6.0.1 SERIAL DATA

SDA is a bi-directional pin used to transfer addresses
and data into and data out of the device.

For normal data transfer SDA is allowed to change only
during SCL low. Changes during SCL high are
reserved for indicating the START and STOP condi-
tions.

The EEPROM interface is a 2-wire bus protocol con-
sisting of data (SDA) and a clock (SCL). Although
these lines are mapped into the GPIO register, they are
not accessible as external pins; only to the internal
EEPROM peripheral. SDA and SCL operation is also
slightly different than GPO-GP5 as listed below.
Namely, to avoid code overhead in modifying the TRIS
register, both SDA and SCL are always outputs. To

1998 Microchip Technology Inc.          Preliminary         DS40172B-page 21
PIC12CE5XX                                                6.1.5 ACKNOWLEDGE

6.1.2 START DATA TRANSFER (B)                             Each receiving device, when addressed, is obliged to
                                                          generate an acknowledge after the reception of each
A HIGH to LOW transition of the SDA line while the        byte. The master device must generate an extra clock
clock (SCL) is HIGH determines a START condition. All     pulse which is associated with this acknowledge bit.
commands must be preceded by a START condition.
                                                             Note: Acknowledge bits are not generated if an
6.1.3 STOP DATA TRANSFER (C)                                             internal programming cycle is in progress.

A LOW to HIGH transition of the SDA line while the        The device that acknowledges has to pull down the
clock (SCL) is HIGH determines a STOP condition. All      SDA line during the acknowledge clock pulse in such a
operations must be ended with a STOP condition.           way that the SDA line is stable LOW during the HIGH
                                                          period of the acknowledge related clock pulse. Of
6.1.4 DATA VALID (D)                                      course, setup and hold times must be taken into
                                                          account. A master must signal an end of data to the
The state of the data line represents valid data when,    slave by not generating an acknowledge bit on the last
after a START condition, the data line is stable for the  byte that has been clocked out of the slave. In this case,
duration of the HIGH period of the clock signal.          the slave must leave the data line HIGH to enable the
The data on the line must be changed during the LOW       master to generate the STOP condition (Figure 6-2).
period of the clock signal. There is one bit of data per
clock pulse.
Each data transfer is initiated with a START condition
and terminated with a STOP condition. The number of
the data bytes transferred between the START and
STOP conditions is determined by the master device
and is theoretically unlimited.

DS40172B-page 22  Preliminary                              1998 Microchip Technology Inc.
                                                                                       PIC12CE5XX

FIGURE 6-1: DATA TRANSFER SEQUENCE ON THE SERIAL BUS

SCL (A) (B)                       (C)                                             (D)                      (C) (A)

SDA

        START                      ADDRESS OR                   DATA                                           STOP
     CONDITION                    ACKNOWLEDGE               ALLOWED                                        CONDITION
                                                           TO CHANGE
                                         VALID

FIGURE 6-2: ACKNOWLEDGE TIMING

                                                                     Acknowledge
                                                                            Bit

SCL          12 345678 9 123

SDA                            Data from transmitter                                     Data from transmitter

                Transmitter must release the SDA line at this point                    Receiver must release the SDA line at this point
                allowing the Receiver to pull the SDA line low to                      so the Transmitter can continue sending data.
                acknowledge the previous eight bits of data.

6.2 Device Addressing                                                FIGURE 6-3: CONTROL BYTE FORMAT
                                                                                                          Read/Write Bit
After generating a START condition, the bus master
transmits a control byte consisting of a slave address                          Device Select  Don't Care
and a Read/Write bit that indicates what type of opera-                               Bits         Bits
tion is to be performed. The slave address consists of a
4-bit device code (1010) followed by three don't care                 S 1 0 1 0 X X X R/W ACK
bits.
                                                                     Start Bit         Slave Address
The last bit of the control byte determines the operation                                              Acknowledge Bit
to be performed. When set to a one a read operation is
selected, and when set to a zero a write operation is
selected. (Figure 6-3). The bus is monitored for its cor-
responding slave address all the time. It generates an
acknowledge bit if the slave address was true and it is
not in a programming mode.

1998 Microchip Technology Inc.       Preliminary                                             DS40172B-page 23
PIC12CE5XX                                                  6.4 ACKNOWLEDGE POLLING

6.3 WRITE OPERATIONS                                        Since the device will not acknowledge during a write
                                                            cycle, this can be used to determine when the cycle is
6.3.1 BYTE WRITE                                            complete (this feature can be used to maximize bus
                                                            throughput). Once the stop condition for a write com-
Following the start signal from the master, the device      mand has been issued from the master, the device ini-
code (4 bits), the don't care bits (3 bits), and the R/W    tiates the internally timed write cycle. ACK polling can
bit (which is a logic low) are placed onto the bus by the   be initiated immediately. This involves the master send-
master transmitter. This indicates to the addressed         ing a start condition followed by the control byte for a
slave receiver that a byte with a word address will follow  write command (R/W = 0). If the device is still busy with
after it has generated an acknowledge bit during the        the write cycle, then no ACK will be returned. If no ACK
ninth clock cycle. Therefore, the next byte transmitted     is returned, then the start bit and control byte must be
by the master is the word address and will be written       re-sent. If the cycle is complete, then the device will
into the address pointer. Only the lower four address       return the ACK and the master can then proceed with
bits are used by the device, and the upper four bits are    the next read or write command. See Figure 6-4 for
don't cares. The address byte is acknowledgeable and        flow diagram.
the master device will then transmit the data word to be
written into the addressed memory location. The mem-        FIGURE 6-4: ACKNOWLEDGE POLLING
ory acknowledges again and the master generates a                                FLOW
stop condition. This initiates the internal write cycle,
and during this time will not generate acknowledge sig-                                    Send
nals (Figure 6-5). After a byte write command, the inter-                           Write Command
nal address counter will not be incremented and will
point to the same address location that was just written.                              Send Stop
If a stop bit is transmitted to the device at any point in                            Condition to
the write command sequence before the entire                                     Initiate Write Cycle
sequence is complete, then the command will abort
and no data will be written. If more than 8 data bits are                              Send Start
transmitted before the stop bit is sent, then the device
will clear the previously loaded byte and begin loading           Send Control Byte
the data buffer again. If more than one data byte is                 with R/W = 0
transmitted to the device and a stop bit is sent before a
full eight data bits have been transmitted, then the write
command will abort and no data will be written. The
EEPROM memory employs a VCC threshold detector
circuit which disables the internal erase/write logic if
the VCC is below minimum VDD.

Byte write operations must be preceded and immedi-
ately followed by a bus not busy bus cycle where both
SDA and SCL are held high.

                                                                   Did Device        NO
                                                                  Acknowledge

                                                                  (ACK = 0)?

                                                                  YES

                                                                     Next
                                                                  Operation

FIGURE 6-5: BYTE WRITE

                     S                                                                    S
                                                                                          T
BUS ACTIVITY         T  CONTROL                         WORD      DATA                    O
MASTER               A     BYTE                       ADDRESS                             P
                     R
                                         XXXX                                            P
                     T
                                                                                     A
SDA LINE             S1 0 1 0 XX X 0                                                 C
                                                                                     K
                                      A                        A

BUS ACTIVITY                          C                        C
X = Don't Care Bit
                                      K                        K

DS40172B-page 24                         Preliminary               1998 Microchip Technology Inc.
                                                                                          PIC12CE5XX

6.5 READ OPERATIONs                                                  device as part of a write operation. After the word
                                                                     address is sent, the master generates a start condition
Read operations are initiated in the same way as write               following the acknowledge. This terminates the write
operations with the exception that the R/W bit of the                operation, but not before the internal address pointer is
slave address is set to one. There are three basic types             set. Then the master issues the control byte again but
of read operations: current address read, random read,               with the R/W bit set to a one. It will then issue an
and sequential read.                                                 acknowledge and transmits the eight bit data word. The
                                                                     master will not acknowledge the transfer but does gen-
6.5.1 CURRENT ADDRESS READ                                           erate a stop condition and the device discontinues
                                                                     transmission (Figure 6-7). After this command, the
It contains an address counter that maintains the                    internal address counter will point to the address loca-
address of the last word accessed, internally incre-                 tion following the one that was just read.
mented by one. Therefore, if the previous read access
was to address n, the next current address read oper-                6.5.3 SEQUENTIAL READ
ation would access data from address n + 1. Upon
receipt of the slave address with the R/W bit set to one,            Sequential reads are initiated in the same way as a ran-
the device issues an acknowledge and transmits the                   dom read except that after the device transmits the first
eight bit data word. The master will not acknowledge                 data byte, the master issues an acknowledge as
the transfer but does generate a stop condition and the              opposed to a stop condition in a random read. This
device discontinues transmission (Figure 6-6).                       directs the device to transmit the next sequentially
                                                                     addressed 8-bit word (Figure 6-8).
6.5.2 RANDOM READ
                                                                     To provide sequential reads, it contains an internal
Random read operations allow the master to access                    address pointer which is incremented by one at the
any memory location in a random manner. To perform                   completion of each read operation. This address
this type of read operation, first the word address must             pointer allows the entire memory contents to be serially
be set. This is done by sending the word address to the              read during one operation.

FIGURE 6-6:   CURRENT ADDRESS READ

                                                      S

                                  BUS ACTIVITY        T                                         S
                                  MASTER              A CONTROL                                 T
                                                           BYTE                                 O
                                  SDA LINE            R                                         P

                                                      T                                         P

                                                      S 1 0 1 0 XXX 1

                                  BUS ACTIVITY                             A                 N

                                                                           C  DATA           O

                                                                           K                 A
                                                                                             C
                                  X = Don't Care Bit                                         K

FIGURE 6-7: RANDOM READ

                    S                                                   S

BUS ACTIVITY        T             CONTROL           WORD                T                                            S
MASTER              A                BYTE       ADDRESS (n)             A CONTROL                                    T
                    R                                                         BYTE                                   O
                                                                        R                                            P

                    T                                                   T                                         P

                    S 10 10XXX0 X XXX                                   S 10 10XXX1                               N
                                                                                                DATA (n) O
SDA LINE                                        A                    A                    A
BUS ACTIVITY                                    C                                                                 A
                                                K                    C                    C                       C
                                                                                                                  K
                                                                     K                    K

X = Don't Care Bit

FIGURE 6-8: SEQUENTIAL READ

                                                                                                                           S

BUS ACTIVITY  CONTROL                                                                                                      T
MASTER           BYTE
SDA LINE                          DATA n                 DATA n + 1           DATA n + 2           DATA n + X              O
                           A
BUS ACTIVITY               C                                                                                               P
                           K
                                                                                                                           P

                                                A                       A                 A                             N
                                                                                                                        O
                                                C                       C                 C

                                                K                       K                 K                             A
                                                                                                                        C
                                                                                                                        K

1998 Microchip Technology Inc.                      Preliminary                                  DS40172B-page 25
PIC12CE5XX

NOTES:

DS40172B-page 26  Preliminary   1998 Microchip Technology Inc.
                                                                       PIC12CE5XX

7.0 TIMER0 MODULE AND                                        Counter mode is selected by setting the T0CS bit
         TMR0 REGISTER                                       (OPTION<5>). In this mode, Timer0 will increment
                                                             either on every rising or falling edge of pin T0CKI. The
The Timer0 module has the following features:                T0SE bit (OPTION<4>) determines the source edge.
                                                             Clearing the T0SE bit selects the rising edge.
8-bit timer/counter register, TMR0                         Restrictions on the external clock input are discussed
   - Readable and writable                                   in detail in Section 7.1.

8-bit software programmable prescaler                      The prescaler may be used by either the Timer0
Internal or external clock select                          module or the Watchdog Timer, but not both. The
                                                             prescaler assignment is controlled in software by the
   - Edge select for external clock                          control bit PSA (OPTION<3>). Clearing the PSA bit
                                                             will assign the prescaler to Timer0. The prescaler is
Figure 7-1 is a simplified block diagram of the Timer0       not readable or writable. When the prescaler is
module.                                                      assigned to the Timer0 module, prescale values of 1:2,
                                                             1:4,..., 1:256 are selectable. Section 7.2 details the
Timer mode is selected by clearing the T0CS bit              operation of the prescaler.
(OPTION<5>). In timer mode, the Timer0 module will
increment every instruction cycle (without prescaler). If    A summary of registers associated with the Timer0
TMR0 register is written, the increment is inhibited for     module is found in Table 7-1.
the following two cycles (Figure 7-2 and Figure 7-3).
The user can work around this by writing an adjusted
value to the TMR0 register.

FIGURE 7-1: TIMER0 BLOCK DIAGRAM

                                                                                                 Data bus

GP2/T0CKI  FOSC/4                 0                             PSout                            8
     Pin
                                                             1
                                                                       Sync with
                                  1
                                                                       Internal                  TMR0 reg

                                           Programmable      0            Clocks
                                             Prescaler(2)                                 PSout

T0SE                                                                   (2 TCY delay) Sync

                                  T0CS(1)               3    PSA(1)
                                           PS2, PS1, PS0(1)

           Note 1: Bits T0CS, T0SE, PSA, PS2, PS1 and PS0 are located in the OPTION register.
                  2: The prescaler is shared with the Watchdog Timer (Figure 7-5).

1998 Microchip Technology Inc.           Preliminary                                           DS40172B-page 27
PIC12CE5XX

FIGURE 7-2: TIMER0 TIMING: INTERNAL CLOCK/NO PRESCALE

PC                Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
(Program
Counter)                PC-1         PC        PC+1        PC+2            PC+3  PC+4       PC+5          PC+6

Instruction                       MOVWF TMR0 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W
Fetch

Timer0            T0              T0+1         T0+2                   NT0                   NT0+1         NT0+2

     Instruction                               Write TMR0  Read TMR0  Read TMR0  Read TMR0  Read TMR0     Read TMR0
     Executed                                  executed    reads NT0  reads NT0  reads NT0

                                                                                            reads NT0 + 1 reads NT0 + 2

FIGURE 7-3: TIMER0 TIMING: INTERNAL CLOCK/PRESCALE 1:2

PC                Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
(Program
Counter)                PC-1         PC        PC+1        PC+2            PC+3  PC+4       PC+5          PC+6

Instruction                       MOVWF TMR0 MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W MOVF TMR0,W
Fetch

Timer0            T0                    T0+1                               NT0                            NT0+1          T0

Instruction                                    Write TMR0  Read TMR0  Read TMR0  Read TMR0  Read TMR0     Read TMR0
Execute                                        executed    reads NT0  reads NT0  reads NT0  reads NT0     reads NT0 + 1

TABLE 7-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
                                                                                            Power-On             all other
                                                                                                                  Resets
                                                                                              Reset

01h               TMR0 Timer0 - 8-bit real-time clock/counter                               xxxx xxxx uuuu uuuu

N/A               OPTION GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111

N/A               TRIS        --         -- TRIS5 TRIS4 TRIS3 TRIS2 TRIS1 TRIS0 --11 1111 --11 1111

Legend: Shaded cells not used by Timer0, - = unimplemented, x = unknown, u = unchanged,

DS40172B-page 28                                           Preliminary                      1998 Microchip Technology Inc.
                                                                      PIC12CE5XX

7.1 Using Timer0 with an External Clock                       When a prescaler is used, the external clock input is
                                                              divided by the asynchronous ripple counter-type
When an external clock input is used for Timer0, it           prescaler so that the prescaler output is symmetrical.
must meet certain requirements. The external clock            For the external clock to meet the sampling
requirement is due to internal phase clock (TOSC)             requirement, the ripple counter must be taken into
synchronization. Also, there is a delay in the actual         account. Therefore, it is necessary for T0CKI to have a
incrementing of Timer0 after synchronization.                 period of at least 4TOSC (and a small RC delay of
                                                              40 ns) divided by the prescaler value. The only
7.1.1 EXTERNAL CLOCK SYNCHRONIZATION                          requirement on T0CKI high and low time is that they
                                                              do not violate the minimum pulse width requirement of
When no prescaler is used, the external clock input is        10 ns. Refer to parameters 40, 41 and 42 in the
the same as the prescaler output. The synchronization         electrical specification of the desired device.
of T0CKI with the internal phase clocks is
accomplished by sampling the prescaler output on the          7.1.2 TIMER0 INCREMENT DELAY
Q2 and Q4 cycles of the internal phase clocks
(Figure 7-4). Therefore, it is necessary for T0CKI to be      Since the prescaler output is synchronized with the
high for at least 2TOSC (and a small RC delay of 20 ns)       internal clocks, there is a small delay from the time the
and low for at least 2TOSC (and a small RC delay of           external clock edge occurs to the time the Timer0
20 ns). Refer to the electrical specification of the          module is actually incremented. Figure 7-4 shows the
desired device.                                               delay from the external clock edge to the timer
                                                              incrementing.

                                                              7.1.3 OPTION REGISTER EFFECT ON GP2 TRIS

                                                              If the option register is set to read TIMER0 from the pin,
                                                              the port is forced to an input regardless of the TRIS reg-
                                                              ister setting.

FIGURE 7-4: TIMER0 TIMING WITH EXTERNAL CLOCK

    External Clock Input or       Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
    Prescaler Output (2)                                                                                                      Small pulse
                                                                                                                              misses sampling
External Clock/Prescaler
Output After Sampling                            (1)
                                  (3)

Increment Timer0 (Q4)                                     T0  T0 + 1  T0 + 2
                         Timer0

Note 1: Delay from clock input change to Timer0 increment is 3Tosc to 7Tosc. (Duration of Q = Tosc).
            Therefore, the error in measuring the interval between two edges on Timer0 input = 4Tosc max.

       2: External clock if no prescaler selected, Prescaler output otherwise.
       3: The arrows indicate the points in time where sampling occurs.

1998 Microchip Technology Inc.  Preliminary                         DS40172B-page 29
PIC12CE5XX

7.2 Prescaler                                                EXAMPLE 7-1: CHANGING PRESCALER

An 8-bit counter is available as a prescaler for the                                   (TIMER0WDT)
Timer0 module, or as a postscaler for the Watchdog
Timer (WDT), respectively (Section 8.6). For simplicity,     1.CLRWDT                  ;Clear WDT
this counter is being referred to as "prescaler"
throughout this data sheet. Note that the prescaler          2.CLRF TMR0               ;Clear TMR0 & Prescaler
may be used by either the Timer0 module or the WDT,
but not both. Thus, a prescaler assignment for the           3.MOVLW '00xx1111'b; ;These 3 lines (5, 6, 7)
Timer0 module means that there is no prescaler for
the WDT, and vice-versa.                                     4.OPTION                  ; are required only if

The PSA and PS2:PS0 bits (OPTION<3:0>)                                                 ; desired
determine prescaler assignment and prescale ratio.
                                                             5.CLRWDT                  ;PS<2:0> are 000 or 001
When assigned to the Timer0 module, all instructions
writing to the TMR0 register (e.g., CLRF 1,                  6.MOVLW '00xx1xxx'b ;Set Postscaler to
MOVWF 1, BSF 1,x, etc.) will clear the prescaler.
When assigned to WDT, a CLRWDT instruction will              7.OPTION                  ; desired WDT rate
clear the prescaler along with the WDT. The prescaler
is neither readable nor writable. On a RESET, the            To change prescaler from the WDT to the Timer0
prescaler contains all '0's.                                 module, use the sequence shown in Example 7-2. This
                                                             sequence must be used even if the WDT is disabled. A
7.2.1 SWITCHING PRESCALER ASSIGNMENT                         CLRWDT instruction should be executed before
                                                             switching the prescaler.
The prescaler assignment is fully under software control
(i.e., it can be changed "on the fly" during program         EXAMPLE 7-2: CHANGING PRESCALER
execution). To avoid an unintended device RESET, the
following instruction sequence (Example 7-1) must be                                   (WDTTIMER0)
executed when changing the prescaler assignment from
Timer0 to the WDT.                                           CLRWDT                    ;Clear WDT and

                                                                                       ;prescaler

                                                             MOVLW 'xxxx0xxx'          ;Select TMR0, new

                                                                                       ;prescale value and

                                                                                       ;clock source

                                                             OPTION

FIGURE 7-5: BLOCK DIAGRAM OF THE TIMER0/WDT PRESCALER

                    TCY ( = Fosc/4)

GP2/T0CKI                       0                         1                            Data Bus
     Pin                             M                          M                               8
                                      U                         U
                                                                                Sync   TMR0 reg
                                1X                        0X                      2

                                                                               Cycles

                  T0SE          T0CS

                                                             PSA

  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 bits in the OPTION register.

DS40172B-page 30                         Preliminary                                    1998 Microchip Technology Inc.
                                                                        PIC12CE5XX

8.0 SPECIAL FEATURES OF THE                                The PIC12CE5XX has a Watchdog Timer which can
         CPU                                               be shut off only through configuration bit WDTE. It
                                                           runs off of its own RC oscillator for added reliability. If
What sets a microcontroller apart from other               using XT or LP selectable oscillator options, there is
processors are special circuits to deal with the needs     always an 18 ms (nominal) delay provided by the
of real-time applications. The PIC12C5XX family of         Device Reset Timer (DRT), intended to keep the chip
microcontrollers has a host of such features intended      in reset until the crystal oscillator is stable. If using
to maximize system reliability, minimize cost through      INTRC or EXTRC there is an 18 ms delay only on VDD
elimination of external components, provide power          power-up. With this timer on-chip, most applications
saving operating modes and offer code protection.          need no external reset circuitry.
These features are:
                                                           The SLEEP mode is designed to offer a very low
Oscillator selection                                     current power-down mode. The user can wake-up
Reset                                                    from SLEEP through a change on input pins or
                                                           through a Watchdog Timer time-out. Several oscillator
   - Power-On Reset (POR)                                  options are also made available to allow the part to fit
   - Device Reset Timer (DRT)                              the application, including an internal 4 MHz oscillator.
   - Wake-up from SLEEP on pin change                      The EXTRC oscillator option saves system cost while
Watchdog Timer (WDT)                                     the LP crystal option saves power. A set of
SLEEP                                                    configuration bits are used to select various options.
Code protection
ID locations                                             8.1 Configuration Bits
In-circuit Serial Programming
                                                           The PIC12CE5XX configuration word consists of 5
                                                           bits. Configuration bits can be programmed to select
                                                           various device configurations. Two bits are for the
                                                           selection of the oscillator type, one bit is the Watchdog
                                                           Timer enable bit, and one bit is the MCLR enable bit.
                                                           One bit is the code protection bit (Figure 8-1).

FIGURE 8-1: CONFIGURATION WORD FOR PIC12CE5XX

--        --  --         --         --        --  --    MCLRE CP  WDTE FOSC1 FOSC0                        Register: CONFIG
                                                                                                          Address(1): FFFh
bit11 10      9          8          7         6   5     4  3      2  1  bit0

bit 11-5: Unimplemented

bit 4:    MCLRE: MCLR enable bit.
          1 = MCLR pin enabled
          0 = MCLR tied to VDD, (Internally)

bit 3:    CP: Code protection bit.
          1 = Code protection off
          0 = Code protection on

bit 2:    WDTE: Watchdog timer enable bit
          1 = WDT enabled
          0 = WDT disabled

bit 1-0:  FOSC1:FOSC0: Oscillator selection bits
          11 = EXTRC - external RC oscillator
          10 = INTRC - internal RC oscillator
          01 = XT oscillator
          00 = LP oscillator

Note 1: Refer to the PIC12C5XX Programming Specifications to determine how to access the
             configuration word. This register is not user addressable during device operation. Refer to
             In-Circuit Serial ProgrammingTM Guide, (DS30277).

1998 Microchip Technology Inc.                  Preliminary                                             DS40172B-page 31
PIC12CE5XX

8.2 Oscillator Configurations                               TABLE 8-1:  CAPACITOR SELECTION
                                                                        FOR CERAMIC
8.2.1 OSCILLATOR TYPES                                                  RESONATORS - PIC12CE5XX

The PIC12CE5XX can be operated in four different            Osc Resonator Cap. Range Cap. Range
oscillator modes. The user can program two
configuration bits (FOSC1:FOSC0) to select one of           Type        Freq   C1     C2
these four modes:
                                                            XT 4.0 MHz         30 pF  30 pF
LP: Low Power Crystal
XT: Crystal/Resonator                                     These values are for design guidance only. Since
INTRC: Internal 4 MHz Oscillator                          each resonator has its own characteristics, the user
EXTRC: External Resistor/Capacitor                        should consult the resonator manufacturer for
                                                            appropriate values of external components.

                                                            TABLE 8-2:  CAPACITOR SELECTION
                                                                        FOR CRYSTAL OSCILLATOR -
8.2.2 CRYSTAL OSCILLATOR / CERAMIC                                      PIC12CE5XX
            RESONATORS

                                                            Osc Resonator Cap.Range Cap. Range

In XT or LP modes, a crystal or ceramic resonator is        Type        Freq   C1     C2
connected to the GP5/OSC1/CLKIN and GP4/OSC2
pins to establish oscillation (Figure 8-2). The               LP  32 kHz(1)    15 pF  15 pF
PIC12CE5XX oscillator design requires the use of a
parallel cut crystal. Use of a series cut crystal may give  XT    200 kHz 47-68 pF    47-68 pF
a frequency out of the crystal manufacturers
specifications. When in XT or LP modes, the device                      1 MHz  15 pF  15 pF
can have an external clock source drive the GP5/
OSC1/CLKIN pin (Figure 8-3).                                            4 MHz  15 pF  15 pF

FIGURE 8-2:        CRYSTAL OPERATION (OR                    Note 1: For VDD > 4.5V, C1 = C2  30 pF is
                   CERAMIC RESONATOR) (XT                               recommended.
            C1(1)  OR LP OSC
                   CONFIGURATION)                           These values are for design guidance only. Rs may
                                                            be required to avoid overdriving crystals with low
                                                            drive level specification. Since each crystal has its
                                                            own characteristics, the user should consult the crys-
                                                            tal manufacturer for appropriate values of external
                                                            components.

                       OSC1         PIC12CE5XX

          XTAL               RF(3)  SLEEP
                                    To internal
         RS(2) OSC2
C2(1)                                   logic

Note 1: See Capacitor Selection tables for
            recommended values of C1 and C2.

       2: A series resistor (RS) may be required for
            AT strip cut crystals.

       3: RF approximate value = 10 M.

FIGURE 8-3: EXTERNAL CLOCK INPUT
                     OPERATION (XT OR LP OSC
                     CONFIGURATION)

Clock from                   OSC1
ext. system                          PIC12CE5XX

                 Open        OSC2

DS40172B-page 32                                 Preliminary                   1998 Microchip Technology Inc.
                                                                     PIC12CE5XX

8.2.3 EXTERNAL CRYSTAL OSCILLATOR                            8.2.4 EXTERNAL RC OSCILLATOR
            CIRCUIT
                                                             For timing insensitive applications, the RC device
Either a prepackaged oscillator or a simple oscillator       option offers additional cost savings. The RC oscillator
circuit with TTL gates can be used as an external            frequency is a function of the supply voltage, the
crystal oscillator circuit. Prepackaged oscillators          resistor (Rext) and capacitor (Cext) values, and the
provide a wide operating range and better stability. A       operating temperature. In addition to this, the oscillator
well-designed crystal oscillator will provide good           frequency will vary from unit to unit due to normal
performance with TTL gates. Two types of crystal             process parameter variation. Furthermore, the
oscillator circuits can be used: one with parallel           difference in lead frame capacitance between package
resonance, or one with series resonance.                     types will also affect the oscillation frequency,
                                                             especially for low Cext values. The user also needs to
Figure 8-4 shows implementation of a parallel                take into account variation due to tolerance of external
resonant oscillator circuit. The circuit is designed to      R and C components used.
use the fundamental frequency of the crystal. The
74AS04 inverter performs the 180-degree phase shift          Figure 8-6 shows how the R/C combination is
that a parallel oscillator requires. The 4.7 k resistor      connected to the PIC12CE5XX. For Rext values below
provides the negative feedback for stability. The 10 k       2.2 k, the oscillator operation may become unstable,
potentiometers bias the 74AS04 in the linear region.         or stop completely. For very high Rext values
This circuit could be used for external oscillator           (e.g., 1 M) the oscillator becomes sensitive to noise,
designs.                                                     humidity and leakage. Thus, we recommend keeping
                                                             Rext between 3 k and 100 k.
FIGURE 8-4:   EXTERNAL PARALLEL
              RESONANT CRYSTAL                               Although the oscillator will operate with no external
              OSCILLATOR CIRCUIT                             capacitor (Cext = 0 pF), we recommend using values
                                                             above 20 pF for noise and stability reasons. With no or
        +5V                            To Other              small external capacitance, the oscillation frequency
                                       Devices               can vary dramatically due to changes in external
            10k                                              capacitances, such as PCB trace capacitance or
                   4.7k  74AS04                PIC12CE5XX    package lead frame capacitance.

                 74AS04                          CLKIN       The Electrical Specifications sections show RC
                                                             frequency variation from part to part due to normal
                                  10k                        process variation. The variation is larger for larger R
                 XTAL                                        (since leakage current variation will affect RC
10k                                                          frequency more for large R) and for smaller C (since
                                                             variation of input capacitance will affect RC frequency
          20 pF 20 pF                                        more).

Figure 8-5 shows a series resonant oscillator circuit.       Also, see the Electrical Specifications sections for
This circuit is also designed to use the fundamental         variation of oscillator frequency due to VDD for given
frequency of the crystal. The inverter performs a 180-       Rext/Cext values as well as frequency variation due to
degree phase shift in a series resonant oscillator           operating temperature for given R, C, and VDD values.
circuit. The 330  resistors provide the negative
feedback to bias the inverters in their linear region.       FIGURE 8-6: EXTERNAL RC OSCILLATOR
                                                                                  MODE

                                                                      VDD

FIGURE 8-5:   EXTERNAL SERIES                                Rext          Internal
              RESONANT CRYSTAL                                             clock
        330   OSCILLATOR CIRCUIT                                     OSC1

                                       To Other              Cext    N
                                                             VSS                        PIC12CE5XX
                330                    Devices

74AS04          74AS04                 74AS04    PIC12CE5XX
                                                 CLKIN

        0.1 F

        XTAL

1998 Microchip Technology Inc.                        Preliminary        DS40172B-page 33
PIC12CE5XX

8.2.5 INTERNAL 4 MHz RC OSCILLATOR                          Some registers are not reset in any way; they are
                                                            unknown on POR and unchanged in any other reset.
The internal RC oscillator provides a fixed 4 MHz (nom-     Most other registers are reset to "reset state" on power-
inal) system clock at VDD = 5V and 25C, see "Electri-      on reset (POR), on MCLR, WDT or wake-up on pin
cal Specifications" section for information on variation    change reset during normal operation. They are not
over voltage and temperature.                               affected by a WDT reset during SLEEP or MCLR reset
                                                            during SLEEP, since these resets are viewed as
In addition, a calibration instruction is programmed into   resumption of normal operation. The exceptions to this
the top of memory which contains the calibration value      are TO, PD, and GPWUF bits. They are set or cleared
for the internal RC oscillator. This value is programmed    differently in different reset situations. These bits are
as a MOVLW XX instruction where XX is the calibration       used in software to determine the nature of reset. See
value, and is placed at the reset vector. This will load    Table 8-3 for a full description of reset states of all
the W register with the calibration value upon reset and    registers.
the PC will then roll over to the users program at
address 0x000. The user then has the option of writing
the value to the OSCCAL Register (05h) or ignoring it.

OSCCAL, when written to with the calibration value, will
"trim" the internal oscillator to remove process variation
from the oscillator frequency. .

Note:  Please note that erasing the device will
       also erase the pre-programmed internal
       calibration value for the internal oscillator.
       The calibration value must be saved prior
       to erasing the part.

For the PIC12CE518 and PIC12CE519, bits <5:0>,
CAL5-CAL0 are used for calibration. Adjusting CAL5-0
from 000000 to 111111 yields a higher clock speed.
Note that bits 1 and 0 of OSCCAL are unimplemented
and should be written as 0 when modifying OSCCAL
for compatibility with future devices.

For the PIC12CE518 and PIC12CE519, the lower 2 bits
of the register are used to allow for future, longer bit
length calibration schemes. Writing a larger value in
this location yields a higher clock speed.

8.3 RESET

The device differentiates between various kinds of
reset:
a) Power on reset (POR)
b) MCLR reset during normal operation
c) MCLR reset during SLEEP
d) WDT time-out reset during normal operation
e) WDT time-out reset during SLEEP
f) Wake-up from SLEEP on pin change

DS40172B-page 34                    Preliminary             1998 Microchip Technology Inc.
                                                                                PIC12CE5XX

TABLE 8-3: RESET CONDITIONS FOR REGISTERS

Register                            Address                     Power-on Reset          MCLR Reset
                                                                                       WDT time-out
                                                                                Wake-up on Pin Change

W                                   --                          qqqq qqxx(1)    qqqq qquu(1)

INDF                                00h                         xxxx xxxx       uuuu uuuu

TMR0                                01h                         xxxx xxxx       uuuu uuuu

PC                                  02h                         1111 1111       1111 1111

STATUS                              03h                         0001 1xxx       q00q quuu(3)(2)

FSR (12CE518)                       04h                         111x xxxx       111u uuuu

FSR (12CE519)                       04h                         110x xxxx       11uu uuuu

OSCCAL                              05h                         1000 00--       uuuu uu--

GPIO                                06h                         11xx xxxx       11uu uuuu

OPTION                              --                          1111 1111       1111 1111

TRIS                                --                          --11 1111       --11 1111

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

Note 1: Bits <7:2> of W register contain oscillator calibration values due to MOVLW XX instruction at top of memory.

Note 2: See Table 8-7 for reset value for specific conditions.

Note 3: If reset was due to wake-up on pin change then bit 7 = 1. All other resets will cause bit 7 = 0.

TABLE 8-4: RESET CONDITION FOR SPECIAL REGISTERS

                                             STATUS Addr: 03h                   PCL Addr: 02h
                                                                                  1111 1111
Power on reset                               0001 1xxx                            1111 1111
                                                                                  1111 1111
MCLR reset during normal operation           000u uuuu                            1111 1111
                                                                                  1111 1111
MCLR reset during SLEEP                      0001 0uuu                            1111 1111

WDT reset during SLEEP                       0000 0uuu

WDT reset normal operation                   0000 uuuu

Wake-up from SLEEP on pin change             1001 0uuu

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

1998 Microchip Technology Inc.             Preliminary                        DS40172B-page 35
PIC12CE5XX                                                 The Power-On Reset circuit and the Device Reset
                                                           Timer (Section 8.5) circuit are closely related. On
8.3.1 MCLR ENABLE                                          power-up, the reset latch is set and the DRT is reset.
                                                           The DRT timer begins counting once it detects MCLR
This configuration bit when unprogrammed (left in the      to be high. After the time-out period, which is typically
`1' state) enables the external MCLR function. When        18 ms, it will reset the reset latch and thus end the on-
programmed, the MCLR function is tied to the internal      chip reset signal.
VDD, and the pin is assigned to be a GPIO. See
Figure 8-7. When pin GP3/MCLR/VPP is configured as         A power-up example where MCLR is held low is
MCLR, the internal pull-up is always on.                   shown in Figure 8-9. VDD is allowed to rise and
FIGURE 8-7: MCLR SELECT                                    stabilize before bringing MCLR high. The chip will
                                                           actually come out of reset TDRT msec after MCLR
                   MCLRE  INTERNAL MCLR                    goes high.

         WEAK                                              In Figure 8-10, the on-chip Power-On Reset feature is
         PULL-UP                                           being used (MCLR and VDD are tied together or the
                                                           pin is programmed to be GP3.). The VDD is stable
GP3/MCLR/VPP                                               before the start-up timer times out and there is no
                                                           problem in getting a proper reset. However, Figure 8-
8.4 Power-On Reset (POR)                                   11 depicts a problem situation where VDD rises too
                                                           slowly. The time between when the DRT senses that
The PIC12CE5XX family incorporates on-chip Power-          MCLR is high and when MCLR (and VDD) actually
On Reset (POR) circuitry which provides an internal        reach their full value, is too long. In this situation, when
chip reset for most power-up situations.                   the start-up timer times out, VDD has not reached the
                                                           VDD (min) value and the chip is, therefore, not
The on chip POR circuit holds the chip in reset until Vdd  guaranteed to function correctly. For such situations,
has reached a high enough level for proper operation.      we recommend that external RC circuits be used to
To take advantage of the internal POR, program the         achieve longer POR delay times (Figure 8-10).
GP3/MCLR/VPP pin as MCLR and tie through a resistor
to VDD or program the pin as GP3. An internal weak         Note:  When the device starts normal operation
pull-up resistor is implemented using a transistor. Refer         (exits the reset condition), device operating
to Table 11-1 for the pull-up resistor ranges. This will          parameters (voltage, frequency, tempera-
eliminate external RC components usually needed to                ture, etc.) must be meet to ensure opera-
create a Power-on Reset. A maximum rise time for VDD              tion. If these conditions are not met, the
is specified. See Electrical Specifications for details.          device must be held in reset until the oper-
                                                                  ating conditions are met.
When the device starts normal operation (exits the
reset condition), device operating parameters (voltage,    For additional information refer to Application Notes
frequency, temperature, ...) must be met to ensure         "Power-Up Considerations" - AN522 and "Power-up
operation. If these conditions are not met, the device     Trouble Shooting" - AN607.
must be held in reset until the operating parameters are
met.

A simplified block diagram of the on-chip Power-On
Reset circuit is shown in Figure 8-8.

DS40172B-page 36          Preliminary                              1998 Microchip Technology Inc.
                                                                              PIC12CE5XX

FIGURE 8-8: SIMPLIFIED BLOCK DIAGRAM OF ON-CHIP RESET CIRCUIT

                                  Power-Up
                                    Detect

               VDD                          POR (Power-On Reset)  Pin Change  Wake-up on
GP3/MCLR/VPP                                                        SLEEP     pin change

                                                  WDT Time-out

MCLRE                                                             RESET

                                                  8-bit Asynch                S               Q

                                   On-Chip        Ripple Counter                              Q
                                  DRT OSC                                                           CHIP RESET
                                                  (Start-Up Timer)
                                                                                           R

FIGURE 8-9: TIME-OUT SEQUENCE ON POWER-UP (MCLR PULLED LOW)

                VDD
             MCLR
INTERNAL POR

                                                                                              TDRT

         DRT TIME-OUT
     INTERNAL RESET

FIGURE 8-10: TIME-OUT SEQUENCE ON POWER-UP (MCLR TIED TO VDD): FAST VDD RISE TIME

                  VDD                       TDRT
               MCLR
INTERNAL POR

  DRT TIME-OUT
INTERNAL RESET

1998 Microchip Technology Inc.                  Preliminary                                 DS40172B-page 37
PIC12CE5XX

FIGURE 8-11: TIME-OUT SEQUENCE ON POWER-UP (MCLR TIED TO VDD): SLOW VDD RISE TIME

                                                                            V1
                         VDD

             MCLR  TDRT
INTERNAL POR

DRT TIME-OUT

INTERNAL RESET

                    When VDD rises slowly, the TDRT time-out expires long before VDD has reached its final value. In
                    this example, the chip will reset properly if, and only if, V1  VDD min.

8.5 Device Reset Timer (DRT)                             TABLE 8-5: DRT (DEVICE RESET TIMER
                                                                              PERIOD)
In the PIC12CE5XX, DRT runs from RESET and
varies based on oscillator selection (see Table 8-5.)      Oscillator   POR Reset        Subsequent
                                                         Configuration                      Resets
The DRT operates on an internal RC oscillator. The
processor is kept in RESET as long as the DRT is         IntRC &        18 ms (typical)       300 s
active. The DRT delay allows VDD to rise above VDD       ExtRC          18 ms (typical)      (typical)
min., and for the oscillator to stabilize.
                                                         XT & LP                         18 ms (typical)
Oscillator circuits based on crystals or ceramic
resonators require a certain time after power-up to      8.6 Watchdog Timer (WDT)
establish a stable oscillation. The on-chip DRT keeps
the device in a RESET condition for approximately 18     The Watchdog Timer (WDT) is a free running on-chip
ms after MCLR has reached a logic high level. Thus,      RC oscillator which does not require any external
programming GP3/MCLR/VPP as MCLR and using an            components. This RC oscillator is separate from the
external RC network connected to the MCLR input is       external RC oscillator of the GP5/OSC1/CLKIN pin
not required in most cases, allowing for savings in      and the internal 4 MHz oscillator. That means that the
cost-sensitive and/or space restricted applications, as  WDT will run even if the main processor clock has
well as allowing the use of the GP3/MCLR/VPP pin as      been stopped, for example, by execution of a SLEEP
a general purpose input.                                 instruction. During normal operation or SLEEP, a WDT
                                                         reset or wake-up reset generates a device RESET.
The Device Reset time delay will vary from chip to chip
due to VDD, temperature, and process variation. See      The TO bit (STATUS<4>) will be cleared upon a
AC parameters for details.                               Watchdog Timer reset.

The DRT will also be triggered upon a Watchdog           The WDT can be permanently disabled by
Timer time-out. This is particularly important for       programming the configuration bit WDTE as a '0'
applications using the WDT to wake from SLEEP            (Section 8.1). Refer to the PIC12CE5XX Programming
mode automatically.                                      Specifications to determine how to access the
                                                         configuration word.

DS40172B-page 38         Preliminary                                     1998 Microchip Technology Inc.
                                                                                                  PIC12CE5XX

8.6.1 WDT PERIOD                                           8.6.2 WDT PROGRAMMING CONSIDERATIONS

The WDT has a nominal time-out period of 18 ms,            The CLRWDT instruction clears the WDT and the
(with no prescaler). If a longer time-out period is        postscaler, if assigned to the WDT, and prevents it
desired, a prescaler with a division ratio of up to 1:128  from timing out and generating a device RESET.
can be assigned to the WDT (under software control)
by writing to the OPTION register. Thus, a time-out        The SLEEP instruction resets the WDT and the
period of a nominal 2.3 seconds can be realized.           postscaler, if assigned to the WDT. This gives the
These periods vary with temperature, VDD and part-to-      maximum SLEEP time before a WDT wake-up reset.
part process variations (see DC specs).

Under worst case conditions (VDD = Min., Temperature
= Max., WDT prescaler = Max.), it may take several
seconds before a WDT time-out occurs.

FIGURE 8-12: WATCHDOG TIMER BLOCK DIAGRAM

                                             From Timer0 Clock Source
                                             (Figure 7-5)

                    Watchdog                    0                      PPoosststsccaalelerr
                       Timer                          M
                                                                       8 - to - 1 MUX             PS2:PS0
                 WDT Enable                     1
               Configuration Bit                      U
                                                      X

                                                    PSA

                                                                                             To Timer0 (Figure 7-4)

                                                           0                     1

                                                                       MUX                   PSA

         Note: T0CS, T0SE, PSA, PS2:PS0
                 are bits in the OPTION register.

                                                                         WDT
                                                                       Time-out

TABLE 8-6: SUMMARY OF REGISTERS ASSOCIATED WITH THE WATCHDOG TIMER

Address  Name  Bit 7              Bit 6  Bit 5  Bit 4 Bit 3 Bit 2 Bit 1 Bit 0                Value on  Value on
                                                                                             Power-On  all other
                                                                                                        Resets
                                                                                               Reset

N/A      OPTION GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111

Legend: Shaded boxes = Not used by Watchdog Timer, -- = unimplemented, read as '0', u = unchanged

1998 Microchip Technology Inc.                Preliminary                                                DS40172B-page 39
PIC12CE5XX

8.7 Time-Out Sequence, Power Down,                     8.8 Reset on Brown-Out
          and Wake-up from SLEEP Status Bits
          (TO/PD/GPWUF)                                A brown-out is a condition where device power (VDD)
                                                       dips below its minimum value, but not to zero, and then
The TO, PD, and GPWUF bits in the STATUS register      recovers. The device should be reset in the event of a
can be tested to determine if a RESET condition has    brown-out.
been caused by a power-up condition, a MCLR or
Watchdog Timer (WDT) reset.                            To reset PIC12CE5XX devices when a brown-out
                                                       occurs, external brown-out protection circuits may be
TABLE 8-7: TO/PD/GPWUF STATUS                          built, as shown in Figure 8-13 and Figure 8-14.
                     AFTER RESET
                                                       FIGURE 8-13: BROWN-OUT PROTECTION
GPWUF TO PD       RESET caused by                                           CIRCUIT 1

     0   0 0 WDT wake-up from                          VDD
                      SLEEP
     0
         0 u WDT time-out (not from                                                                VDD
     0                SLEEP)                           33k

     0   1 0 MCLR wake-up from                              10k    Q1
     0                SLEEP
     1                                                                 MCLR

Legend:  1 1 Power-up                                              40k* PIC12CE5XX

         u u MCLR not during SLEEP

         1 0 Wake-up from SLEEP on
                      pin change

         Legend:  u = unchanged                        This circuit will activate reset when VDD goes below Vz +
         Note 1:  The TO, PD, and GPWUF bits main-     0.7V (where Vz = Zener voltage).
                  tain their status (u) until a reset
                  occurs. A low-pulse on the MCLR      *Refer to Figure 8-7 and Table 11-1 for internal weak pull-
                  input does not change the TO, PD,    up on MCLR.
                  and GPWUF status bits.

Table 8-4 lists the reset conditions for the special   FIGURE 8-14: BROWN-OUT PROTECTION
function registers, while Table 8-3 lists the reset                         CIRCUIT 2
conditions for all the registers.
                                                                           VDD

                                                                                                   VDD
                                                       R1

                                                                       Q1
                                                                                        MCLR

                                                       R2              40k PIC12CE5XX

                                                       This brown-out circuit is less expensive, although
                                                       less accurate. Transistor Q1 turns off when VDD
                                                       is below a certain level such that:

                                                            VDD      R1 = 0.7V
                                                                   R1 + R2

                                                       *Refer to Figure 8-7 and Table 11-1 for internal weak
                                                       pull-up on MCLR.

DS40172B-page 40                     Preliminary                   1998 Microchip Technology Inc.
                                                                  PIC12CE5XX

8.9 Power-Down Mode (SLEEP)                                8.10 Program Verification/Code Protection

A device may be powered down (SLEEP) and later             If the code protection bit has not been programmed,
powered up (Wake-up from SLEEP).                           the on-chip program memory can be read out for
                                                           verification purposes.
8.9.1 SLEEP
                                                           The first 64 locations can be read regardless of the
The Power-Down mode is entered by executing a              code protection bit setting.
SLEEP instruction.
                                                           Note:  The location containing the pre-pro-
If enabled, the Watchdog Timer will be cleared but                grammed internal RC oscillator calibration
keeps running, the TO bit (STATUS<4>) is set, the PD              value is never code protected.
bit (STATUS<3>) is cleared and the oscillator driver is
turned off. The I/O ports maintain the status they had     8.11 ID Locations
before the SLEEP instruction was executed (driving
high, driving low, or hi-impedance).                       Four memory locations are designated as ID locations
                                                           where the user can store checksum or other code-
It should be noted that a RESET generated by a WDT         identification numbers. These locations are not
time-out does not drive the MCLR pin low.                  accessible during normal execution but are readable
                                                           and writable during program/verify.
For lowest current consumption while powered down,
the T0CKI input should be at VDD or VSS and the GP3/       Use only the lower 4 bits of the ID locations and
MCLR/VPP pin must be at a logic high level if MCLR is      always program the upper 8 bits as '0's.
enabled.

8.9.2 WAKE-UP FROM SLEEP

The device can wake-up from SLEEP through one of
the following events:

1. An external reset input on GP3/MCLR/VPP pin,
      when configured as MCLR.

2. A Watchdog Timer time-out reset (if WDT was
      enabled).

3. A change on input pin GP0, GP1, or GP3/
      MCLR/VPP when wake-up on change is
      enabled.

These events cause a device reset. The TO, PD, and
GPWUF bits can be used to determine the cause of
device reset. The TO bit is cleared if a WDT time-out
occurred (and caused wake-up). The PD bit, which is
set on power-up, is cleared when SLEEP is invoked.
The GPWUF bit indicates a change in state while in
SLEEP at pins GP0, GP1, or GP3 (since the last time
there was a file or bit operation on GP port).

Caution: Right before entering SLEEP, read the
              input pins. When in SLEEP, wake up
              occurs when the values at the pins change
              from the state they were in at the last
              reading. If a wake-up on change occurs
              and the pins are not read before reentering
              SLEEP, a wake up will occur immediately
              even if no pins change while in SLEEP
              mode.

The WDT is cleared when the device wakes from
sleep, regardless of the wake-up source.

1998 Microchip Technology Inc.  Preliminary                                 DS40172B-page 41
PIC12CE5XX                                                  FIGURE 8-15: TYPICAL IN-CIRCUIT SERIAL
                                                                                 PROGRAMMING
8.12 In-Circuit Serial ProgrammingTM                                             CONNECTION

The PIC12CE5XX microcontrollers program memory              External   To Normal
can be serially programmed while in the end applica-        Connector  Connections
tion circuit. This is simply done with two lines for clock  Signals
and data, and three other lines for power, ground, and                              PIC12CE5XX
the programming voltage. This allows customers to                 +5V
manufacture boards with unprogrammed devices, and                  0V               VDD
then program the microcontroller just before shipping                               VSS
the product. This also allows the most recent firmware            VPP               MCLR/VPP
or a custom firmware to be programmed.
                                                                 CLK                GP1
The device is placed into a program/verify mode by
holding the GP1 and GP0 pins low while raising the          Data I/O                GP0
MCLR (VPP) pin from VIL to VIHH (see programming
specification). GP1 becomes the programming clock                                                VDD
and GP0 becomes the programming data. Both GP1
and GP0 are Schmitt Trigger inputs in this mode.                       To Normal
                                                                       Connections
After reset, a 6-bit command is then supplied to the
device. Depending on the command, 14-bits of pro-
gram data are then supplied to or from the device,
depending if the command was a load or a read. For
complete details of serial programming, please refer to
the PIC12CE5XX Programming Specifications in the
In-Circuit Serial Programming Guide, (DS30277).

A typical in-circuit serial programming connection is
shown in Figure 8-15.

DS40172B-page 42  Preliminary                                           1998 Microchip Technology Inc.
                                                                               PIC12CE5XX

9.0 INSTRUCTION SET SUMMARY                                     All instructions are executed within a single instruction
                                                                cycle, unless a conditional test is true or the program
Each PIC12CE5XX instruction is a 12-bit word divided            counter is changed as a result of an instruction. In this
into an OPCODE, which specifies the instruction type,           case, the execution takes two instruction cycles. One
and one or more operands which further specify the              instruction cycle consists of four oscillator periods.
operation of the instruction. The PIC12CE5XX                    Thus, for an oscillator frequency of 4 MHz, the normal
instruction set summary in Table 9-2 groups the                 instruction execution time is 1 s. If a conditional test is
instructions into byte-oriented, bit-oriented, and literal      true or the program counter is changed as a result of
and control operations. Table 9-1 shows the opcode              an instruction, the instruction execution time is 2 s.
field descriptions.
                                                                Figure 9-1 shows the three general formats that the
For byte-oriented instructions, 'f' represents a file           instructions can have. All examples in the figure use the
register designator and 'd' represents a destination            following format to represent a hexadecimal number:
designator. The file register designator is used to
specify which one of the 32 file registers is to be used              0xhhh
by the instruction.
                                                                where 'h' signifies a hexadecimal digit.
The destination designator specifies where the result
of the operation is to be placed. If 'd' is '0', the result is  FIGURE 9-1: GENERAL FORMAT FOR
placed in the W register. If 'd' is '1', the result is placed                        INSTRUCTIONS
in the file register specified in the instruction.
                                                                Byte-oriented file register operations
For bit-oriented instructions, 'b' represents a bit field
designator which selects the number of the bit affected         11             654                                 0
by the operation, while 'f' represents the number of the
file in which the bit is located.                                   OPCODE     d                     f (FILE #)

For literal and control operations, 'k' represents an               d = 0 for destination W
8 or 9-bit constant or literal value.                               d = 1 for destination f
                                                                    f = 5-bit file register address
TABLE 9-1: OPCODE FIELD
                     DESCRIPTIONS                               Bit-oriented file register operations

                                                                11             87 5 4                              0

                                                                    OPCODE     b (BIT #) f (FILE #)

Field                        Description                            b = 3-bit bit address
   f                                                                f = 5-bit file register address
   W     Register file address (0x00 to 0x7F)
   b     Working register (accumulator)                         Literal and control operations (except GOTO)
   k     Bit address within an 8-bit file register
         Literal field, constant data or label                  11             87                                       0
   x     Don't care location (= 0 or 1)                                OPCODE                          k (literal)
         The assembler will generate code with x = 0. It is
   d     the recommended form of use for compatibility              k = 8-bit immediate value
         with all Microchip software tools.
label    Destination select;                                    Literal and control operations - GOTO instruction
TOS
  PC        d = 0 (store result in W)                           11             98                                      0
WDT        d = 1 (store result in file register 'f')                  OPCODE                          k (literal)
  TO     Default is d = 1
  PD     Label name                                                 k = 9-bit immediate value
dest     Top of Stack
  []     Program Counter
  ()     Watchdog Timer Counter
         Time-Out bit
<>      Power-Down bit
         Destination, either the W register or the specified
         register file location
italics
         Options

         Contents

         Assigned to

         Register bit field

         In the set of

         User defined term (font is courier)

1998 Microchip Technology Inc.  Preliminary                                                           DS40172B-page 43
PIC12CE5XX

TABLE 9-2: INSTRUCTION SET SUMMARY

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

ADDWF f,d         Add W and f                                 1 0001 11df ffff    C,DC,Z  1,2,4
                  AND W with f                                1 0001 01df ffff        Z    2,4
ANDWF f,d         Clear f                                     1 0000 011f ffff        Z     4
                  Clear W                                     1 0000 0100 0000        Z
CLRF   f          Complement f                                1 0010 01df ffff        Z    2,4
                  Decrement f                                 1 0000 11df ffff        Z    2,4
CLRW             Decrement f, Skip if 0                     1(2) 0010 11df ffff           2,4
                  Increment f                                 1 0010 10df ffff     None    2,4
COMF   f, d       Increment f, Skip if 0                     1(2) 0011 11df ffff      Z    2,4
                  Inclusive OR W with f                       1 0001 00df ffff             2,4
DECF   f, d       Move f                                      1 0010 00df ffff     None    1,4
                  Move W to f                                 1 0000 001f ffff        Z
DECFSZ f, d       No Operation                                1 0000 0000 0000        Z    2,4
                  Rotate left f through Carry                 1 0011 01df ffff             2,4
INCF   f, d       Rotate right f through Carry                1 0011 00df ffff     None   1,2,4
                  Subtract W from f                           1 0000 10df ffff     None    2,4
INCFSZ f, d       Swap f                                      1 0011 10df ffff             2,4
                  Exclusive OR W with f                       1 0001 10df ffff       C
IORWF  f, d                                                                          C
                                                                                  C,DC,Z
MOVF   f, d                                                                        None
                                                                                      Z
MOVWF f

NOP   

RLF    f, d

RRF    f, d

SUBWF f, d

SWAPF f, d

XORWF f, d

BIT-ORIENTED FILE REGISTER OPERATIONS

BCF    f, b Bit Clear f                                        1 0100 bbbf ffff None 2,4
BSF    f, b Bit Set f                                          1 0101 bbbf ffff None 2,4
BTFSC  f, b Bit Test f, Skip if Clear                        1 (2) 0110 bbbf ffff None
BTFSS  f, b Bit Test f, Skip if Set                          1 (2) 0111 bbbf ffff None

LITERAL AND CONTROL OPERATIONS

ANDLW k           AND literal with W                         1 1110 kkkk kkkk     Z
                  Call subroutine
CALL   k          Clear Watchdog Timer                       2 1001 kkkk kkkk None        1
                  Unconditional branch
CLRWDT k          Inclusive OR Literal with W                1 0000 0000 0100 TO, PD
                  Move Literal to W
GOTO   k          Load OPTION register                       2 101k kkkk kkkk None
                  Return, place Literal in W
IORLW  k          Go into standby mode                       1 1101 kkkk kkkk     Z
                  Load TRIS register
MOVLW k           Exclusive OR Literal to W                  1 1100 kkkk kkkk None

OPTION                                                      1 0000 0000 0010 None

RETLW k                                                      2 1000 kkkk kkkk None

SLEEP                                                       1 0000 0000 0011 TO, PD

TRIS   f                                                     1 0000 0000 0fff None        3

XORLW k                                                      1 1111 kkkk kkkk     Z

Note 1: The 9th bit of the program counter will be forced to a '0' by any instruction that writes to the PC except for GOTO.
            (Section 4-5)

       2: When an I/O register is modified as a function of itself (e.g. MOVF GPIO, 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'.

       3: The instruction TRIS f, where f = 6 causes the contents of the W register to be written to the tristate latches of
            GPIO. A '1' forces the pin to a hi-impedance state and disables the output buffers.

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

DS40172B-page 44                                Preliminary               1998 Microchip Technology Inc.
                                                                                  PIC12CE5XX

ADDWF         Add W and f                                     ANDWF         AND W with f

Syntax:       [ label ] ADDWF f,d                             Syntax:       [ label ] ANDWF f,d

Operands:     0  f  31                                        Operands:     0  f  31
              d  [0,1]                                                      d  [0,1]

Operation:    (W) + (f)  (dest)                               Operation:    (W) .AND. (f)  (dest)

Status Affected: C, DC, Z                                     Status Affected: Z

Encoding:        0001 11df ffff                               Encoding:        0001 01df ffff

Description:  Add the contents of the W register and          Description:  The contents of the W register are
              register 'f'. If 'd' is 0 the result is stored                AND'ed with register 'f'. If 'd' is 0 the
              in the W register. If 'd' is '1' the result is                result is stored in the W register. If 'd' is
              stored back in register 'f'.                                  '1' the result is stored back in register 'f'.

Words:        1                                               Words:        1

Cycles:       1                                               Cycles:       1

Example:      ADDWF FSR, 0                                    Example:      ANDWF FSR, 1

Before Instruction                                            Before Instruction
      W = 0x17                                                       W = 0x17
      FSR = 0xC2                                                    FSR = 0xC2

After Instruction                                             After Instruction
      W = 0xD9                                                      W = 0x17
      FSR = 0xC2                                                    FSR = 0x02

ANDLW         And literal with W                              BCF           Bit Clear f

Syntax:       [ label ] ANDLW k                               Syntax:       [ label ] BCF f,b

Operands:     0  k  255                                       Operands:     0  f  31
                                                                            0b7
Operation:    (W).AND. (k)  (W)

Status Affected: Z                                            Operation:    0  (f)

Encoding:        1110 kkkk kkkk                               Status Affected: None

Description:  The contents of the W register are              Encoding:        0100 bbbf ffff
              AND'ed with the eight-bit literal 'k'. The
              result is placed in the W register.             Description:  Bit 'b' in register 'f' is cleared.

                                                              Words:        1

Words:        1                                               Cycles:       1

Cycles:       1                                               Example:      BCF      FLAG_REG, 7

Example:      ANDLW 0x5F                                      Before Instruction
                                                                    FLAG_REG = 0xC7
Before Instruction
      W = 0xA3                                                After Instruction
                                                                    FLAG_REG = 0x47
After Instruction
      W = 0x03

1998 Microchip Technology Inc.   Preliminary                                            DS40172B-page 45
PIC12CE5XX

BSF               Bit Set f                                      BTFSS         Bit Test f, Skip if Set

Syntax:           [ label ] BSF f,b                              Syntax:       [ label ] BTFSS f,b

Operands:         0  f  31                                       Operands:     0  f  31
                  0b7                                                          0b<7

Operation:        1  (f)                                      Operation:    skip if (f) = 1

Status Affected: None                                            Status Affected: None

Encoding:            0101 bbbf ffff                              Encoding:        0111 bbbf ffff

Description:      Bit 'b' in register 'f' is set.                Description:  If bit 'b' in register 'f' is '1' then the next
                                                                               instruction is skipped.
Words:            1
                                                                               If bit 'b' is '1', then the next instruction
Cycles:           1                                                            fetched during the current instruction
                                                                               execution, is discarded and an NOP is
Example:          BSF        FLAG_REG, 7                                       executed instead, making this a 2 cycle
                                                                               instruction.
Before Instruction
      FLAG_REG = 0x0A                                            Words:        1

After Instruction                                                Cycles:       1(2)
      FLAG_REG = 0x8A

                                                                 Example:      HERE BTFSS          FLAG,1
                                                                                                   PROCESS_CODE
                                                                               FALSE GOTO
BTFSC             Bit Test f, Skip if Clear                                    TRUE

Syntax:           [ label ] BTFSC f,b                                                   
                                                                                         

Operands:         0  f  31                                       Before Instruction
                  0b7
                                                                          PC         = address (HERE)

Operation:        skip if (f) = 0                             After Instruction

Status Affected: None                                                     If FLAG<1> =  0,
                                                                                        address (FALSE);
                                                                          PC         =  1,
                                                                                        address (TRUE)
Encoding:            0110 bbbf ffff                                       if FLAG<1> =

Description:      If bit 'b' in register 'f' is 0 then the next           PC         =
                  instruction is skipped.

                  If bit 'b' is 0 then the next instruction
                  fetched during the current instruction
                  execution is discarded, and an NOP is
                  executed instead, making this a 2 cycle
                  instruction.

Words:            1

Cycles:           1(2)

Example:          HERE       BTFSC    FLAG,1
                  FALSE      GOTO     PROCESS_CODE
                  TRUE      
                             
                             

Before Instruction

         PC             = address (HERE)

After Instruction

         if FLAG<1> =        0,
                             address (TRUE);
         PC             =    1,
                             address(FALSE)
         if FLAG<1> =

         PC             =

DS40172B-page 46                                   Preliminary                           1998 Microchip Technology Inc.
                                                                            PIC12CE5XX

CALL          Subroutine Call                           CLRW          Clear W

Syntax:       [ label ] CALL k                          Syntax:       [ label ] CLRW

Operands:     0  k  255                                 Operands:     None

Operation:    (PC) + 1 Top of Stack;                    Operation:    00h  (W);
              k  PC<7:0>;                                             1Z
              (STATUS<6:5>)  PC<10:9>;
              0  PC<8>                                  Status Affected: Z

Status Affected: None                                   Encoding:        0000 0100 0000

Encoding:        1001 kkkk kkkk                         Description:  The W register is cleared. Zero bit (Z)
                                                                      is set.

Description:  Subroutine call. First, return address    Words:        1
              (PC+1) is pushed onto the stack. The
              eight bit immediate address is loaded     Cycles:       1
              into PC bits <7:0>. The upper bits
              PC<10:9> are loaded from STA-             Example:      CLRW
              TUS<6:5>, PC<8> is cleared. CALL is
              a two cycle instruction.                  Before Instruction
                                                              W = 0x5A

Words:        1                                         After Instruction
                                                              W = 0x00
Cycles:       2                                               Z=1

Example:      HERE CALL THERE

Before Instruction                                      CLRWDT        Clear Watchdog Timer
      PC = address (HERE)

After Instruction                                       Syntax:       [ label ] CLRWDT
      PC = address (THERE)
      TOS = address (HERE + 1)                          Operands:     None

                                                        Operation:    00h  WDT;
                                                                      0  WDT prescaler (if assigned);
CLRF          Clear f                                                 1  TO;
                                                                      1  PD
Syntax:       [ label ] CLRF f
                                                        Status Affected: TO, PD

Operands:     0  f  31                                  Encoding:        0000 0000 0100

Operation:    00h  (f);                                 Description:  The CLRWDT instruction resets the
              1Z                                                      WDT. It also resets the prescaler, if the
                                                                      prescaler is assigned to the WDT and
Status Affected: Z                                                    not Timer0. Status bits TO and PD are
                                                                      set.
Encoding:        0000 011f ffff

Description:  The contents of register 'f' are cleared  Words:        1
              and the Z bit is set.

Words:        1                                         Cycles:       1

Cycles:       1                                         Example:      CLRWDT

Example:      CLRF FLAG_REG                             Before Instruction
                                                              WDT counter = ?

Before Instruction                                      After Instruction
      FLAG_REG = 0x5A
                                                                 WDT counter =   0x00
                                                                                 0
After Instruction                                                WDT prescale =  1
                                                                                 1
         FLAG_REG =    0x00                                      TO         =
                       1
         Z          =                                            PD         =

1998 Microchip Technology Inc.        Preliminary                                    DS40172B-page 47
PIC12CE5XX

COMF              Complement f                                   DECFSZ        Decrement f, Skip if 0

Syntax:           [ label ] COMF f,d                             Syntax:       [ label ] DECFSZ f,d

Operands:         0  f  31                                       Operands:     0  f  31
                  d  [0,1]                                                     d  [0,1]

Operation:        (f)  (dest)                                    Operation:    (f) 1  d; skip if result = 0

Status Affected: Z                                               Status Affected: None

Encoding:            0010 01df ffff                              Encoding:          0010 11df ffff

Description:      The contents of register 'f' are comple-       Description:  The contents of register 'f' are decre-
                  mented. If 'd' is 0 the result is stored in                  mented. If 'd' is 0 the result is placed in
                  the W register. If 'd' is 1 the result is                    the W register. If 'd' is 1 the result is
                  stored back in register 'f'.                                 placed back in register 'f'.

Words:            1                                                            If the result is 0, the next instruction,
                                                                               which is already fetched, is discarded
Cycles:           1                                                            and an NOP is executed instead mak-
                                                                               ing it a two cycle instruction.
Example:          COMF REG1,0

Before Instruction                                               Words:        1
      REG1 = 0x13
                                                                 Cycles:       1(2)

After Instruction                                                Example:      HERE      DECFSZ  CNT, 1
                                                                                                 LOOP
         REG1 = 0x13                                                                     GOTO

         W        = 0xEC                                                       CONTINUE

                                                                                         

                                                                                         

DECF              Decrement f                                    Before Instruction

Syntax:           [ label ] DECF f,d                                      PC   = address (HERE)

Operands:         0  f  31                                       After Instruction
                  d  [0,1]
                                                                          CNT =      CNT - 1;
                                                                                     0,
                                                                          if CNT =   address (CONTINUE);
                                                                                     0,
Operation:        (f) 1  (dest)                                         PC   =     address (HERE+1)

Status Affected: Z                                                        if CNT

                                                                          PC   =

Encoding:            0000 11df ffff

Description:      Decrement 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'.   GOTO          Unconditional Branch

                                                                 Syntax:       [ label ] GOTO k

Words:            1                                              Operands:     0  k  511

Cycles:           1                                              Operation:    k  PC<8:0>;
                                                                               STATUS<6:5>  PC<10:9>
Example:          DECF CNT, 1

Before Instruction                                               Status Affected: None

         CNT = 0x01                                              Encoding:          101k kkkk kkkk

         Z        =0

After Instruction                                                Description:  GOTO is an unconditional branch. The
                                                                               9-bit immediate value is loaded into PC
         CNT = 0x00                                                            bits <8:0>. The upper bits of PC are
                                                                               loaded from STATUS<6:5>. GOTO is a
         Z        =1                                                           two cycle instruction.

                                                                 Words:        1

                                                                 Cycles:       2

                                                                 Example:      GOTO THERE

                                                                 After Instruction
                                                                       PC = address (THERE)

DS40172B-page 48                      Preliminary                                        1998 Microchip Technology Inc.
                                                                                   PIC12CE5XX

INCF          Increment f                                  IORLW         Inclusive OR literal with W

Syntax:       [ label ] INCF f,d                           Syntax:       [ label ] IORLW k

Operands:     0  f  31                                     Operands:     0  k  255
              d  [0,1]
                                                           Operation:    (W) .OR. (k)  (W)

Operation:    (f) + 1  (dest)                              Status Affected: Z

Status Affected: Z                                         Encoding:          1101 kkkk kkkk

Encoding:          0010 10df ffff                          Description:  The contents of the W register are
                                                                         OR'ed with the eight bit literal 'k'. The
Description:  The contents of register 'f' are incre-                    result is placed in the W register.
              mented. If 'd' is 0 the result is placed in
              the W register. If 'd' is 1 the result is    Words:        1
              placed back in register 'f'.

Words:        1                                            Cycles:       1

Cycles:       1                                            Example:      IORLW 0x35

Example:      INCF CNT, 1                                       Before Instruction
                                                                      W = 0x9A

Before Instruction                                              After Instruction
                                                                      W = 0xBF
         CNT = 0xFF                                                   Z=0

         Z    =0

After Instruction

         CNT = 0x00

         Z    =1                                           IORWF         Inclusive OR W with f

                                                           Syntax:       [ label ] IORWF f,d

INCFSZ        Increment f, Skip if 0                       Operands:     0  f  31
                                                                         d  [0,1]
Syntax:       [ label ] INCFSZ f,d

Operands:     0  f  31                                     Operation:    (W).OR. (f)  (dest)
              d  [0,1]
                                                           Status Affected: Z

Operation:    (f) + 1  (dest), skip if result = 0          Encoding:          0001 00df ffff

Status Affected: None                                      Description:  Inclusive OR the W register with regis-
                                                                         ter 'f'. If 'd' is 0 the result is placed in
Encoding:          0011 11df ffff                                        the W register. If 'd' is 1 the result is
                                                                         placed back in register 'f'.
Description:  The contents of register 'f' are incre-
              mented. If 'd' is 0 the result is placed in
              the W register. If 'd' is 1 the result is    Words:        1
              placed back in register 'f'.
                                                           Cycles:       1
              If the result is 0, then the next instruc-
              tion, which is already fetched, is dis-      Example:      IORWF            RESULT, 0
              carded and an NOP is executed
              instead making it a two cycle instruc-            Before Instruction
              tion.
                                                                    RESULT = 0x13

                                                                    W    = 0x91

Words:        1                                                 After Instruction

Cycles:       1(2)                                                  RESULT =        0x13
                                                                                    0x93
                                                                    W    =          0

Example:      HERE      INCFSZ         CNT, 1                       Z    =
                                      LOOP
                        GOTO

              CONTINUE

                        

                        

Before Instruction

         PC   = address (HERE)

After Instruction

         CNT =      CNT + 1;
                    0,
         if CNT =   address (CONTINUE);
                    0,
         PC   =     address (HERE +1)

         if CNT

         PC   =

1998 Microchip Technology Inc.                   Preliminary                            DS40172B-page 49
PIC12CE5XX

MOVF              Move f                                            MOVWF         Move W to f

Syntax:           [ label ] MOVF f,d                                Syntax:       [ label ] MOVWF f

Operands:         0  f  31                                          Operands:     0  f  31
                  d  [0,1]
                                                                    Operation:    (W)  (f)

Operation:        (f)  (dest)                                       Status Affected: None

Status Affected: Z                                                  Encoding:        0000 001f ffff

Encoding:            0010 00df ffff                                 Description:  Move data from the W register to regis-
                                                                                  ter 'f'.
Description:      The contents of register 'f' is moved to
                  destination 'd'. If 'd' is 0, destination is
                  the W register. If 'd' is 1, the destination      Words:        1
                  is file register 'f'. 'd' is 1 is useful to test
                  a file register since status flag Z is            Cycles:       1
                  affected.
                                                                    Example:      MOVWF TEMP_REG

Words:            1                                                 Before Instruction

                                                                             TEMP_REG =    0xFF
                                                                                           0x4F
Cycles:           1                                                          W          =

Example:          MOVF FSR, 0                                       After Instruction

After Instruction                                                            TEMP_REG =    0x4F
      W = value in FSR register                                                            0x4F
                                                                             W          =

                                                                    NOP           No Operation

MOVLW             Move Literal to W                                 Syntax:       [ label ] NOP

Syntax:           [ label ] MOVLW k                                 Operands:     None

Operands:         0  k  255                                         Operation:    No operation

Operation:        k  (W)                                            Status Affected: None

Status Affected: None                                               Encoding:        0000 0000    0000

Encoding:            1100 kkkk kkkk                                 Description:  No operation.

Description:      The eight bit literal 'k' is loaded into the      Words:        1
                  W register. The don't cares will assem-
                  ble as 0s.                                        Cycles:       1

Words:            1                                                 Example:      NOP

Cycles:           1

Example:          MOVLW 0x5A

After Instruction
      W = 0x5A

DS40172B-page 50                      Preliminary                                           1998 Microchip Technology Inc.
                                                                                 PIC12CE5XX

OPTION        Load OPTION Register                     RLF           Rotate Left f through Carry

Syntax:       [ label ] OPTION                         Syntax:       [ label ] RLF f,d

Operands:     None                                     Operands:     0  f  31
                                                                     d  [0,1]
Operation:    (W)  OPTION

Status Affected: None                                  Operation:    See description below

Encoding:     0000 0000 0010                           Status Affected: C

Description:  The content of the W register is loaded  Encoding:        0011 01df ffff
              into the OPTION register.
                                                       Description:  The contents of register 'f' are rotated
Words:        1                                                      one bit to the left through the Carry
                                                                     Flag. If 'd' is 0 the result is placed in the
Cycles:       1                                                      W register. If 'd' is 1 the result is stored
                                                                     back in register 'f'.
Example       OPTION

Before Instruction                                                                C  register 'f'

         W    = 0x07

After Instruction                                      Words:        1
      OPTION = 0x07

                                                       Cycles:       1

                                                       Example:      RLF             REG1,0

RETLW         Return with Literal in W                        Before Instruction

Syntax:       [ label ] RETLW k                                 REG1 = 1110 0110

Operands:     0  k  255                                         C    =0

Operation:    k  (W);                                         After Instruction
              TOS  PC
                                                                REG1 =            1110 0110
                                                                                  1100 1100
                                                                W    =            1

Status Affected: None                                           C    =

Encoding:        1000 kkkk kkkk

Description:  The W register is loaded with the eight  RRF           Rotate Right f through Carry
              bit literal 'k'. The program counter is
              loaded from the top of the stack (the    Syntax:       [ label ] RRF f,d
              return address). This is a two cycle
              instruction.                             Operands:     0  f  31
                                                                     d  [0,1]
Words:        1
                                                       Operation:    See description below

Cycles:       2                                        Status Affected: C

Example:      CALL TABLE ;W contains                   Encoding:        0011 00df ffff
TABLE
                                  ;table offset

                                  ;value.              Description:  The contents of register 'f' are rotated
                                                                     one bit to the right through the Carry
                                 ;W now has table                   Flag. If 'd' is 0 the result is placed in the
                                                                     W register. If 'd' is 1 the result is placed
                                 ;value.                            back in register 'f'.

              

              ADDWF PC ;W = offset

              RETLW k1 ;Begin table

              RETLW k2 ;                                                          C  register 'f'

              

                                                      Words:        1

                                                      Cycles:       1

              RETLW kn ; End of table

Before Instruction                                     Example:      RRF             REG1,0
      W = 0x07
                                                              Before Instruction

After Instruction                                               REG1 = 1110 0110
      W = value of k8
                                                                C    =0

                                                              After Instruction

                                                                REG1 =            1110 0110
                                                                                  0111 0011
                                                                W    =            0

                                                                C    =

1998 Microchip Technology Inc.                 Preliminary                                 DS40172B-page 51
PIC12CE5XX

SLEEP             Enter SLEEP Mode                        SUBWF         Subtract W from f

Syntax:           [label] SLEEP                           Syntax:       [label] SUBWF f,d

Operands:         None                                    Operands:     0  f  31
                                                                        d  [0,1]
Operation:        00h  WDT;
                  0  WDT prescaler;
                  1  TO;                                  Operation:    (f) (W)  (dest)
                  0  PD
                                                          Status Affected: C, DC, Z

                                                          Encoding:        0000 10df ffff

Status Affected: TO, PD, GPWUF                            Description:  Subtract (2's complement method) the
                                                                        W register from register 'f'. If 'd' is 0 the
Encoding:            0000 0000 0011                                     result is stored in the W register. If 'd' is
                                                                        1 the result is stored back in register 'f'.
Description:      Time-out status bit (TO) is set. The
                  power down status bit (PD) is cleared.
                                                          Words:        1
                  GPWUF is unaffected.
                                                          Cycles:       1
                  The WDT and its prescaler are
                  cleared.                                Example 1:    SUBWF REG1, 1

                  The processor is put into SLEEP mode    Before Instruction
                  with the oscillator stopped. See sec-
                  tion on SLEEP for more details.                  REG1 = 3

Words:            1                                                W    =2

                                                                   C    =?

Cycles:           1                                       After Instruction

Example:          SLEEP                                            REG1 = 1

                                                                   W    =2

                                                                   C    =1           ; result is positive

                                                          Example 2:

                                                          Before Instruction

                                                                   REG1 = 2

                                                                   W    =2

                                                                   C    =?

                                                          After Instruction

                                                                   REG1 = 0

                                                                   W    =2

                                                                   C    =1           ; result is zero

                                                          Example 3:

                                                          Before Instruction

                                                                   REG1 = 1

                                                                   W    =2

                                                                   C    =?

                                                          After Instruction

                                                                   REG1 = FF

                                                                   W    =2

                                                                   C    =0           ; result is negative

DS40172B-page 52                     Preliminary                               1998 Microchip Technology Inc.
                                                                                PIC12CE5XX

SWAPF         Swap Nibbles in f                             XORLW         Exclusive OR literal with W

Syntax:       [ label ] SWAPF f,d                           Syntax:       [label] XORLW k

Operands:     0  f  31                                      Operands:     0  k  255
              d  [0,1]
                                                            Operation:    (W) .XOR. k  (W)

Operation:    (f<3:0>)  (dest<7:4>);                        Status Affected: Z
              (f<7:4>)  (dest<3:0>)

Status Affected: None                                       Encoding:        1111 kkkk kkkk

Encoding:        0011 10df ffff                             Description:  The contents of the W register are
                                                                          XOR'ed with the eight bit literal 'k'. The
Description:  The upper and lower nibbles of register                     result is placed in the W register.
              'f' are exchanged. If 'd' is 0 the result is
              placed in W register. If 'd' is 1 the result  Words:        1
              is placed in register 'f'.
                                                            Cycles:       1

Words:        1                                             Example:      XORLW 0xAF

Cycles:       1                                             Before Instruction
                                                                  W = 0xB5
Example       SWAPF REG1, 0

Before Instruction                                          After Instruction
      REG1 = 0xA5                                                 W = 0x1A

After Instruction

         REG1 = 0xA5                                        XORWF         Exclusive OR W with f

         W    = 0X5A

                                                            Syntax:       [ label ] XORWF f,d

                                                            Operands:     0  f  31
                                                                          d  [0,1]
TRIS          Load TRIS Register

Syntax:       [ label ] TRIS f                              Operation:    (W) .XOR. (f)  (dest)

Operands:     f=6                                           Status Affected: Z

Operation:    (W)  TRIS register f                          Encoding:        0001 10df ffff

Status Affected: None                                       Description:  Exclusive OR the contents of the W
                                                                          register with register 'f'. If 'd' is 0 the
Encoding:        0000 0000 0fff                                           result is stored in the W register. If 'd' is
                                                                          1 the result is stored back in register 'f'.
Description:  TRIS register 'f' (f = 6) is loaded with the
              contents of the W register

Words:        1                                             Words:        1

Cycles:       1                                             Cycles:       1

Example       TRIS GPIO                                     Example       XORWF REG,1

Before Instruction                                          Before Instruction

         W    = 0XA5                                                 REG = 0xAF

After Instruction                                                    W    = 0xB5
      TRIS = 0XA5
                                                            After Instruction

Note: f = 6 for PIC12C5XX only.                                      REG = 0x1A

                                                                     W    = 0xB5

1998 Microchip Technology Inc.      Preliminary                                      DS40172B-page 53
PIC12CE5XX

NOTES:

DS40172B-page 54  Preliminary   1998 Microchip Technology Inc.
10.0 DEVELOPMENT SUPPORT                                              PIC12CE5XX

10.1 Development Tools                                     10.3 ICEPIC: Low-Cost PICmicroTM
                                                                     In-Circuit Emulator
The PICmicrTM microcontrollers are supported with a
full range of hardware and software development tools:     ICEPIC is a low-cost in-circuit emulator solution for the
                                                           Microchip PIC12CXXX, PIC16C5X and PIC16CXXX
MPLABTM-ICE Real-Time In-Circuit Emulator                families of 8-bit OTP microcontrollers.
ICEPICTM Low-Cost PIC16C5X and PIC16CXXX
                                                           ICEPIC is designed to operate on PC-compatible
   In-Circuit Emulator                                     machines ranging from 386 through PentiumTM based
PRO MATE II Universal Programmer                        machines under Windows 3.x, Windows 95, or Win-
PICSTART Plus Entry-Level Prototype                     dows NT environment. ICEPIC features real time, non-
                                                           intrusive emulation.
   Programmer
SIMICE                                                   10.4 PRO MATE II: Universal Programmer
PICDEM-1 Low-Cost Demonstration Board
PICDEM-2 Low-Cost Demonstration Board                    The PRO MATE II Universal Programmer is a full-fea-
PICDEM-3 Low-Cost Demonstration Board                    tured programmer capable of operating in stand-alone
MPASM Assembler                                          mode as well as PC-hosted mode. PRO MATE II is CE
MPLABTM SIM Software Simulator                           compliant.
MPLAB-C17 (C Compiler)
Fuzzy Logic Development System                           The PRO MATE II has programmable VDD and VPP
                                                           supplies which allows it to verify programmed memory
  (fuzzyTECH-MP)                                          at VDD min and VDD max for maximum reliability. It has
KEELOQ Evaluation Kits and Programmer                   an LCD display for displaying error messages, keys to
                                                           enter commands and a modular detachable socket
10.2 MPLAB-ICE: High Performance                           assembly to support various package types. In stand-
          Universal In-Circuit Emulator with               alone mode the PRO MATE II can read, verify or pro-
          MPLAB IDE                                        gram PIC12CXXX, PIC14C000, PIC16C5X,
                                                           PIC16CXXX and PIC17CXX devices. It can also set
The MPLAB-ICE Universal In-Circuit Emulator is             configuration and code-protect bits in this mode.
intended to provide the product development engineer
with a complete microcontroller design tool set for        10.5 PICSTART Plus Entry Level
PICmicro microcontrollers (MCUs). MPLAB-ICE is sup-                  Development System
plied with the MPLAB Integrated Development Environ-
ment (IDE), which allows editing, "make" and               The PICSTART programmer is an easy-to-use, low-
download, and source debugging from a single envi-         cost prototype programmer. It connects to the PC via
ronment.                                                   one of the COM (RS-232) ports. MPLAB Integrated
                                                           Development Environment software makes using the
Interchangeable processor modules allow the system         programmer simple and efficient. PICSTART Plus is
to be easily reconfigured for emulation of different pro-  not recommended for production programming.
cessors. The universal architecture of the MPLAB-ICE
allows expansion to support all new Microchip micro-       PICSTART Plus supports all PIC12CXXX, PIC14C000,
controllers.                                               PIC16C5X, PIC16CXXX and PIC17CXX devices with
                                                           up to 40 pins. Larger pin count devices such as the
The MPLAB-ICE Emulator System has been designed            PIC16C923, PIC16C924 and PIC17C756 may be sup-
as a real-time emulation system with advanced fea-         ported with an adapter socket. PICSTART Plus is CE
tures that are generally found on more expensive           compliant.
development tools. The PC compatible 386 (and higher)
machine platform and Microsoft Windows 3.x or
Windows 95 environment were chosen to best make
these features available to you, the end user.

MPLAB-ICE is available in two versions.
MPLAB-ICE 1000 is a basic, low-cost emulator system
with simple trace capabilities. It shares processor mod-
ules with the MPLAB-ICE 2000. This is a full-featured
emulator system with enhanced trace, trigger, and data
monitoring features. Both systems will operate across
the entire operating speed reange of the PICmicro
MCU.

1998 Microchip Technology Inc.  Preliminary              DS40172B-page 55
PIC12CE5XX                                                10.8 PICDEM-2 Low-Cost PIC16CXX
                                                                    Demonstration Board
10.6 SIMICE Entry-Level Hardware
          Simulator                                       The PICDEM-2 is a simple demonstration board that
                                                          supports the PIC16C62, PIC16C64, PIC16C65,
SIMICE is an entry-level hardware development sys-        PIC16C73 and PIC16C74 microcontrollers. All the
tem designed to operate in a PC-based environment         necessary hardware and software is included to
with Microchip's simulator MPLABTM-SIM. Both SIM-         run the basic demonstration programs. The user
ICE and MPLAB-SIM run under Microchip Technol-            can program the sample microcontrollers provided
ogy's MPLAB Integrated Development Environment            with the PICDEM-2 board, on a PRO MATE II pro-
(IDE) software. Specifically, SIMICE provides hardware    grammer or PICSTART-Plus, and easily test firmware.
simulation for Microchip's PIC12C5XX, PIC12CE5XX,         The MPLAB-ICE emulator may also be used with the
and PIC16C5X families of PICmicroTM 8-bit microcon-       PICDEM-2 board to test firmware. Additional prototype
trollers. SIMICE works in conjunction with MPLAB-SIM      area has been provided to the user for adding addi-
to provide non-real-time I/O port emulation. SIMICE       tional hardware and connecting it to the microcontroller
enables a developer to run simulator code for driving     socket(s). Some of the features include a RS-232 inter-
the target system. In addition, the target system can     face, push-button switches, a potentiometer for simu-
provide input to the simulator code. This capability      lated analog input, a Serial EEPROM to demonstrate
allows for simple and interactive debugging without       usage of the I2C bus and separate headers for connec-
having to manually generate MPLAB-SIM stimulus            tion to an LCD module and a keypad.
files. SIMICE is a valuable debugging tool for entry-
level system development.                                 10.9 PICDEM-3 Low-Cost PIC16CXXX
                                                                    Demonstration Board
10.7 PICDEM-1 Low-Cost PICmicro
          Demonstration Board                             The PICDEM-3 is a simple demonstration board that
                                                          supports the PIC16C923 and PIC16C924 in the PLCC
The PICDEM-1 is a simple board which demonstrates         package. It will also support future 44-pin PLCC
the capabilities of several of Microchip's microcontrol-  microcontrollers with a LCD Module. All the neces-
lers. The microcontrollers supported are: PIC16C5X        sary hardware and software is included to run the
(PIC16C54 to PIC16C58A), PIC16C61, PIC16C62X,             basic demonstration programs. The user can pro-
PIC16C71, PIC16C8X, PIC17C42, PIC17C43 and                gram the sample microcontrollers provided with
PIC17C44. All necessary hardware and software is          the PICDEM-3 board, on a PRO MATE II program-
included to run basic demo programs. The users can        mer or PICSTART Plus with an adapter socket, and
program the sample microcontrollers provided with         easily test firmware. The MPLAB-ICE emulator may
the PICDEM-1 board, on a PRO MATE II or                   also be used with the PICDEM-3 board to test firm-
PICSTART-Plus programmer, and easily test firm-           ware. Additional prototype area has been provided to
ware. The user can also connect the PICDEM-1              the user for adding hardware and connecting it to the
board to the MPLAB-ICE emulator and download the          microcontroller socket(s). Some of the features include
firmware to the emulator for testing. Additional proto-   an RS-232 interface, push-button switches, a potenti-
type area is available for the user to build some addi-   ometer for simulated analog input, a thermistor and
tional hardware and connect it to the microcontroller     separate headers for connection to an external LCD
socket(s). Some of the features include an RS-232         module and a keypad. Also provided on the PICDEM-3
interface, a potentiometer for simulated analog input,    board is an LCD panel, with 4 commons and 12 seg-
push-button switches and eight LEDs connected to          ments, that is capable of displaying time, temperature
PORTB.                                                    and day of the week. The PICDEM-3 provides an addi-
                                                          tional RS-232 interface and Windows 3.1 software for
                                                          showing the demultiplexed LCD signals on a PC. A sim-
                                                          ple serial interface allows the user to construct a hard-
                                                          ware demultiplexer for the LCD signals.

DS40172B-page 56  Preliminary                              1998 Microchip Technology Inc.
                                                          PIC12CE5XX

10.10 MPLAB Integrated Development                        10.12 Software Simulator (MPLAB-SIM)
          Environment Software
                                                          The MPLAB-SIM Software Simulator allows code
The MPLAB IDE Software brings an ease of software         development in a PC host environment. It allows the
development previously unseen in the 8-bit microcon-      user to simulate the PICmicro series microcontrollers
troller market. MPLAB is a windows based application      on an instruction level. On any given instruction, the
which contains:                                           user may examine or modify any of the data areas or
                                                          provide external stimulus to any of the pins. The input/
A full featured editor                                  output radix can be set by the user and the execution
Three operating modes                                   can be performed in; single step, execute until break, or
                                                          in a trace mode.
   - editor
   - emulator                                             MPLAB-SIM fully supports symbolic debugging using
   - simulator                                            MPLAB-C17 and MPASM. The Software Simulator
A project manager                                       offers the low cost flexibility to develop and debug code
Customizable tool bar and key mapping                   outside of the laboratory environment making it an
A status bar with project information                   excellent multi-project software development tool.
Extensive on-line help
                                                          10.13 MPLAB-C17 Compiler
MPLAB allows you to:
                                                          The MPLAB-C17 Code Development System is a
Edit your source files (either assembly or `C')         complete ANSI `C' compiler and integrated develop-
One touch assemble (or compile) and download            ment environment for Microchip's PIC17CXXX family of
                                                          microcontrollers. The compiler provides powerful inte-
   to PICmicro tools (automatically updates all           gration capabilities and ease of use not found with
   project information)                                   other compilers.
Debug using:
   - source files                                         For easier source level debugging, the compiler pro-
   - absolute listing file                                vides symbol information that is compatible with the
                                                          MPLAB IDE memory display.
The ability to use MPLAB with Microchip's simulator
allows a consistent platform and the ability to easily    10.14 Fuzzy Logic Development System
switch from the low cost simulator to the full featured             (fuzzyTECH-MP)
emulator with minimal retraining due to development
tools.                                                    fuzzyTECH-MP fuzzy logic development tool is avail-
                                                          able in two versions - a low cost introductory version,
10.11 Assembler (MPASM)                                   MP Explorer, for designers to gain a comprehensive
                                                          working knowledge of fuzzy logic system design; and a
The MPASM Universal Macro Assembler is a PC-              full-featured version, fuzzyTECH-MP, Edition for imple-
hosted symbolic assembler. It supports all microcon-      menting more complex systems.
troller series including the PIC12C5XX, PIC14000,
PIC16C5X, PIC16CXXX, and PIC17CXX families.               Both versions include Microchip's fuzzyLABTM demon-
                                                          stration board for hands-on experience with fuzzy logic
MPASM offers full featured Macro capabilities, condi-     systems implementation.
tional assembly, and several source and listing formats.
It generates various object code formats to support       10.15 SEEVAL Evaluation and
Microchip's development tools as well as third party                Programming System
programmers.
                                                          The SEEVAL SEEPROM Designer's Kit supports all
MPASM allows full symbolic debugging from MPLAB-          Microchip 2-wire and 3-wire Serial EEPROMs. The kit
ICE, Microchip's Universal Emulator System.               includes everything necessary to read, write, erase or
                                                          program special features of any Microchip SEEPROM
MPASM has the following features to assist in develop-    product including Smart SerialsTM and secure serials.
ing software for specific use applications.               The Total EnduranceTM Disk is included to aid in trade-
                                                          off analysis and reliability calculations. The total kit can
Provides translation of Assembler source code to        significantly reduce time-to-market and result in an
   object code for all Microchip microcontrollers.        optimized system.

Macro assembly capability.
Produces all the files (Object, Listing, Symbol, and

   special) required for symbolic debug with
   Microchip's emulator systems.
Supports Hex (default), Decimal and Octal source
   and listing formats.

MPASM provides a rich directive language to support
programming of the PICmicro. Directives are helpful in
making the development of your assemble source code
shorter and more maintainable.

1998 Microchip Technology Inc.  Preliminary             DS40172B-page 57
PIC12CE5XX

10.16 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.

DS40172B-page 58  Preliminary                         1998 Microchip Technology Inc.
1998 Microchip Technology Inc.                                          PIC12C5XX PIC14000  PIC16C5X PIC16CXXX PIC16C6X PIC16C7XX PIC16C8X PIC16C9XX PIC17C4X PIC17C7XX  24CXX  HCS200  TABLE 10-1: DEVELOPMENT TOOLS FROM MICROCHIP
                                                                                                                                                                           25CXX  HCS300
                                                                                                                                                                           93CXX  HCS301

                                  Emulator Products  MPLABTM-ICE                                          

                                                     ICEPICTM Low-Cost                                  
                                                     In-Circuit Emulator

                                                     MPLABTM                                              
                                                     Integrated
                                  Software Tools     Development
                                                     Environment

                                                     MPLABTM C17*                                                 
                                                     Compiler

                                                     fuzzyTECH-MP

                                                     Explorer/Edition                                   

Preliminary                                          Fuzzy Logic

                                                     Dev. Tool

                                                     Total EnduranceTM                                                                                                     
                                                     Software Model

                                                     PICSTARTPlus

                                  Programmers        Low-Cost                                             

                                                     Universal Dev. Kit

                                                     PRO MATE II

                                                     Universal                                                                                                         
                                                     Programmer

                                                     KEELOQ                                                                                                                     

                                                     Programmer

                                                     SEEVAL                                                                                                                                                                           PIC12CE5XX

                                                     Designers Kit

                                                     SIMICE                                 

                                  Demo Boards        PICDEM-14A              

                                                     PICDEM-1                                                

DS40172B-page 59                                     PICDEM-2                                         

                                                     PICDEM-3                                                
                                                     KEELOQ                                                                                                                     
                                                     Evaluation Kit

                                                     KEELOQ                                                                                                                       

                                                     Transponder Kit
PIC12CE5XX

NOTES:

DS40172B-page 60  Preliminary   1998 Microchip Technology Inc.
                                              PIC12CE5XX

11.0 ELECTRICAL CHARACTERISTICS - PIC12CE5XX

Absolute Maximum Ratings
Ambient Temperature under bias ........................................................................................................... 40C to +125C
Storage Temperature.............................................................................................................................. 65C to +150C
Voltage on VDD with respect to VSS .................................................................................................................0 to +7.0 V
Voltage on MCLR with respect to VSS...............................................................................................................0 to +14 V
Voltage on all other pins with respect to VSS ................................................................................0.6 V to (VDD + 0.6 V)
Total Power Dissipation(1) ....................................................................................................................................700 mW
Max. Current out of VSS pin...................................................................................................................................200 mA
Max. Current into VDD pin......................................................................................................................................150 mA
Input Clamp Current, IIK (VI < 0 or VI > VDD) ....................................................................................................................20 mA
Output Clamp Current, IOK (VO < 0 or VO > VDD) ............................................................................................................20 mA
Max. Output Current sunk by any I/O pin ................................................................................................................25 mA
Max. Output Current sourced by any I/O pin...........................................................................................................25 mA
Max. Output Current sourced by I/O port (GPIO)..................................................................................................100 mA
Max. Output Current sunk by I/O port (GPIO )......................................................................................................100 mA

   Note 1: Power Dissipation is calculated as follows: PDIS = VDD x {IDD -  IOH} +  {(VDD-VOH) x IOH} + (VOL x IOL)
   NOTICE: Stresses above those listed under "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  DS40172B-page 61
PIC12CE5XX

11.1 DC CHARACTERISTICS:                 PIC12CE518/519 (Commercial, Industrial, Extended)

                                         Standard Operating Conditions (unless otherwise specified)

       DC Characteristics                Operating Temperature       0C  TA  +70C (commercial)
       Power Supply Pins
                                                                     40C  TA  +85C (industrial)

                                                                     40C  TA  +125C (extended)

Parm   Characteristic              Sym Min Typ(1) Max Units          Conditions
No.

D001 Supply Voltage                VDD 3.0      5.5 V FOSC = DC to 4 MHz
D001A

D002 RAM Data Retention            VDR       1.5* -- V Device in SLEEP mode

       Voltage(2)

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

D004 VDD Rise Rate to ensure SVDD 0.05*                      -- V/ms See section on Power-on Reset for details
            Power-on Reset

D010 Supply Current(3)             IDD -- 1.8 2.4 mA XT and EXTRC options (Note 4)
                                                                                    FOSC = 4 MHz, VDD = 5.5V
D010A
D013                                         -- 1.8 2.4 mA INTRC Option
                                                                                    FOSC = 4 MHz, VDD = 5.5V

                                             -- 15 27 A LP OPTION, Commercial Temperature
                                                                                    FOSC = 32 kHz, VDD = 3.0V, WDT disabled

                                             -- 19 35 A LP OPTION, Industrial Temperature
                                                                                    FOSC = 32 kHz, VDD = 3.0V, WDT disabled

                                             -- 19 35 A LP OPTION, Extended Temperature
                                                                                    FOSC = 32 kHz, VDD = 4.5V, WDT disabled

D020   Power-Down Current (5)      IPD
D021
D021A                                    -- 0.26 5 A VDD = 3.0V, Commercial
D021B
                                         -- 0.26 6 A VDD = 3.0V, Industrial

                                         --  2               13 A VDD = 4.5V, Extended

       Supply Current(3)           IEE -- 0.1 0.2 mA FOSC = 4 MHz, VDD = 5.5V,
       During read/write to                                                         SCL = 400 kHz
       EEPROM peripheral

       Power-Down Current (5) IWDT                                   A VDD = 3.0V, Commercial
                                                          -- 3.74 8  A VDD = 3.0V, Industrial
                                                                     A VDD = 4.5V, Extended
                                                          -- 3.74 9

                                                          -- 3.0 10

       * These parameters are characterized but not tested.

       Note 1: Data in the Typical ("Typ") column is based on characterization results at 25C. This data is for design
                   guidance only and is not tested.

              2: This is the limit to which VDD can be lowered in SLEEP mode without losing RAM data.
              3: The supply current is mainly a function of the operating voltage and frequency. Other factors such as

                   bus loading, oscillator type, bus rate, internal code execution pattern, and temperature also have an
                   impact on the current consumption.

                      a) 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
                         Vss, T0CKI = VDD, MCLR = VDD; WDT enabled/disabled as specified.

                      b) For standby current measurements, the conditions are the same, except that
                         the device is in SLEEP mode.

                      c) EEPROM data memory in standby unless otherwise indicated.
              4: Does not include current through Rext. The current through the resistor can be estimated by the

                   formula: IR = VDD/2Rext (mA) with Rext in kOhm.
              5: 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 or
                   VSS. EEPROM data memory in standby.

DS40172B-page 62                             Preliminary             1998 Microchip Technology Inc.
                                                                PIC12CE5XX

11.2 DC CHARACTERISTICS:                           PIC12LCE518/519 (Commercial, Industrial)

                                        Standard Operating Conditions (unless otherwise specified)

DC Characteristics                      Operating Temperature   0C  TA  +70C (commercial)
Power Supply Pins
                                                                40C  TA  +85C (industrial)

                                                                40C  TA  +125C (extended)

Characteristic                    Sym Min Typ(1) Max Units      Conditions

Supply Voltage                    VDD 2.5                5.5     V FOSC = DC to 4 MHz (Commercial/
                                                          --             Industrial)
RAM Data Retention                VDR --           1.5*   --
Voltage(2)                                         VSS    --     V Device in SLEEP mode
                                  VPOR                   TBD
VDD Start Voltage to ensure                        TBD   TBD     V See section on Power-on Reset for details
Power-on Reset                    SVDD 0.05*       TBD   TBD
                                                         TBD   V/ms See section on Power-on Reset for details
VDD Rise Rate to ensure           IDD   --
Power-on Reset                                           TBD    mA XT and EXTRC options (Note 4)
                                        --               TBD             FOSC = 4 MHz, VDD = 5.5V
Supply Current(3)
No read/write to EEPROM                                         mA INTRC Option
peripheral                                                               FOSC = 4 MHz, VDD = 5.5V

                                        -- TBD                  A LP OPTION, Commercial Temperature
                                                                         FOSC = 32 kHz, VDD = 3.0V, WDT disabled
                                        -- TBD
                                                                A LP OPTION, Industrial Temperature
Power-Down Current (5)            IPD                                    FOSC = 32 kHz, VDD = 3.0V, WDT disabled
                                             -- TBD
                                             -- TBD             A VDD = 2.5V, Commercial
                                                                A VDD = 2.5V, Industrial

Supply Current(3)                 IEE -- TBD TBD mA XT and EXTRC options (Note 4)
During read/write to                                                                    FOSC = 4 MHz, VDD = 5.5V,
EEPROM peripheral                                                                       SCL = 400 kHz

                                              -- TBD TBD mA INTRC Option
                                                                                        FOSC = 4 MHz, VDD = 5.5V
                                                                                        SCL = 400 kHz

Power-Down Current (5)            IWDT                         A VDD = 2.5V, Commercial
                                               --              A VDD = 2.5V, Industrial
                                               --  TBD TBD
                                                   TBD TBD

* These parameters are characterized but not tested.

Note 1: Data in the Typical ("Typ") column is based on characterization results at 25C. This data is for design guid-
            ance only and is not tested.

       2: This is the limit to which VDD can be lowered in SLEEP mode without losing RAM data.
       3: The supply current is mainly a function of the operating voltage and frequency. Other factors such as bus

            loading, oscillator type, bus rate, internal code execution pattern, and temperature also have an impact on the
            current consumption.

               a) 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
                  Vss, T0CKI = VDD, MCLR = VDD; WDT enabled/disabled as specified.

               b) For standby current measurements, the conditions are the same, except that
                  the device is in SLEEP mode.

               c) EEPROM data memory in standby unless otherwise indicated.
       4: Does not include current through Rext. The current through the resistor can be estimated by the

            formula: IR = VDD/2Rext (mA) with Rext in kOhm.
       5: The power down current in SLEEP mode does not depend on the oscillator type. Power down current is mea-

            sured with the part in SLEEP mode, with all I/O pins in hi-impedance state and tied to VDD or VSS. EEPROM
            data memory in standby.

1998 Microchip Technology Inc.                   Preliminary                                 DS40172B-page 63
PIC12CE5XX

11.3 DC CHARACTERISTICS: PIC12CE518/519 (Commercial, Industrial, Extended)
          Timing Parameter Symbology and Load Conditions

                                           Standard Operating Conditions (unless otherwise specified)

DC CHARACTERISTICS                         Operating temperature 0C  TA  +70C (commercial)
                                                                             40C  TA  +85C (industrial)

                                                                   40C  TA  +125C (extended)

                                           Operating voltage VDD range as described in DC spec Section 11.1 and

                                           Section 11.2.

Param             Characteristic           Sym Min Typ Max Units                  Conditions
  No.
                                                               

       Input Low Voltage

       I/O ports                           VIL

D030   with TTL buffer                           VSS            - 0.5V V

D031   with Schmitt Trigger buffer               VSS            - 0.2VDD V

D032 MCLR, GP2/T0CKI/AN2/INT                     VSS            - 0.2VDD V

       (in EXTRC mode)

D033 OSC1 (in XT, HS and LP)                     VSS            - 0.3VDD V Note1

       Input High Voltage

       I/O ports                           VIH                  -

D040   with TTL buffer                           2.0            - VDD V 4.5  VDD  5.5V

D040A                                            0.8VDD - VDD V For VDD > 5.5V or VDD < 4.5V

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

D042 MCLR, GP2/T0CKI/AN2/INT                     0.8VDD - VDD V

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

D043 OSC1 (in EXTRC mode)                        0.9VDD - VDD V

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

       Input Leakage Current (Notes 2, 3)

D060 I/O ports                             IIL   -              - +1 A Vss  VPIN  VDD, Pin at hi-

                                                                            impedance

D061 MCLR, GP2/T0CKI                             -              - +5(5) A Vss  VPIN  VDD

D063 OSC1                                        -              - +5 A Vss  VPIN  VDD, XT, HS and LP

                                                                            osc configuration

       Output Low Voltage

D080 I/O ports/CLKOUT                      VOL   -              - 0.6 V IOL = 8.5 mA, VDD = 4.5V,
                                                                                        40C to +85C

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

                                                                            40C to +125C

D083 OSC2                                        -              - 0.6 V IOL = 1.6 mA, VDD = 4.5V,

                                                                            40C to +85C

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

                                                                            40C to +125C

       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 EXTRC oscillator configuration, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that

       the PIC12CE5XX be driven with external clock in RC mode.

      2: The leakage current on the MCLR 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 voltages.

      3: Negative current is defined as coming out of the pin.

      4: Extended operating range is Advance Information for this device.

      5: When configured as external reset, the input leakage current is the weak pulll-up current of -10mA minimum.

       This pull-up is weaker than the standard I/O pull-up.

DS40172B-page 64                           Preliminary                      1998 Microchip Technology Inc.
                                                                       PIC12CE5XX

                                    Standard Operating Conditions (unless otherwise specified)

DC CHARACTERISTICS                  Operating temperature 0C  TA  +70C (commercial)
                                                                      40C  TA  +85C (industrial)
                                                                      40C  TA  +125C (extended)

                                    Operating voltage VDD range as described in DC spec Section 11.1 and

                                    Section 11.2.

Param          Characteristic       Sym Min Typ Max Units                     Conditions

No.                                                           

       Output High Voltage

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

                                                                       40C to +85C

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

                                                                       40C to +125C

D092 OSC2                                  VDD - 0.7 -           -   V IOH = -1.3 mA, VDD = 4.5V,

                                                                       40C to +85C

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

                                                                       40C to +125C

       Capacitive Loading Specs on

       Output Pins

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

                                                                       external clock is used to drive

                                                                       OSC1.

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

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 EXTRC oscillator configuration, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that

       the PIC12CE5XX be driven with external clock in RC mode.

2: The leakage current on the MCLR 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 voltages.

3: Negative current is defined as coming out of the pin.

4: Extended operating range is Advance Information for this device.

5: When configured as external reset, the input leakage current is the weak pulll-up current of -10mA minimum.

       This pull-up is weaker than the standard I/O pull-up.

1998 Microchip Technology Inc.    Preliminary                               DS40172B-page 65
PIC12CE5XX

11.4 DC CHARACTERISTICS:            PIC12LCE518/519 (Commercial, Industrial)

DC CHARACTERISTICS                         Standard Operating Conditions (unless otherwise specified)

                                           Operating temperature 0C  TA  +70C (commercial)
                                                                             40C  TA  +85C (industrial)
                                                                             40C  TA  +125C (extended)

                                           Operating voltage VDD range as described in DC spec Section 11.1 and

                                           Section 11.1.

Param             Characteristic           Sym Min Typ Max Units                  Conditions
  No.
                                                               

       Input Low Voltage

       I/O ports                           VIL

D030   with TTL buffer                           VSS            - 0.5V V

D031   with Schmitt Trigger buffer               VSS            - 0.2VDD V

D032 MCLR, GP2/T0CKI/AN2/INT                     VSS            - 0.2VDD V

       (in EXTRC mode)

D033 OSC1 (in XT, HS and LP)                     VSS            - 0.3VDD V Note1

       Input High Voltage

       I/O ports                           VIH                  -

D040   with TTL buffer                           2.0            - VDD V 4.5  VDD  5.5V

D040A                                            0.8VDD - VDD V For VDD > 5.5V or VDD < 4.5V

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

D042 MCLR, GP2/T0CKI/AN2/INT                     0.8VDD - VDD V

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

D043 OSC1 (in EXTRC mode)                        0.9VDD - VDD V

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

       Input Leakage Current (Notes 2, 3)

D060 I/O ports                             IIL   -              - +1 A Vss  VPIN  VDD, Pin at hi-

                                                                            impedance

D061 MCLR, GP2/T0CKI                             -              - +5(5) A Vss  VPIN  VDD

D063 OSC1                                        -              - +5 A Vss  VPIN  VDD, XT, HS and LP

                                                                            osc configuration

       Output Low Voltage

D080 I/O ports/CLKOUT                      VOL   -              - 0.6 V IOL = 8.5 mA, VDD = 4.5V,
                                                                                        40C to +85C

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

                                                                            40C to +125C

D083 OSC2                                        -              - 0.6 V IOL = 1.6 mA, VDD = 4.5V,

                                                                            40C to +85C

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

                                                                            40C to +125C

       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 EXTRC oscillator configuration, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that

       the PIC12CE5XX be driven with external clock in RC mode.

      2: The leakage current on the MCLR 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 voltages.

      3: Negative current is defined as coming out of the pin.

      4: Extended operating range is Advance Information for this device.

      5: When configured as external reset, the input leakage current is the weak pulll-up current of -10mA minimum.

       This pull-up is weaker than the standard I/O pull-up.

DS40172B-page 66                           Preliminary                      1998 Microchip Technology Inc.
                                                                       PIC12CE5XX

                                    Standard Operating Conditions (unless otherwise specified)

DC CHARACTERISTICS                  Operating temperature 0C  TA  +70C (commercial)
                                                                      40C  TA  +85C (industrial)
                                                                      40C  TA  +125C (extended)

                                    Operating voltage VDD range as described in DC spec Section 11.1 and

                                    Section 11.1.

Param          Characteristic       Sym Min Typ Max Units                     Conditions

No.                                                           

       Output High Voltage

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

                                                                       40C to +85C

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

                                                                       40C to +125C

D092 OSC2                                  VDD - 0.7 -           -   V IOH = -1.3 mA, VDD = 4.5V,

                                                                       40C to +85C

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

                                                                       40C to +125C

       Capacitive Loading Specs on

       Output Pins

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

                                                                       external clock is used to drive

                                                                       OSC1.

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

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 EXTRC oscillator configuration, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that

       the PIC12CE5XX be driven with external clock in RC mode.

2: The leakage current on the MCLR 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 voltages.

3: Negative current is defined as coming out of the pin.

4: Extended operating range is Advance Information for this device.

5: When configured as external reset, the input leakage current is the weak pulll-up current of -10mA minimum.

       This pull-up is weaker than the standard I/O pull-up.

1998 Microchip Technology Inc.    Preliminary                               DS40172B-page 67
PIC12CE5XX

TABLE 11-1: PULL-UP RESISTOR RANGES

VDD (Volts) Temperature (C)  Min                              Typ   Max   Units

2.5               40         38K                     GP0/GP1  42K   63K     
                                                         GP3   48K   63K     
                  25          42K                              49K   63K     
                                                               55K   63K     
                  85          42K                              17K   20K     
                                                               20K   23K     
                  125         50K                              22K   25K     
                                                               24K   28K     
5.5               40         15K
                                                               346K  417K   
                  25          18K                              414K  532K   
                                                               457K  532K   
                  85          19K                              504K  593K   
                                                               292K  360K   
                  125         22K                              341K  437K   
                                                               371K  448K   
2.5               40         285K                             407K  500K   

                  25          343K

                  85          368K

                  125         431K

5.5               40         247K

                  25          288K

                  85          306K

                  125         351K

* These parameters are characterized but not tested.

DS40172B-page 68              Preliminary                            1998 Microchip Technology Inc.
                                                                          PIC12CE5XX

11.5 Timing Parameter Symbology and Load Conditions

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

1. TppS2ppS

2. TppS

T

   F         Frequency                            T        Time

   Lowercase subscripts (pp) and their meanings:

pp

   2         to                                   mc       MCLR

   ck        CLKOUT                               osc      oscillator

   cy        cycle time                           os       OSC1

   drt       device reset timer                   t0       T0CKI

   io        I/O port                             wdt      watchdog timer

   Uppercase letters and their meanings:

S

   F         Fall                                 P        Period

   H         High                                 R        Rise

   I         Invalid (Hi-impedance)               V        Valid

   L         Low                                  Z        Hi-impedance

FIGURE 11-1: LOAD CONDITIONS - PIC12CE5XX

                       Pin                        CL = 50 pF for all pins except OSC2

                                          CL      15 pF for OSC2 in XT or LP modes

                                                           when external clock is used

                                     VSS                   to drive OSC1

1998 Microchip Technology Inc.              Preliminary                               DS40172B-page 69
PIC12CE5XX

11.6 Timing Diagrams and Specifications
FIGURE 11-2: EXTERNAL CLOCK TIMING - PIC12CE5XX

                        Q4  Q1                         Q2         Q3      Q4                  Q1
OSC1

                            1                                 3       3     4              4

                                                           2

TABLE 11-2: EXTERNAL CLOCK TIMING REQUIREMENTS - PIC12CE5XX

AC Characteristics          Standard Operating Conditions (unless otherwise specified)

                            Operating Temperature          0C  TA  +70C (commercial),

                                                       40C  TA  +85C (industrial),

                                                       40C  TA  +125C (extended)

                            Operating Voltage VDD range is described in Section 11.1

Parameter         Sym       Characteristic                    Min Typ(1) Max Units            Conditions
    No.

                  FOSC External CLKIN Frequency(2)            DC --       4 MHz XT osc mode

                                                              DC -- 200 kHz LP osc mode

                            Oscillator Frequency(2)           DC --       4 MHz EXTRC osc mode
                                                              0.1 --      4 MHz XT osc mode

                                                              DC -- 200 kHz LP osc mode

1                 Tosc External CLKIN Period(2)               250 --      -- ns XT osc mode
                                                                          -- ms LP osc mode
                                                              5       --

                            Oscillator Period(2)              250 --      -- ns EXTRC osc mode

                                                              250 -- 10,000 ns XT osc mode

                                                              5       --  -- ms LP osc mode

2                 Tcy       Instruction Cycle Time(3)         -- 4/FOSC --             --

3          TosL, TosH Clock in (OSC1) Low or High Time 50* --             -- ns XT oscillator

                                                              2*      --  -- ms LP oscillator

4          TosR, TosF Clock in (OSC1) Rise or Fall Time       --      --  25* ns XT oscillator

                                                              --      --  50* ns LP oscillator

      * These parameters are characterized but not tested.
Note 1: Data in the Typical ("Typ") column is at 5V, 25C unless otherwise stated. These parameters are for design

            guidance only and are not tested.
       2: All specified values are based on characterization data for that particular oscillator type under standard oper-

            ating conditions with the device executing code. Exceeding these specified limits may result in an unstable
            oscillator operation and/or higher than expected current consumption.
            When an external clock input is used, the "max" cycle time limit is "DC" (no clock) for all devices.
       3: Instruction cycle period (TCY) equals four times the input oscillator time base period.

DS40172B-page 70                                     Preliminary                      1998 Microchip Technology Inc.
                                                                 PIC12CE5XX

TABLE 11-3: CALIBRATED INTERNAL RC FREQUENCIES - PIC12CE5XX

AC Characteristics  Standard Operating Conditions (unless otherwise specified)

                    Operating Temperature     0C  TA  +70C (commercial),

                                              40C  TA  +85C (industrial),

                                              40C  TA  +125C (extended)

                    Operating Voltage VDD range is described in Section 10.1

Parameter  Sym                   Characteristic       Min* Typ(1) Max* Units    Conditions
    No.             Internal Calibrated RC Frequency

                                                      TBD 4.00 TBD MHz VDD = 5.0V

                    Internal Calibrated RC Frequency  TBD 4.00 TBD MHz VDD = 2.5V

       * These parameters are characterized but not tested.
Note 1: Data in the Typical ("Typ") column is at 5V, 25C unless otherwise stated. These parameters are for design

            guidance only and are not tested.

FIGURE 11-3: I/O TIMING - PIC12CE5XX

                    Q4                Q1                     Q2                 Q3

OSC1

I/O Pin                          17                  19 18
(input)
I/O Pin   Old Value                                                            New Value
(output)

                                      20, 21

Note: All tests must be done with specified capacitive loads (see data sheet) 50 pF on I/O pins and CLKOUT.

1998 Microchip Technology Inc.      Preliminary                               DS40172B-page 71
PIC12CE5XX

TABLE 11-4: TIMING REQUIREMENTS - PIC12CE5XX

AC Characteristics                   Standard Operating Conditions (unless otherwise specified)

                                     Operating Temperature         0C  TA  +70C (commercial)

                                                                   40C  TA  +85C (industrial)

                                                                   40C  TA  +125C (extended)

                                     Operating Voltage VDD range is described in Section 11.1

Parameter         Sym                Characteristic                        Min         Typ(1)             Max   Units
    No.

17         TosH2ioV OSC1 (Q1 cycle) to Port out valid(3)                   --                     --      100*  ns

18         TosH2ioI OSC1 (Q2 cycle) to Port input invalid                  TBD                    --      --    ns

                                     (I/O in hold time)

19         TioV2osH Port input valid to OSC1                               TBD                    --      --    ns

                                     (I/O in setup time)

20         TioR                      Port output rise time(3)              --                     10      25**  ns

21         TioF                      Port output fall time(3)              --                     10      25**  ns

  * These parameters are characterized but not tested.
  ** These parameters are design targets and are not tested. No characterization data available at this time.
Note 1: Data in the Typical ("Typ") column is at 5V, 25C unless otherwise stated. These parameters are for design

            guidance only and are not tested.
       2: Measurements are taken in EXTRC mode.
       3: See Figure 11-1 for loading conditions.

FIGURE 11-4: RESET, WATCHDOG TIMER, AND DEVICE RESET TIMER TIMING - PIC12CE5XX

VDD

    MCLR                                                       30

   Internal                                                            32                             32
      POR
                                 32                                            31
      DRT
                                                          34                       34
  Timeout
  (Note 2)
   Internal
   RESET

Watchdog
     Timer

   RESET

   I/O pin
   (Note 1)

Note 1: I/O pins must be taken out of hi-impedance mode by enabling the output drivers in software.
       2: Runs in MCLR or WDT reset only in XT and LP modes.

DS40172B-page 72                                          Preliminary               1998 Microchip Technology Inc.
                                                                                PIC12CE5XX

TABLE 11-5: RESET, WATCHDOG TIMER, AND DEVICE RESET TIMER - PIC12CE5XX

AC Characteristics Standard Operating Conditions (unless otherwise specified)

           Operating Temperature                   0C  TA  +70C (commercial)

                                        40C  TA  +85C (industrial)

                                        40C  TA  +125C (extended)

           Operating Voltage VDD range is described in Section 11.1

Parameter                                          Min Typ(1) Max Units

No.        Sym Characteristic                                                   Conditions

30         TmcL MCLR Pulse Width (low)             2000* -- -- ns VDD = 5 V

31         Twdt Watchdog Timer Time-out Period 9* 18* 30* ms VDD = 5 V (Commercial)

           (No Prescaler)

32         TDRT Device Reset Timer Period(2)       9* 18* 30* ms VDD = 5 V (Commercial)

34         TioZ I/O Hi-impedance from MCLR Low -- -- 2000* ns

   * These parameters are characterized but not tested.
Note 1: Data in the Typical ("Typ") column is at 5V, 25C unless otherwise stated. These parameters are for design

            guidance only and are not tested.

TABLE 11-6: DRT (DEVICE RESET TIMER PERIOD) TIME OUT

Oscillator Configuration            POR Reset      Subsequent Resets

IntRC & ExtRC                     18 ms (typical)     300 s (typical)
XT & LP                           18 ms (typical)      18 ms (typical)

1998 Microchip Technology Inc.        Preliminary                             DS40172B-page 73
PIC12CE5XX

FIGURE 11-5: TIMER0 CLOCK TIMINGS - PIC12CE5XX

           T0CKI

                                                    40                      41

                                                                    42

TABLE 11-7: TIMER0 CLOCK REQUIREMENTS - PIC12CE5XX

     AC Characteristics        Standard Operating Conditions (unless otherwise specified)

                               Operating Temperature                     0C  TA  +70C (commercial)

                                                                    40C  TA  +85C (industrial)

                                                                    40C  TA  +125C (extended)

                               Operating Voltage VDD range is described in Section 11.1.

Parameter  Sym Characteristic                                       Min     Typ(1) Max Units Conditions
    No.

40         Tt0H T0CKI High Pulse Width - No Prescaler 0.5 TCY + 20* -- -- ns

                                             - With Prescaler       10*          -- -- ns

41         Tt0L T0CKI Low Pulse Width - No Prescaler 0.5 TCY + 20* -- -- ns

                                             - With Prescaler       10*          -- -- ns

42         Tt0P T0CKI Period                                   20 or TCY + 40* -- -- ns Whichever is greater.

                                                                         N                 N = Prescale Value

                                                                                                   (1, 2, 4,..., 256)

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

             and are not tested.

FIGURE 11-6: EEPROM MEMORY BUS TIMING DATA

                  TF                         THIGH                               TR

SCL                TSU:STA                   THD:DAT                    TSU:DAT  TSU:STO
                                       TLOW
SDA
IN                TSP THD:STA

SDA                                                                                                TBUF
OUT
                                                               TAA

DS40172B-page 74                             Preliminary                         1998 Microchip Technology Inc.
                                                                     PIC12CE5XX

TABLE 11-8: EEPROM MEMORY BUS TIMING REQUIREMENTS - PIC12CE5XX

AC Characteristics                Standard Operating Conditions (unless otherwise specified)

                                  Operating Temperature 0C  TA  +70C, Vcc = 3.0V to 5.5V (commercial)
                                                                40C  TA  +85C, Vcc = 3.0V to 5.5V (industrial)
                                                                40C  TA  +125C, Vcc = 4.5V to 5.5V (extended)

                                  Operating Voltage VDD range is described in Section 11.1

           Parameter              Symbol Min Max Units                   Conditions

Clock frequency                   FCLK     --    100 kHz 4.5V  Vcc  5.5V (E Temp range)

                                           --    100        3.0V  Vcc  4.5V

                                           --    400        4.5V  Vcc  5.5V

Clock high time                   THIGH 4000     --     ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
                                           4000 --              4.5V  Vcc  5.5V

                                           600   --

Clock low time                    TLOW     4700  --     ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
                                           4700 --              4.5V  Vcc  5.5V

                                           1300 --

SDA and SCL rise time             TR       -- 1000 ns 4.5V  Vcc  5.5V (E Temp range)
(Note 1)
                                           -- 1000          3.0V  Vcc  4.5V

                                           --    300        4.5V  Vcc  5.5V

SDA and SCL fall time             TF       --    300 ns (Note 1)

START condition hold time         THD:STA 4000   --     ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
                                           4000 --              4.5V  Vcc  5.5V

                                           600   --

START condition setup time        TSU:STA 4700   --     ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
                                           4700 --              4.5V  Vcc  5.5V

                                           600   --

Data input hold time              THD:DAT  0     --     ns (Note 2)

Data input setup time             TSU:DAT 250    --     ns 4.5V  Vcc  5.5V (E Temp range)

                                           250   --         3.0V  Vcc  4.5V

                                           100   --         4.5V  Vcc  5.5V

STOP condition setup time         TSU:STO 4000   --     ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
                                           4000 --              4.5V  Vcc  5.5V

                                           600   --

Output valid from clock           TAA      -- 3500 ns 4.5V  Vcc  5.5V (E Temp range)
(Note 2)
                                           -- 3500          3.0V  Vcc  4.5V

                                           --    900        4.5V  Vcc  5.5V

Bus free time: Time the bus must TBUF 4700 --           ns 4.5V  Vcc  5.5V (E Temp range)
                                                                3.0V  Vcc  4.5V
be free before a new transmis-             4700 --              4.5V  Vcc  5.5V

sion can start                             1300 --

Output fall time from VIH         TOF 20+0.1 250        ns (Note 1), CB  100 pF
minimum to VIL maximum                          CB

Input filter spike suppression    TSP      --    50     ns (Notes 1, 3)
(SDA and SCL pins)

Write cycle time                  TWC      --    4      ms

Endurance                                  1M    -- cycles 25C, VCC = 5.0V, Block Mode (Note 4)

Note 1: Not 100% tested. CB = total capacitance of one bus line in pF.
       2: As a transmitter, the device must provide an internal minimum delay time to bridge the undefined region
            (minimum 300 ns) of the falling edge of SCL to avoid unintended generation of START or STOP conditions.
       3: The combined TSP and VHYS specifications are due to new Schmitt trigger inputs which provide improved
            noise spike suppression. This eliminates the need for a TI specification for standard operation.
       4: This parameter is not tested but guaranteed by characterization. For endurance estimates in a specific appli-
            cation, please consult the Total Endurance Model which can be obtained on Microchip's website.

1998 Microchip Technology Inc.           Preliminary                           DS40172B-page 75
PIC12CE5XX

NOTES:

DS40172B-page 76  Preliminary   1998 Microchip Technology Inc.
                                              PIC12CE5XX

12.0 DC AND AC CHARACTERISTICS - PIC12CE5XX

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 (e.g., outside specified VDD range). This is for information only
and devices will 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. "Typical" represents the mean of the distribution while "max" or "min" represents (mean + 3) and (mean 3)
respectively, where  is standard deviation.
FIGURE 12-1: CALIBRATED INTERNAL RC FREQUENCY RANGE VS. TEMPERATURE (VDD = 5.0V)

                     (INTERNAL RC IS CALIBRATED TO 25C, 5.0V)

                                                   Not available at this time.

FIGURE 12-2: CALIBRATED INTERNAL RC FREQUENCY RANGE VS. TEMPERATURE (VDD = 2.5V)
                     (INTERNAL RC IS CALIBRATED TO 25C, 5.0V)

                                                   Not available at this time.

1998 Microchip Technology Inc.  Preliminary  DS40172B-page 77
PIC12CE5XX

TABLE 12-1: DYNAMIC IDD (TYPICAL) - WDT ENABLED, 25C

    Oscillator       Frequency       VDD =3.0V                          VDD = 5.5V

External RC          4 MHz           300 A*                              620 A*
                                                                          1.1 mA
Internal RC          4 MHz           520 A                               775 A
                                                                           37 A
XT                   4 MHz           300 A

LP                   32 KHz          10 A

*Does not include current through external R&C.

FIGURE 12-3: WDT TIMER TIME-OUT                                         FIGURE 12-4: SHORT DRT PERIOD VS. VDD
                     PERIOD vs. VDD                                            1000

          50                                                                     900

          45

                                                                                                         800

    40

    35WDT period (s)                                                                                    700
    30                                                                                  WDT period (s)  600

                                                                                                         500

    25                            Max +125C

    20                            Max +85C                                                              400                     Max +125C
                                                                                                                                 Max +85C
                                                          Typ +25C                                      300                      Typ +25C
                                                                                                                                  MIn 40C
    15                                                                                                   200

    10                            MIn 40C                                                              100
                                                                                                              2
    5                                                                                                            3  4  5         6  7

        2         3  4       5    6                                  7                                              VDD (Volts)

                     VDD (Volts)

DS40172B-page 78                                                        Preliminary                                  1998 Microchip Technology Inc.
                                                                                                     PIC12CE5XX

FIGURE 12-5: IOH vs. VOH, VDD = 2.5 V       FIGURE 12-6: IOL vs. VOL, VDD = 2.5 V
                                                       35
              0                                        30

-5

-10                                                                                            25

IOH (mA)                                                                                       20 TBD
                                                                                     IOL (mA)
-15       TBD                                                                                  15
                                                                                               10
-20

-25

                                                                                               5

-30

     1.5  2.0  2.5                3.0  3.5                                                     0

               VOH (Volts)                                                                        0  500.0m 750.0m  1.0

                                                                                                     VOL (Volts)

1998 Microchip Technology Inc.       Preliminary                                                     DS40172B-page 79
PIC12CE5XX                                              FIGURE 12-9: IOL vs. VOL, VDD = 3.5 V
                                                                   35
FIGURE 12-7: IOH vs. VOH, VDD = 3.5 V                              30

              0

             -5

          -10                                                                                  25

               Min +125C                                                                             Max 40C
IOH (mA)                                                                                       20
                                                                                     IOL (mA)-15Min +85C
                                                                                                      TMypin++2M585iCnC+125C
          -20  Typ +25C                                                                       15

               Max 40C                                                                       10

          -25

                                                                                               5

          -30

               1.5         2.0   2.5          3.0  3.5                                         0

                                 VOH (Volts)                                                       0  500.0m 750.0m                                            1.0

                                                                                                      VOL (Volts)

FIGURE 12-8: IOH vs. VOH, VDD = 5.5 V                   FIGURE 12-10: IOL vs. VOL, VDD = 5.5 V
                                                                  50
              0

          -5                                                                                                                                        Max 40C

                                                                                               40

          -10

IOH (mA)                                                                                       30                                Typ +25C

          -15                                           IOL (mA)

          -20       Min +125C                                                                 20                                Min +85C

                    +85C

               Min                                                                                                                                  Min +125C
                     +25C
                                                                                               10
          -25       Ty p
                          40C

                    Max

          -30

               3.5         4.0   4.5          5.0  5.5

                                 VOH (Volts)                                                   0

                                                                                               250.0m 500.0m 750.0m                         1.0

                                                                                                      VOL (Volts)

DS40172B-page 80                                   Preliminary                                        1998 Microchip Technology Inc.
13.0 PACKAGING INFORMATION                            PIC12CE5XX

13.1 Package Marking Information                Example
            8-Lead PDIP (300 mil)                      12CE518
                    XXXXXXXX                           04I/PSAZ
                    XXXXXCDE                                9825
                         AABB
                                                Example
            8-Lead SOIC (150 mil)
                                                      CE518
                   XXXXXXX                               9825
                      XXXX
                                                Example
            8-Lead SOIC (208 mil)                     12CE518
                   XXXXXXX                            04I/SM
                   XXXXXXX                            9824SAZ
                   AABBCDE

8-Lead Windowed Ceramic Side Brazed (300 mil)   Example
          XXX                                             JW

XXXXXX                                          12CE518

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.

1998 Microchip Technology Inc.   Preliminary                                               DS40172B-page 81
PIC12CE5XX

Package Type: K04-018 8-Lead Plastic Dual In-line (P) 300 mil

                                         E

                                             D
                                      2

n                                     1

                                                                                       

                  E1

                                                A
                                                                                                           A1

                               R         c                                                                        L

                                                       A2

                                                           B1
                           eB                                                                             p

                                                            B

Units                                                  INCHES*                       MILLIMETERS
                                                         NOM
Dimension Limits                            MIN             0.300    MAX        MIN       NOM                        MAX
                                                                  8
PCB Row Spacing                               0.014         0.100      0.022              7.62                           0.56
                                              0.055         0.018      0.065                                             1.65
Number of Pins                    n           0.000         0.060      0.010                                   8         0.25
                                              0.006         0.005      0.015                                             0.38
Pitch                             p           0.140         0.012      0.160              2.54                           4.06
                                              0.060         0.150      0.100                                             2.54
Lower Lead Width                  B           0.005         0.080      0.035    0.36      0.46                           0.89
                                              0.120         0.020      0.140                                             3.56
Upper Lead Width                  B1          0.355         0.130      0.385    1.40      1.52                           9.78
                                              0.245         0.370      0.260                                             6.60
Shoulder Radius                   R           0.267         0.250      0.292    0.00      0.13                           7.42
                                              0.310         0.280      0.380                                             9.65
Lead Thickness                    c                         0.342               0.20      0.29
                                                    5           10          15                                              15
Top to Seating Plane              A                 5           10          15  3.56      3.81                              15

Top of Lead to Seating Plane A1                                                 1.52      2.03

Base to Seating Plane             A2                                            0.13      0.51

Tip to Seating Plane              L                                             3.05      3.30

Package Length                    D                                             9.02      9.40

Molded Package Width              E                                             6.22      6.35

Radius to Radius Width            E1                                            6.78      7.10

Overall Row Spacing               eB                                            7.87      8.67

Mold Draft Angle Top                                                                 5                       10

Mold Draft Angle Bottom                                                              5                       10

       * Controlling Parameter.
        Dimension "B1" does not include dam-bar protrusions. Dam-bar protrusions shall not exceed 0.003"

          (0.076 mm) per side or 0.006" (0.152 mm) more than dimension "B1."
        Dimensions "D" and "E" do not include mold flash or protrusions. Mold flash or protrusions shall not

          exceed 0.010" (0.254 mm) per side or 0.020" (0.508 mm) more than dimensions "D" or "E."

DS40172B-page 82                                Preliminary                              1998 Microchip Technology Inc.
                                                                                   PIC12CE5XX

Package Type: K04-057 8-Lead Plastic Small Outline (SN) Narrow, 150 mil

                                                      E1
                                                      E

          p

B         n                                             D
                                                  2

                                                  1

                       45                   X                                       
       c                                                                                          A1
                                                   L
                                         R1           R2
                                                                  A

                                                     

                                             L1                 A2

Units                                                  INCHES*                     MILLIMETERS

Dimension Limits                             MIN           NOM       MAX      MIN     NOM       MAX

Pitch                             p                        0.050                      1.27

Number of Pins                    n                             8                          8

Overall Pack. Height              A          0.054         0.061     0.069    1.37    1.56      1.75

Shoulder Height                   A1         0.027         0.035     0.044    0.69    0.90      1.11

Standoff                          A2         0.004         0.007     0.010    0.10    0.18      0.25

Molded Package Length D                      0.189         0.193     0.196    4.80    4.89      4.98

Molded Package Width              E          0.150         0.154     0.157    3.81    3.90      3.99

Outside Dimension                 E1         0.229         0.237     0.244    5.82    6.01      6.20

Chamfer Distance                  X          0.010         0.015     0.020    0.25    0.38      0.51

Shoulder Radius                   R1         0.005         0.005     0.010    0.13    0.13      0.25

Gull Wing Radius                  R2         0.005         0.005     0.010    0.13    0.13      0.25

Foot Length                       L          0.011         0.016     0.021    0.28    0.41      0.53

Foot Angle                                        0             4         8        0       4                  8

Radius Centerline                 L1         0.000         0.005     0.010    0.00    0.13      0.25

Lead Thickness                    c          0.008         0.009     0.010    0.19    0.22      0.25

Lower Lead Width                  B          0.014         0.017     0.020    0.36    0.43      0.51

Mold Draft Angle Top                              0             12        15       0       12                 15

Mold Draft Angle Bottom                           0             12        15       0       12                 15

       * Controlling Parameter.
        Dimension "B" does not include dam-bar protrusions. Dam-bar protrusions shall not exceed 0.003"

          (0.076 mm) per side or 0.006" (0.152 mm) more than dimension "B."
        Dimensions "D" and "E" do not include mold flash or protrusions. Mold flash or protrusions shall not

          exceed 0.010" (0.254 mm) per side or 0.020" (0.508 mm) more than dimensions "D" or "E."

1998 Microchip Technology Inc.             Preliminary                                        DS40172B-page 83
PIC12CE5XX

Package Type: K04-056 8-Lead Plastic Small Outline (SM) Medium, 208 mil

                                                    E1
                                                     E

p                                               D
                                          2
        n                                 1
B
                                                                                                                  
  c
                                              L
                                                    R2
                                                              A
                                                                                                                A1

                                 R1              

                                             L1           A2

Units                                        INCHES*                                      MILLIMETERS

Dimension Limits                     MIN         NOM          MAX                    MIN     NOM           MAX

Pitch                 p                          0.050                                       1.27

Number of Pins        n                               8                                           8

Overall Pack. Height  A              0.070       0.074        0.079                  1.78    1.89                   2.00

Shoulder Height       A1             0.037       0.042        0.048                  0.94    1.08                   1.21

Standoff              A2             0.002       0.005        0.009                  0.05    0.14                   0.22

Molded Package Length D              0.200       0.205        0.210                  5.08    5.21                   5.33

Molded Package Width  E              0.203       0.208        0.213                  5.16    5.28                   5.41

Outside Dimension     E1             0.300       0.313        0.325                  7.62    7.94                   8.26

Shoulder Radius       R1             0.005       0.005        0.010                  0.13    0.13                   0.25

Gull Wing Radius      R2             0.005       0.005        0.010                  0.13    0.13                   0.25

Foot Length           L              0.011       0.016        0.021                  0.28    0.41                   0.53

Foot Angle                                0           4            8                      0       4                 8

Radius Centerline     L1             0.010       0.015        0.020                  0.25    0.38                   0.51

Lead Thickness        c              0.008       0.009        0.010                  0.19    0.22                   0.25

Lower Lead Width      B              0.014       0.017        0.020                  0.36    0.43                   0.51

Mold Draft Angle Top                      0           12           15                     0       12                15

Mold Draft Angle Bottom                   0           12           15                     0       12                15

       * Controlling Parameter.

        Dimension "B" does not include dam-bar protrusions. Dam-bar protrusions shall not exceed 0.003"

                  (0.076 mm) per side or 0.006" (0.152 mm) more than dimension "B."

        Dimensions "D" and "E" do not include mold flash or protrusions. Mold flash or protrusions shall not

                  exceed 0.010" (0.254 mm) per side or 0.020" (0.508 mm) more than dimensions "D" or "E."

DS40172B-page 84                     Preliminary                                           1998 Microchip Technology Inc.
                                              PIC12CE5XX

Package Type: K04-084 8-Lead Ceramic Side Brazed Dual In-line with Window (JW) 300 mil

                  E                         W

T                                        D
     n                            2

                                  1

                      U

                                               A                                         A1

                                                  A2                                          L
                                                                                 p
                                      c               B1

                      eB                                  B

Units                                                 INCHES*                  MILLIMETERS
                                                       NOM
Dimension Limits                            MIN                  MAX      MIN    NOM         MAX
                                                          0.300
PCB Row Spacing                               0.098           8    0.102         7.62            2.59
                                              0.016                0.020                         0.51
Number of Pins                    n           0.050       0.100    0.060              8          1.52
                                              0.008       0.018    0.012                         0.30
Pitch                             p           0.145       0.055    0.185  2.49   2.54            4.70
                                              0.103       0.010    0.143                         3.63
Lower Lead Width                  B           0.025       0.165    0.045  0.41   0.46            1.14
                                              0.130       0.123    0.150                         3.81
Upper Lead Width                  B1          0.510       0.035    0.530  1.27   1.40          13.46
                                              0.280       0.140    0.300                         7.62
Lead Thickness                    c           0.310       0.520    0.365  0.20   0.25            9.27
                                              0.161       0.290    0.171                         4.34
Top to Seating Plane              A           0.440       0.338    0.460  3.68   4.19          11.68
                                              0.260       0.166    0.280                         7.11
Top of Body to Seating Plane A1                           0.450           2.62   3.12
                                                          0.270
Base to Seating Plane             A2                                      0.64   0.89

Tip to Seating Plane              L                                       3.30   3.56

Package Length                    D                                       12.95  13.21

Package Width                     E                                       7.11   7.37

Overall Row Spacing               eB                                      7.87   8.57

Window Diameter                   W                                       4.09   4.22

Lid Length                        T                                       11.18  11.43

Lid Width                         U                                       6.60   6.86

       * Controlling Parameter.

1998 Microchip Technology Inc.               Preliminary                                   DS40172B-page 85
PIC12CE5XX

NOTES:

DS40172B-page 86  Preliminary   1998 Microchip Technology Inc.
INDEX                                                                                                     PIC12CE5XX

A                                                                                              L

ALU ....................................................................................... 7  Loading of PC ..................................................................... 17
Applications........................................................................... 3
Architectural Overview .......................................................... 7            M
Assembler
                                                                                               Memory Organization ......................................................... 11
      MPASM Assembler..................................................... 57                        Data Memory .............................................................. 12
                                                                                                     Program Memory........................................................ 11
B
                                                                                               MPLAB Integrated Development Environment Software.... 57
Block Diagram
      On-Chip Reset Circuit ................................................. 37               O
      Timer0......................................................................... 27
      TMR0/WDT Prescaler................................................. 30                   OPTION Register ............................................................... 15
      Watchdog Timer.......................................................... 39              OSC selection..................................................................... 31
                                                                                               OSCCAL Register .............................................................. 16
Brown-Out Protection Circuit .............................................. 40                 Oscillator Configurations .................................................... 32
                                                                                               Oscillator Types
C
                                                                                                     HS............................................................................... 32
CAL0 bit .............................................................................. 16           LP ............................................................................... 32
CAL1 bit .............................................................................. 16           RC .............................................................................. 32
CAL2 bit .............................................................................. 16           XT ............................................................................... 32
CAL3 bit .............................................................................. 16
CALFST bit ......................................................................... 16        P
CALSLW bit ........................................................................ 16
Carry ..................................................................................... 7  Package Marking Information ............................................. 81
Clocking Scheme ................................................................ 10            Packaging Information ........................................................ 81
Code Protection ............................................................ 31, 41            PC....................................................................................... 17
Configuration Bits................................................................ 31          PICDEM-1 Low-Cost PICmicro Demo Board ..................... 56
Configuration Word ............................................................. 31            PICDEM-2 Low-Cost PIC16CXX Demo Board................... 56
                                                                                               PICDEM-3 Low-Cost PIC16CXXX Demo Board ................ 56
D                                                                                              PICSTART Plus Entry Level Development System......... 55
                                                                                               POR
DC and AC Characteristics ................................................. 77
Development Support ......................................................... 55                     Device Reset Timer (DRT) ................................... 31, 38
Development Tools ............................................................. 55                   PD............................................................................... 40
Device Varieties .................................................................... 5              Power-On Reset (POR).............................................. 31
Digit Carry ............................................................................. 7          TO............................................................................... 40
                                                                                               PORTA ............................................................................... 19
E                                                                                              Power-Down Mode ............................................................. 41
                                                                                               Prescaler ............................................................................ 30
EEPROM Peripheral Operation .......................................... 21                      PRO MATE II Universal Programmer .............................. 55
Errata .................................................................................... 2  Program Counter ................................................................ 17

F                                                                                              Q

Family of Devices.................................................................. 4          Q cycles .............................................................................. 10
Features................................................................................ 1
FSR..................................................................................... 18    R
Fuzzy Logic Dev. System (fuzzyTECH-MP) .................... 57
                                                                                               RC Oscillator ...................................................................... 33
I                                                                                              Read Modify Write .............................................................. 20
                                                                                               Register File Map ............................................................... 12
I/O Interfacing ..................................................................... 19       Registers
I/O Port................................................................................ 19
I/O Programming Considerations........................................ 20                            Special Function ......................................................... 13
ICEPIC Low-Cost PIC16CXXX In-Circuit Emulator ............ 55                                  Reset .................................................................................. 31
ID Locations .................................................................. 31, 41         Reset on Brown-Out ........................................................... 40
INDF.................................................................................... 18
Indirect Data Addressing..................................................... 18               S
Instruction Cycle ................................................................. 10
Instruction Flow/Pipelining .................................................. 10              SEEVAL Evaluation and Programming System .............. 57
Instruction Set Summary..................................................... 44                SLEEP .......................................................................... 31, 41
                                                                                               Software Simulator (MPLAB-SIM) ...................................... 57
K                                                                                              Special Features of the CPU .............................................. 31
                                                                                               Special Function Registers ................................................. 13
KeeLoq Evaluation and Programming Tools.................... 58                                Stack................................................................................... 17
                                                                                               STATUS ................................................................................7
                                                                                               STATUS Register ............................................................... 14

1998 Microchip Technology Inc.  Preliminary                                                  DS40172B-page 87
PIC12CE5XX

T

Timer0
      Switching Prescaler Assignment................................. 30
      Timer0......................................................................... 27
      Timer0 (TMR0) Module............................................... 27
      TMR0 with External Clock........................................... 29

Timing Parameter Symbology and Load Conditions........... 64
TRIS Registers.................................................................... 19

W

Wake-up from SLEEP ......................................................... 41
Watchdog Timer (WDT) ................................................ 31, 38

      Period.......................................................................... 39
      Programming Considerations ..................................... 39
WWW, On-Line Support........................................................ 2

Z

Zero bit .................................................................................. 7

DS40172B-page 88  Preliminary                                                                   1998 Microchip Technology Inc.
ON-LINE SUPPORT                                                       PIC12CE5XX

Microchip provides on-line support on the Microchip        Systems Information and Upgrade Hot Line
World Wide Web (WWW) site.                                 The Systems Information and Upgrade Line provides
                                                           system users a listing of the latest versions of all of
The web site is used by Microchip as a means to make       Microchip's development systems software products.
files and information easily available to customers. To    Plus, this line provides information on how customers
view the site, the user must have access to the Internet   can receive any currently available upgrade kits.The
and a web browser, such as Netscape or Microsoft           Hot Line Numbers are:
Explorer. Files are also available for FTP download        1-800-755-2345 for U.S. and most of Canada, and
from our FTP site.                                         1-602-786-7302 for the rest of the world.

Connecting to the Microchip InternetWeb Site                                                                                            980106

The Microchip web site is available by using your             Trademarks: The Microchip name, logo, PIC, PICSTART,
favorite Internet browser to attach to:                       PICMASTER and PRO MATE are registered trademarks
                                                              of Microchip Technology Incorporated in the U.S.A. and
                     www.microchip.com                        other countries. PICmicro, FlexROM, MPLAB and fuzzy-
                                                              LAB are trademarks and SQTP is a service mark of Micro-
The file transfer site is available by using an FTP ser-      chip in the U.S.A.
vice to connect to:                                           All other trademarks mentioned herein are the property of
                                                              their respective companies.
         ftp://ftp.futureone.com/pub/microchip

The web site and file transfer site provide a variety of
services. Users may download files for the latest
Development Tools, Data Sheets, Application Notes,
User's Guides, Articles and Sample Programs. A vari-
ety of Microchip specific business information is also
available, including listings of Microchip sales offices,
distributors and factory representatives. Other data
available for consideration is:

Latest Microchip Press Releases
Technical Support Section with Frequently Asked

   Questions
Design Tips
Device Errata
Job Postings
Microchip Consultant Program Member Listing
Links to other useful web sites related to

   Microchip Products
Conferences for products, Development Systems,

   technical information and more
Listing of seminars and events

1998 Microchip Technology Inc.                           DS40172B-page 89
PIC12CE5XX

READER RESPONSE

It is our intention to provide you with the best documentation possible to ensure successful use of your Microchip prod-
uct. If you wish to provide your comments on organization, clarity, subject matter, and ways in which our documentation
can better serve you, please FAX your comments to the Technical Publications Manager at (602) 786-7578.
Please list the following information, and use this outline to provide us with your comments about this Data Sheet.

To: Technical Publications Manager                    Total Pages Sent
RE: Reader Response

From: Name                                            FAX: (______) _________ - _________
          Company
          Address
          City / State / ZIP / Country
          Telephone: (_______) _________ - _________

Application (optional):
Would you like a reply? Y N

Device: PIC12CE5XX  Literature Number: DS40172B

Questions:

1. What are the best features of this document?

2. How does this document meet your hardware and software development needs?

3. Do you find the organization of this data sheet easy to follow? If not, why?

4. What additions to the data sheet do you think would enhance the structure and subject?

5. What deletions from the data sheet could be made without affecting the overall usefulness?

6. Is there any incorrect or misleading information (what and where)?

7. How would you improve this document?

8. How would you improve our software, systems, and silicon products?

DS40172B-page 90
                                                                                              PIC12CE5XX

PIC12CE5XX Product Identification System

PART NO. -XX X /XX XXX                              Special Requirements                      Examples
                                          Pattern:
                                                                                              a) PIC12CE518-04/P
Package:                                            SN  = 150 mil SOIC                               Commercial Temp.,
                                                        = 208 mil SOIC                               PDIP Package, 4 MHz,
                                                    SM  = 300 mil PDIP                               normal VDD limits
                                                        = 300 mil Windowed CERDIP
                                                    P                                         b) PIC12CE518-04I/SM
                                                        = 0C to +70C                               Industrial Temp., SOIC
                                                    JW  = -40C to +85C                             package, 4 MHz, normal
                                                        = -40C to +125C                            VDD limits
Temperature -
                                                        = 4 MHz                               c) PIC12CE519-04I/P
Range:                                              I                                                Industrial Temp.,
                                                                                                     PDIP package, 4 MHz,
                                                    E                                                normal VDD limits

Frequency                                           04

Range:

Device                                              PIC12CE518
                                                    PIC12CE519
                                                    PIC12CE518T (Tape & reel for SOIC only)
                                                    PIC12CE519T (Tape & reel for SOIC only)
                                                    PIC12LCE518
                                                    PIC12LCE519
                                                    PIC12LCE518T (Tape & reel for SOIC only)
                                                    PIC12LCE519T (Tape & reel for SOIC only)

Please contact your local sales office for exact ordering procedures.

Sales and Support

  Products supported by a preliminary Data Sheet may possibly have an errata sheet describing minor operational differences and
  recommended workarounds. To determine if an errata sheet exists for a particular device, please contact one of the following:

    1. Your local Microchip sales office (see below)
    2. The Microchip Corporate Literature Center U.S. FAX: (602) 786-7277
  Please specify which device, revision of silicon and Data Sheet (include Literature #) you are using.
  For latest version information and upgrade kits for Microchip Development Tools, please call 1-800-755-2345 or 1-602-786-7302.

1998 Microchip Technology Inc.                        Preliminary                           DS40172B-page 89
PIC12CE5XX

NOTES:

DS40172B-page 90  Preliminary   1998 Microchip Technology Inc.
                                               PIC12CE5XX

1998 Microchip Technology Inc.  Preliminary  DS40172B-page 91
M

                  WORLDWIDE SALES AND SERVICE

AMERICAS                             AMERICAS (continued)                       ASIA/PACIFIC (continued)

Corporate Office                     Toronto                                    Singapore

Microchip Technology Inc.            Microchip Technology Inc.                  Microchip Technology Singapore Pte Ltd.
2355 West Chandler Blvd.             5925 Airport Road, Suite 200               200 Middle Road
Chandler, AZ 85224-6199              Mississauga, Ontario L4V 1W1, Canada       #07-02 Prime Centre
Tel: 602-786-7200 Fax: 602-786-7277  Tel: 905-405-6279 Fax: 905-405-6253        Singapore 188980
Technical Support: 602 786-7627                                                 Tel: 65-334-8870 Fax: 65-334-8850
Web: http://www.microchip.com        ASIA/PACIFIC
                                                                                Taiwan, R.O.C
Atlanta                              Hong Kong
                                                                                Microchip Technology Taiwan
Microchip Technology Inc.            Microchip Asia Pacific                     10F-1C 207
500 Sugar Mill Road, Suite 200B      RM 3801B, Tower Two                        Tung Hua North Road
Atlanta, GA 30350                    Metroplaza                                 Taipei, Taiwan, ROC
Tel: 770-640-0034 Fax: 770-640-0307  223 Hing Fong Road                         Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
                                     Kwai Fong, N.T., Hong Kong
Boston                               Tel: 852-2-401-1200 Fax: 852-2-401-3431    EUROPE

Microchip Technology Inc.            India                                      United Kingdom
5 Mount Royal Avenue
Marlborough, MA 01752                Microchip Technology Inc.                  Arizona Microchip Technology Ltd.
Tel: 508-480-9990 Fax: 508-480-8575  India Liaison Office                       505 Eskdale Road
                                     No. 6, Legacy, Convent Road                Winnersh Triangle
Chicago                              Bangalore 560 025, India                   Wokingham
                                     Tel: 91-80-229-0061 Fax: 91-80-229-0062    Berkshire, England RG41 5TU
Microchip Technology Inc.                                                       Tel: 44-1189-21-5858 Fax: 44-1189-21-5835
333 Pierce Road, Suite 180           Japan
Itasca, IL 60143                                                                France
Tel: 630-285-0071 Fax: 630-285-0075  Microchip Technology Intl. Inc.
                                     Benex S-1 6F                               Arizona Microchip Technology SARL
Dallas                               3-18-20, Shinyokohama                      Zone Industrielle de la Bonde
                                     Kohoku-Ku, Yokohama-shi                    2 Rue du Buisson aux Fraises
Microchip Technology Inc.            Kanagawa 222-0033 Japan                    91300 Massy, France
14651 Dallas Parkway, Suite 816      Tel: 81-45-471- 6166 Fax: 81-45-471-6122   Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Dallas, TX 75240-8809
Tel: 972-991-7177 Fax: 972-991-8588  Korea                                      Germany

Dayton                               Microchip Technology Korea                 Arizona Microchip Technology GmbH
                                     168-1, Youngbo Bldg. 3 Floor               Gustav-Heinemann-Ring 125
Microchip Technology Inc.            Samsung-Dong, Kangnam-Ku                   D-81739 Mchen, Germany
Two Prestige Place, Suite 150        Seoul, Korea                               Tel: 49-89-627-144 0 Fax: 49-89-627-144-44
Miamisburg, OH 45342                 Tel: 82-2-554-7200 Fax: 82-2-558-5934
Tel: 937-291-1654 Fax: 937-291-9175                                             Italy
                                     Shanghai
Detroit                                                                         Arizona Microchip Technology SRL
                                     Microchip Technology                       Centro Direzionale Colleoni
Microchip Technology Inc.            RM 406 Shanghai Golden Bridge Bldg.        Palazzo Taurus 1 V. Le Colleoni 1
42705 Grand River, Suite 201         2077 Yan'an Road West, Hong Qiao District  20041 Agrate Brianza
Novi, MI 48375-1727                  Shanghai, PRC 200335                       Milan, Italy
Tel: 248-374-1888 Fax: 248-374-2874  Tel: 86-21-6275-5700 Fax: 86 21-6275-5060  Tel: 39-39-689 9939 Fax: 39-39-6899883

Los Angeles                                                                                                                          7/7/98

Microchip Technology Inc.                                                               Microchip received ISO 9001 Quality
18201 Von Karman, Suite 1090                                                            System certification for its worldwide
Irvine, CA 92612                                                                        headquarters, design, and wafer
Tel: 714-263-1888 Fax: 714-263-1338                                                     fabrication facilities in January, 1997.
                                                                                        Our field-programmable PICmicroTM
New York                                                                                8-bit MCUs, Serial EEPROMs,
                                                                                        related specialty memory products
Microchip Technology Inc.                                                               and development systems conform
150 Motor Parkway, Suite 202                                                            to the stringent quality standards of
Hauppauge, NY 11788                                                                     the International Standard
Tel: 516-273-5305 Fax: 516-273-5335                                                     Organization (ISO).

San Jose

Microchip Technology Inc.
2107 North First Street, Suite 590
San Jose, CA 95131
Tel: 408-436-7950 Fax: 408-436-7955

All rights reserved. 8/31/98, Microchip Technology Incorporated, USA. Monday, August 31, 1998  Printed on recycled paper.

Information contained in this publication regarding device applications and the like is intended for suggestion only and may be superseded by updates. No representation or warranty is given and no liability is assumed
by Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights arising from such use or otherwise. Use of Microchip's products
as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property rights. The Microchip
logo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other trademarks mentioned herein are the property of their respective companies.

DS40172B-page 92                                                                                  1998 Microchip Technology Inc.
This datasheet has been downloaded from:
             www.EEworld.com.cn

                 Free Download
           Daily Updated Database
      100% Free Datasheet Search Site
  100% Free IC Replacement Search Site
     Convenient Electronic Dictionary

               Fast Search System
             www.EEworld.com.cn

                                                 All Datasheets Cannot Be Modified Without Permission
                                                                Copyright Each Manufacturing Company

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 大学堂 TI培训 Datasheet 电子工程

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved