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

型号

产品描述

搜索
 

PIC16F506T-E/SNQTP

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

器件描述

8-BIT, FLASH, 20 MHz, RISC MICROCONTROLLER, PDSO14

8位, FLASH, 20 MHz, 精简指令集微控制器, PDSO14

参数

PIC16F506T-E/SNQTP功能数量 1
PIC16F506T-E/SNQTP端子数量 14
PIC16F506T-E/SNQTP最大工作温度 85 Cel
PIC16F506T-E/SNQTP最小工作温度 -40 Cel
PIC16F506T-E/SNQTP最大供电/工作电压 5.5 V
PIC16F506T-E/SNQTP最小供电/工作电压 4.5 V
PIC16F506T-E/SNQTP额定供电电压 5 V
PIC16F506T-E/SNQTP外部数据总线宽度 0.0
PIC16F506T-E/SNQTP输入输出总线数量 12
PIC16F506T-E/SNQTP线速度 20 MHz
PIC16F506T-E/SNQTP加工封装描述 4.40 MM, 铅 FREE, 塑料, TSSOP-14
PIC16F506T-E/SNQTP无铅 Yes
PIC16F506T-E/SNQTP欧盟RoHS规范 Yes
PIC16F506T-E/SNQTP中国RoHS规范 Yes
PIC16F506T-E/SNQTP状态 ACTIVE
PIC16F506T-E/SNQTP工艺 CMOS
PIC16F506T-E/SNQTP包装形状 矩形的
PIC16F506T-E/SNQTP包装尺寸 SMALL OUTLINE, THIN PROFILE, SHRINK PITCH
PIC16F506T-E/SNQTP表面贴装 Yes
PIC16F506T-E/SNQTP端子形式 GULL WING
PIC16F506T-E/SNQTP端子间距 0.6500 mm
PIC16F506T-E/SNQTP端子涂层 MATTE 锡
PIC16F506T-E/SNQTP端子位置
PIC16F506T-E/SNQTP包装材料 塑料/环氧树脂
PIC16F506T-E/SNQTP温度等级 INDUSTRIAL
PIC16F506T-E/SNQTPADC通道 Yes
PIC16F506T-E/SNQTP地址总线宽度 0.0
PIC16F506T-E/SNQTP位数 8
PIC16F506T-E/SNQTP最大FCLK时钟频率 20 MHz
PIC16F506T-E/SNQTP微处理器类型 精简指令集微控制器
PIC16F506T-E/SNQTPROM编程 FLASH

文档预览

PIC16F506T-E/SNQTP器件文档内容

           PIC12F510/16F506
                      Data Sheet

8/14-Pin, 8-Bit Flash Microcontroller

*8-bit, 8-pin Devices Protected by Microchip's Low Pin Count Patent: U.S. Patent No. 5,847,450. Additional U.S. and
foreign patents and applications may be issued or pending.

2007 Microchip Technology Inc.  Preliminary  DS41268C
Note the following details of the code protection feature on Microchip devices:
Microchip products meet the specification contained in their particular Microchip Data Sheet.

Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
      intended manner and under normal conditions.

There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
      knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip's Data
      Sheets. Most likely, the person doing so is engaged in theft of intellectual property.

Microchip is willing to work with the customer who is concerned about the integrity of their code.

Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
      mean that we are guaranteeing the product as "unbreakable."

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip's code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

Information contained in this publication regarding device         Trademarks
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to     The Microchip name and logo, the Microchip logo, Accuron,
ensure that your application meets with your specifications.       dsPIC, KEELOQ, KEELOQ logo, microID, MPLAB, PIC,
MICROCHIP MAKES NO REPRESENTATIONS OR                              PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC, and
WARRANTIES OF ANY KIND WHETHER EXPRESS OR                          SmartShunt are registered trademarks of Microchip
IMPLIED, WRITTEN OR ORAL, STATUTORY OR                             Technology Incorporated in the U.S.A. and other countries.
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,                        AmpLab, FilterLab, Linear Active Thermistor, Migratable
QUALITY, PERFORMANCE, MERCHANTABILITY OR                           Memory, MXDEV, MXLAB, PS logo, SEEVAL, SmartSensor
FITNESS FOR PURPOSE. Microchip disclaims all liability             and The Embedded Control Solutions Company are
arising from this information and its use. Use of Microchip        registered trademarks of Microchip Technology Incorporated
devices in life support and/or safety applications is entirely at  in the U.S.A.
the buyer's risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims,          Analog-for-the-Digital Age, Application Maestro, CodeGuard,
suits, or expenses resulting from such use. No licenses are        dsPICDEM, dsPICDEM.net, dsPICworks, ECAN,
conveyed, implicitly or otherwise, under any Microchip             ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
intellectual property rights.                                      In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi,
                                                                   MPASM, MPLAB Certified logo, MPLIB, MPLINK, PICkit,
                                                                   PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal,
                                                                   PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB,
                                                                   rfPICDEM, Select Mode, Smart Serial, SmartTel, Total
                                                                   Endurance, UNI/O, WiperLock and ZENA are trademarks of
                                                                   Microchip Technology Incorporated in the U.S.A. and other
                                                                   countries.

                                                                   SQTP is a service mark of Microchip Technology Incorporated
                                                                   in the U.S.A.

                                                                   All other trademarks mentioned herein are property of their
                                                                   respective companies.

                                                                   2007, Microchip Technology Incorporated, Printed in the
                                                                   U.S.A., All Rights Reserved.

                                                                        Printed on recycled paper.

                                                                   Microchip received ISO/TS-16949:2002 certification for its worldwide
                                                                   headquarters, design and wafer fabrication facilities in Chandler and
                                                                   Tempe, Arizona, Gresham, Oregon and Mountain View, California. The
                                                                   Company's quality system processes and procedures are for its PIC
                                                                   MCUs and dsPIC DSCs, KEELOQ code hopping devices, Serial
                                                                   EEPROMs, microperipherals, nonvolatile memory and analog
                                                                   products. In addition, Microchip's quality system for the design and
                                                                   manufacture of development systems is ISO 9001:2000 certified.

DS41268C-page ii  Preliminary                                       2007 Microchip Technology Inc.
     PIC12F510/16F506

8/14-Pin, 8-Bit Flash Microcontroller

Devices Included In This Data Sheet:                     Selectable oscillator options:
                                                           - INTOSC: 4/8 MHz precision Internal
PIC16F506                                                   oscillator
PIC12F510                                                - EXTRC: External low-cost RC oscillator
                                                           - XT: Standard crystal/resonator
High-Performance RISC CPU:                                 - LP: Power-saving, low-frequency crystal
                                                           - HS: High-speed crystal/resonator
Only 33 single-word instructions to learn                   (PIC16F506 only)
All single-cycle instructions except for program         - EC: High-speed external clock input
                                                              (PIC16F506 only)
   branches, which are two-cycle
12-bit wide instructions                               Analog-to-Digital (A/D) Converter:
2-level deep hardware stack                              - 8-bit resolution
Direct, Indirect and Relative Addressing modes           - 4-input channels (1 channel is dedicated to
                                                              conversion of the internal 0.6V absolute
   for data and instructions                                  voltage reference)
8-bit wide data path
10 Special Function Hardware registers                High current sink/source for direct LED drive
                                                         8-bit real-time clock/counter (TMR0) with 8-bit
   (PIC12F510)
13 Special Function Hardware registers                   programmable prescaler

   (PIC16F506)                                          Low-Power Features/CMOS Technology:
Operating speed:
                                                         Operating Current:
   - DC 8 MHz Crystal Oscillator (PIC12F510)             - < 170 A @ 2V, 4 MHz
   - DC 500 ns instruction cycle (PIC12F510)
   - DC 20 MHz Crystal Oscillator (PIC16F506)          Standby Current:
   - DC 200 ns instruction cycle (PIC16F506)             - 100 nA @ 2V, typical

Special Microcontroller Features:                        Low-power, high-speed Flash technology:
                                                           - 100,000 cycle Flash endurance
4 or 8 MHz selectable precision internal oscillator:     - > 40-year retention
   - Factory calibrated to 1%
                                                         Fully static design
In-Circuit Serial ProgrammingTM (ICSPTM)               Wide operating voltage range: 2.0V to 5.5V
In-Circuit Debugging (ICD) support                     Wide temperature range:
Power-on Reset (POR)
Device Reset Timer (DRT):                                - Industrial: -40C to +85C
                                                           - Extended: -40C to +125C
   - Short DRT (1.125 ms, typical) for INTOSC,
      EXTRC and EC                                      Peripheral Features (PIC12F510):

   - DRT (18 ms, typical) for HS, XT and LP             6 I/O pins:
Watchdog Timer (WDT) with dedicated on-chip              - 5 I/O pins with individual direction control
                                                           - 1 input only pin
   RC oscillator for reliable operation
Programmable code protection                           1 Analog Comparator with absolute reference
Multiplexed MCLR input pin
Selectable internal weak pull-ups on I/O pins         Peripheral Features (PIC16F506):
Power-Saving Sleep mode
Wake-up from Sleep on pin change                      12 I/O pins:
Wake-up from Sleep on comparator change                  - 11 I/O pins with individual direction control
                                                           - 1 input only pin

                                                         2 Analog Comparators with absolute reference
                                                           and programmable reference

2007 Microchip Technology Inc.  Preliminary           DS41268C-page 1
PIC12F510/16F506

            Device    Program Memory                           Data Memory                            Timers
                                                                                                 I/O   8-bit
PIC16F506               Flash (words)
PIC12F510                      1024                            SRAM (bytes)                               1
                               1024                                                                       1
                                                                     67                 12

                                                                     38                 6

Pin Diagrams

PDIP, SOIC and TSSOP

                      VDD                     1                14        VSS

                      RB5/OSC1/CLKIN          2                13        RB0/AN0/C1IN+/ICSPDAT

                      RB4/OSC2/CLKOUT         3     PIC16F506  12        RB1/AN1/C1IN-/ICSPCLK

                      RB3/MCLR/VPP            4                11        RB2/AN2/C1OUT

                      RC5/T0CKI               5                10        RC0/C2IN+

                      RC4/C2OUT               6                   9      RC1/C2IN-

                      RC3                     7                   8      RC2/CVREF

PDIP, SOIC, MSOP

                      VDD                     1     PIC12F510     8      VSS

                      GP5/OSC1/CLKIN          2                   7      GP0/AN0/C1IN+/ICSPDAT

                      GP4/OSC2                3                   6      GP1/AN1/C1IN-/ICSPCLK

                      GP3/MCLR/VPP            4                   5      GP2/AN2/T0CKI/C1OUT

DFN

                                         VDD     1             8         VSS
                      GP5/OSC1/CLKIN                                     GP0/AN0/C1IN+/ICSPDAT
                                                 2  PIC12F510  7         GP1/AN1/C1IN-/ICSPCLK
                               GP4/OSC2                                  GP2/AN2/T0CKI/C1OUTI
                         GP3/MCLR/VPP            3             6

                                                 4             5

DS41268C-page 2                               Preliminary                               2007 Microchip Technology Inc.
                                      PIC12F510/16F506

Table of Contents

1.0 General Description...................................................................................................................................................................... 5
2.0 PIC12F510/16F506 Device Varieties .......................................................................................................................................... 7
3.0 Architectural Overview ................................................................................................................................................................. 9
4.0 Memory Organization ................................................................................................................................................................. 15
5.0 I/O Port ....................................................................................................................................................................................... 27
6.0 TMR0 Module and TMR0 Register............................................................................................................................................. 39
7.0 Comparator(s) ............................................................................................................................................................................ 43
8.0 Comparator Voltage Reference Module (PIC16F506 only)........................................................................................................ 49
9.0 Analog-to-Digital (A/D) Converter............................................................................................................................................... 51
10.0 Special Features Of The CPU.................................................................................................................................................... 55
11.0 Instruction Set Summary ............................................................................................................................................................ 71
12.0 Development Support................................................................................................................................................................. 79
13.0 Electrical Characteristics ............................................................................................................................................................ 83
14.0 DC and AC Characteristics Graphs and Charts ......................................................................................................................... 97
15.0 Packaging................................................................................................................................................................................... 99
Index .................................................................................................................................................................................................. 109
The Microchip Web Site ..................................................................................................................................................................... 111
Customer Change Notification Service .............................................................................................................................................. 111
Customer Support .............................................................................................................................................................................. 111
Reader Response .............................................................................................................................................................................. 112
Product Identification System ............................................................................................................................................................ 113

                                    TO OUR VALUED CUSTOMERS

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

Most Current Data Sheet

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

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

Errata

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

Customer Notification System

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

2007 Microchip Technology Inc.  Preliminary  DS41268C-page 3
PIC12F510/16F506

NOTES:

DS41268C-page 4   Preliminary   2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

1.0 GENERAL DESCRIPTION                                    1.1 Applications

The PIC12F510/16F506 devices from Microchip                The PIC12F510/16F506 devices fit in applications
Technology are low-cost, high-performance, 8-bit, fully-   ranging from personal care appliances and security
static, Flash-based CMOS microcontrollers. They            systems to low-power remote transmitters/receivers.
employ a RISC architecture with only 33 single-word/       The Flash technology makes customizing application
single-cycle instructions. All instructions are single-    programs (transmitter codes, appliance settings,
cycle except for program branches, which take two          receiver frequencies, etc.) extremely fast and conve-
cycles. The PIC12F510/16F506 devices deliver               nient. The small footprint packages, for through hole or
performance in an order of magnitude higher than their     surface mounting, make these microcontrollers perfect
competitors in the same price category. The 12-bit wide    for applications with space limitations. Low-cost, low-
instructions are highly symmetrical, resulting in a        power, high-performance, ease-of-use and I/O flexibil-
typical 2:1 code compression over other 8-bit              ity make the PIC12F510/16F506 devices very versa-
microcontrollers in its class. The easy-to-use and easy-   tile, even in areas where no microcontroller use has
to-remember instruction set reduces development time       been considered before (e.g., timer functions, logic and
significantly.                                             PLDs in larger systems and coprocessor applications).

The PIC12F510/16F506 products are equipped with
special features that reduce system cost and power
requirements. The Power-on Reset (POR) and Device
Reset Timer (DRT) eliminate the need for external
Reset circuitry. There are four oscillator configurations
to choose from (six on the PIC16F506), including
INTOSC 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 PIC12F510/16F506 devices allow the customer to
take full advantage of Microchip's price leadership in
Flash programmable microcontrollers, while benefiting
from the Flash programmable flexibility.

The PIC12F510/16F506 products are supported by a
full-featured macro assembler, a software simulator, an
in-circuit emulator, a `C' compiler, a low-cost
development programmer and a full featured program-
mer. All the tools are supported on IBM PC and
compatible machines.

TABLE 1-1: PIC12F510/16F506 DEVICES

                                                            PIC16F506           PIC12F510

Clock        Maximum Frequency of Operation (MHz)           20                  8

Memory       Flash Program Memory                           1024                1024

             Data Memory (bytes)                            67                  38

Peripherals  Timer Module(s)                                TMR0                TMR0

             Wake-up from Sleep on Pin Change               Yes                 Yes

Features     I/O Pins                                       11                  5

             Input Only Pin                                 1                   1

             Internal Pull-ups                              Yes                 Yes

             In-Circuit Serial Programming                  Yes                 Yes

             Number of Instructions                         33                  33

             Packages                                       14-pin PDIP, SOIC,  8-pin PDIP, SOIC, MSOP
                                                                   TSSOP

The PIC12F510/16F506 devices have Power-on Reset, selectable Watchdog Timer, selectable code-protect, high I/O current
capability and precision internal oscillator.
The PIC12F510/16F506 device uses serial programming with data pin RB0/GP0 and clock pin RB1/GP1.

2007 Microchip Technology Inc.               Preliminary                      DS41268C-page 5
PIC12F510/16F506

NOTES:

DS41268C-page 6   Preliminary   2007 Microchip Technology Inc.
2.0 PIC12F510/16F506 DEVICE                                  PIC12F510/16F506
         VARIETIES
                                                          2.2 Serialized Quick Turn
A variety of packaging options are available. Depend-              ProgrammingSM (SQTPSM) Devices
ing on application and production requirements, the
proper device option can be selected using the            Microchip offers a unique programming service, where
information in this section. When placing orders, please  a few user-defined locations in each device are
use the PIC12F510/16F506 Product Identification           programmed with different serial numbers. The serial
System at the back of this data sheet to specify the      numbers may be random, pseudo-random or
correct part number.                                      sequential.
                                                          Serial programming allows each device to have a
2.1 Quick Turn Programming (QTP)                          unique number, which can serve as an entry code,
         Devices                                          password or ID number.

Microchip offers a QTP programming service for
factory production orders. This service is made
available for users who choose not to program
medium-to-high quantity units and whose code
patterns have stabilized. The devices are identical to
the Flash devices, but with all Flash locations and fuse
options already programmed by the factory. Certain
code and prototype verification procedures do apply
before production shipments are available. Please
contact your local Microchip Technology sales office for
more details.

2007 Microchip Technology Inc.  Preliminary             DS41268C-page 7
PIC12F510/16F506

NOTES:

DS41268C-page 8   Preliminary   2007 Microchip Technology Inc.
3.0 ARCHITECTURAL OVERVIEW                                    PIC12F510/16F506

The high performance of the PIC12F510/16F506               The ALU is 8 bits wide and capable of addition, subtrac-
devices can be attributed to a number of architectural     tion, shift and logical operations. Unless otherwise
features commonly found in RISC microprocessors.           mentioned, arithmetic operations are two's comple-
The PIC12F510/16F506 devices use a Harvard archi-          ment in nature. In two-operand instructions, one
tecture in which program and data are accessed on          operand is typically the W (working) register. The other
separate buses. This improves bandwidth over tradi-        operand is either a file register or an immediate
tional von Neumann architectures where program and         constant. In single-operand instructions, the operand is
data are fetched on the same bus. Separating program       either the W register or a file register.
and data memory further allows instructions to be sized
differently than the 8-bit wide data word. Instruction     The W register is an 8-bit working register used for ALU
opcodes are 12 bits wide, making it possible to have all   operations. It is not an addressable register.
single-word instructions. A 12-bit wide program mem-
ory access bus fetches a 12-bit instruction in a single    Depending on the instruction executed, the ALU may
cycle. A two-stage pipeline overlaps fetch and execu-      affect the values of the Carry (C), Digit Carry (DC) and
tion of instructions. Consequently, all instructions (33)  Zero (Z) bits in the STATUS register. The C and DC bits
execute in a single cycle (200 ns @ 20 MHz, 1 s @          operate as a borrow and digit borrow out bit, respec-
4 MHz) except for program branches.                        tively, in subtraction. See the SUBWF and ADDWF
                                                           instructions for examples.
Table 3-1 lists program memory (Flash) and data
memory (RAM) for the PIC12F510/16F506 devices.             A simplified block diagram is shown in Figure 3-1 for
                                                           PIC12F510 with the corresponding device pins
                                                           described in Table 3-2. A simplified block diagram for
                                                           PIC16F506 is shown in Figure 3-2 with the
                                                           corresponding device pins described in Table 3-3.

TABLE 3-1: PIC12F510/16F506 MEMORY

                                  Memory

Device

           Program                        Data

PIC12F510  1024 x 12                      38 x 8
PIC16F506  1024 x 12                      67 x 8

The PIC12F510/16F506 devices can directly or indi-
rectly address its register files and data memory. All
Special Function Registers (SFR), including the PC,
are mapped in the data memory. The PIC12F510/
16F506 devices have a highly orthogonal (symmetri-
cal) instruction set that makes it possible to carry out
any operation, on any register, using any addressing
mode. This symmetrical nature and lack of "special
optimal situations" make programming with the
PIC12F510/16F506 devices simple, yet efficient. In
addition, the learning curve is reduced significantly.

The PIC12F510/16F506 devices contain an 8-bit ALU
and working register. The ALU is a general purpose
arithmetic unit. It performs arithmetic and Boolean
functions between data in the working register and any
register file.

2007 Microchip Technology Inc.                  Preliminary  DS41268C-page 9
PIC12F510/16F506

FIGURE 3-1:           PIC12F510 SERIES BLOCK DIAGRAM

                                       10-11                       Data Bus        8                  GPIO
                                               Program Counter
                         Flash
                      1K x 12                                                                                     GP0/ICSPDAT
                                                                                                                  GP1/ICSPCLK
                      Program                STACK 1                  RAM                                         GP2
                      Memory                 STACK 2                                                              GP3
                                                                   38 bytes                                       GP4
                                                                      File                                        GP5

             Program                                               Registers
                Bus
                      12                                        RAM Addr      9

                      Instruction Reg                              Addr MUX

                                       Direct Addr 5                             Indirect
                                                                          5-7 Addr

                                                                          FSR Reg

                                                                                          STATUS Reg
                                       8

                                                                3             MUX

OSC1/CLKIN            Instruction      Device Reset                      ALU                          Comparator  C1IN+
         OSC2         Decode &              Timer               8                                          CVREF  C1IN-
                                                                                                                  C1OUT
                        Control          Power-on                      W Reg                           8-bit ADC
                                            Reset                                                                 AN0
                        Timing                                                                                    AN1
                      Generation         Watchdog                                                                 AN2
                                            Timer

                                        Internal RC
                                            Clock

                                       MCLR  VDD, VSS                     Timer0
                                                                   T0CKI

DS41268C-page 10                             Preliminary                                              2007 Microchip Technology Inc.
                                                          PIC12F510/16F506

TABLE 3-2: PIN DESCRIPTIONS PIC12F510

     Name            I/O/P Type Input Type     Output     Description
                                                Type

GP0/AN0/C1IN+/ICSPDAT GP0                TTL   CMOS Bidirectional I/O port. Can be software pro-

                                                          grammed for internal weak pull-up and wake-up

                                                          from Sleep on pin change.

                                  AN0    AN    -- ADC channel input.

                                  C1IN+  AN    -- Comparator input.

                     ICSPDAT             ST    CMOS In-Circuit Serial Programming data pin.

GP1/AN1/C1IN-/ICSPCLK GP1                TTL   CMOS Bidirectional I/O port. Can be software pro-

                                                          grammed for internal weak pull-up and wake-up

                                                          from Sleep on pin change.

                                  AN1    AN    -- ADC channel input.

                                  C1IN-  AN    -- Comparator input.

                     ICSPCLK             ST    -- In-Circuit Serial Programming clock pin.

GP2/AN2/T0CKI/C1OUT               GP2    TTL   CMOS Bidirectional I/O port.

                                  AN2    AN    -- ADC channel input.

                                  T0CKI  ST    -- Timer0 clock input.

                                  C1OUT  --    CMOS Comparator output.

GP3/MCLR/VPP                      GP3    TTL   -- Standard TTL input. Can be software pro-
                                                         grammed for internal weak pull-up and wake-up
                                                         from Sleep on pin change.

                                  MCLR   ST    -- MCLR input weak pull-up always enabled in
                                                         this mode.

                                  VPP    HV    -- Programming Voltage input.

GP4/OSC2                          GP4    TTL   CMOS Bidirectional I/O port.

                                  OSC2   --    XTAL XTAL oscillator output pin.

GP5/OSC1/CLKIN                    GP5    TTL   CMOS Bidirectional I/O port.

                                  OSC1   XTAL  -- XTAL oscillator input pin.

                                  CLKIN  ST    -- EXTRC Schmitt Trigger input.

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

VSS                               VSS    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, AN = Analog Voltage, HV = High Voltage

2007 Microchip Technology Inc.             Preliminary                             DS41268C-page 11
PIC12F510/16F506

FIGURE 3-2:       PIC16F506 SERIES BLOCK DIAGRAM

                                   10                        Data Bus        8                    PORTB
                                         Program Counter

                    Flash                STACK 1                RAM                                                RB0/ICSPDAT
                                         STACK 2             67 bytes                                              RB1/ICSPCLK
                  1K x 12                                                                                          RB2
                  Program                                       File                                               RB3
                  Memory                                     Registers                                             RB4
                                                                                                                   RB5

Program           10                                      RAM Addr      9
   Bus
                                                                                                  PORTC

                  Instruction Reg                            Addr MUX

                                   Direct Addr 5                           Indirect                                RC0
                                                                    5-7 Addr                                       RC1
                                                                                                                   RC2
                                                                    FSR Reg                                        RC3
                                                                                                                   RC4
                                                                                      STATUS Reg                   RC5
                                   8

                                                          3             MUX                       Comparator 1          C1IN+
                                                                                                                        C1IN-
OSC1/CLKIN        Instruction      Device Reset                    ALU                            0.6V Reference        C1OUT
OSC2/CLKOUT       Decode &              Timer             8                                       Comparator 2
                                                                                                                        C2IN+
                    Control          Power-on                    W Reg                                      CVREF       C2IN-
                                        Reset                                                          CVREF            C2OUT
                    Timing
                  Generation         Watchdog                                                                           CVREF
                                        Timer

                                    Internal RC
                                        Clock

                                   MCLR  VDD, VSS                   Timer0                        8-bit ADC             AN0
                                                             T0CKI                                                      AN1
                                                                                                                        AN2

DS41268C-page 12                                  Preliminary                                     2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

TABLE 3-3: PIN DESCRIPTIONS PIC16F506

     Name        Function Input Type           Output                  Description
                                                Type

RB0/AN0/C1IN+/ICSPDAT RB0                TTL   CMOS Bidirectional I/O port. Can be software pro-

                                                       grammed for internal weak pull-up and wake-up

                                                       from Sleep on pin change.

                                  AN0    AN    -- ADC channel input.

                                  C1IN+  AN    -- Comparator 1 input.

                 ICSPDAT                 ST    CMOS In-Circuit Serial Programming data pin.

RB1/AN1/C1IN-/ICSPCLK RB1                TTL   CMOS Bidirectional I/O port. Can be software pro-

                                                       grammed for internal weak pull-up and wake-up

                                                       from Sleep on pin change.

                                  AN1    AN    -- ADC channel input.

                                  C1IN-  AN    -- Comparator 1 input.

                 ICSPCLK                 ST    -- In-Circuit Serial Programming clock pin.

RB2/AN2/C1OUT                     RB2    TTL   CMOS Bidirectional I/O port.

                                  AN2    AN    -- ADC channel input.

                 C1OUT                   --    CMOS Comparator 1 output.

RB3/MCLR/VPP                      RB3    TTL   -- Standard TTL input. Can be software programmed
                                                        for internal weak pull-up and wake-up from Sleep
                                                        on pin change.

                                  MCLR   ST    -- MCLR input weak pull-up always enabled in this
                                                        mode.

                                  VPP    HV    -- Programming voltage input.

RB4/OSC2/CLKOUT                   RB4    TTL   CMOS Bidirectional I/O port. Can be software pro-

                                                       grammed for internal weak pull-up and wake-up

                                                       from Sleep on pin change.

                                  OSC2   --    XTAL XTAL oscillator output pin.

                 CLKOUT                  --    CMOS EXTRC/INTOSC CLKOUT pin (FOSC/4).

RB5/OSC1/CLKIN                    RB5    TTL   CMOS Bidirectional I/O port.

                                  OSC1   XTAL  -- XTAL oscillator input pin.

                                  CLKIN  ST    -- EXTRC/EC Schmitt Trigger input.

RC0/C2IN+                         RC0    TTL   CMOS Bidirectional I/O port.

                                  C2IN+  AN    -- Comparator 2 input.

RC1/C2IN-                         RC1    TTL   CMOS Bidirectional I/O port.

                                  C2IN-  AN    -- Comparator 2 input.

RC2/CVREF                         RC2    TTL   CMOS Bidirectional I/O port.

                                  CVREF  --    AN Programmable Voltage Reference output.

RC3                               RC3    TTL   CMOS Bidirectional I/O port.

RC4/C2OUT                         RC4    TTL   CMOS Bidirectional I/O port.

                 C2OUT                   --    CMOS Comparator 2 output.

RC5/T0CKI                         RC5    TTL   CMOS Bidirectional I/O port.

                                  T0CKI  ST    -- Timer0 clock input.

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

VSS                               VSS    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, AN = Analog Voltage, HV = High Voltage

2007 Microchip Technology Inc.               Preliminary                          DS41268C-page 13
PIC12F510/16F506

3.1 Clocking Scheme/Instruction                         3.2 Instruction Flow/Pipelining
         Cycle
                                                        An instruction cycle consists of four Q cycles (Q1, Q2,
The clock input (OSC1/CLKIN pin) is internally divided  Q3 and Q4). The instruction fetch and execute are
by four to generate four non-overlapping quadrature     pipelined such that fetch takes one instruction cycle,
clocks, namely Q1, Q2, Q3 and Q4. Internally, the PC    while decode and execute take another instruction
is incremented every Q1 and the instruction is fetched  cycle. However, due to the pipelining, each instruction
from program memory and latched into the instruction    effectively executes in one cycle. If an instruction
register in Q4. It is decoded and executed during the   causes the PC to change (e.g., GOTO), then two cycles
following Q1 through Q4. The clocks and instruction     are required to complete the instruction (Example 3-1).
execution flow is shown in Figure 3-3 and Example 3-1.
                                                        A fetch cycle begins with the 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-3:          CLOCK/INSTRUCTION CYCLE

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

             OSC1                                                                                        Internal
                 Q1                                                                                      Phase
                 Q2
                 Q3                                                                                      Clock
                 Q4
                 PC                  PC                         PC + 1                     PC + 2

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

EXAMPLE 3-1: INSTRUCTION PIPELINE FLOW

1. MOVLW 03H             Fetch 1  Execute 1
2. MOVWF PORTB                     Fetch 2
3. CALL SUB_1                                           Execute 2
4. BSF PORTB, 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.

DS41268C-page 14                                Preliminary                        2007 Microchip Technology Inc.
                                                       PIC12F510/16F506

4.0 MEMORY ORGANIZATION                                FIGURE 4-1:  PROGRAM MEMORY MAP
                                                                    AND STACK FOR THE
The PIC12F510/16F506 memories are organized into                    PIC12F510/16F506
program memory and data memory. For devices with
more than 512 bytes of program memory, a paging        CALL, RETLW  PC<11:0>
scheme is used. Program memory pages are accessed                                    10
using STATUS register bit PA0. For the PIC12F510 and
PIC16F506, with data memory register files of more                  Stack Level 1
than 32 registers, a banking scheme is used. Data                   Stack Level 2
memory banks are accessed using the File Select
Register (FSR).                                                      Reset Vector(1)     0000h

4.1 Program Memory Organization for                                 On-chip Program
         the PIC12F510/16F506                                             Memory

The PIC12F510/16F506 devices have a 10-bit             User Memory       512 Word        01FFh
Program Counter (PC) capable of addressing a 2K x 12      Space                          0200h
program memory space.                                               On-chip Program
                                                                          Memory         03FFh
Only the first 1K x 12 (0000h-03FFh) are physically                                      0400h
implemented (see Figure 4-1). Accessing a location                      1024 Word
above these boundaries will cause a wraparound
within the 1K x 12 space. The effective Reset vector
is a 0000h (see Figure 4-1). Location 03FFh contains
the internal clock oscillator calibration value. This
value should never be overwritten.

                                                                                         7FFh

                                                       Note 1:      Address 0000h becomes the effective
                                                                    Reset vector. Location 03FFh contains
                                                                    the MOVLW XX internal oscillator
                                                                    calibration value.

2007 Microchip Technology Inc.  Preliminary                                         DS41268C-page 15
PIC12F510/16F506

4.2 Data Memory Organization                                  FIGURE 4-2:                            PIC12F510 REGISTER
                                                                                                     FILE MAP
Data memory is composed of registers or bytes of                   FSR<5>
RAM. Therefore, data memory for a device is specified            File Address                        0       1
by its register file. The register file is divided into two
functional groups: Special Function Registers (SFR)                          00h        INDF(1)         20h
and General Purpose Registers (GPR).                                         01h         TMR0
                                                                             02h          PCL           Addresses
The Special Function Registers include the TMR0                              03h       STATUS           map back to
register, the Program Counter (PCL), the STATUS                              04h          FSR           addresses in
register, the I/O registers (ports) and the File Select                      05h       OSCCAL           Bank 0.
Register (FSR). In addition, Special Function Registers                      06h         GPIO
are used to control the I/O port configuration and                           07h      CM1CON0           2Fh
prescaler options.                                                           08h       ADCON0           30h
                                                                            09h         ADRES
The General Purpose Registers are used for data and                         0Ah       General                General
control information under command of the instructions.                      0Fh       Purpose                Purpose
                                                                             10h      Registers              Registers
For the PIC12F510, the register file is composed of 10
Special Function Registers, 6 General Purpose                                         General
Registers and 32 General Purpose Registers accessed                                   Purpose
by banking (see Figure 4-2).                                                          Registers

For the PIC16F506, the register file is composed of 13
Special Function Registers, 3 General Purpose
Registers and 64 General Purpose Registers accessed
by banking (see Figure 4-3).

4.2.1  GENERAL PURPOSE REGISTER
       FILE

The General Purpose Register file is accessed either                             1Fh                    3Fh
directly or indirectly through the File Select Register
(FSR). See Section 4.8 "Indirect Data Addressing:                                     Bank 0                 Bank 1
INDF and FSR Registers".
                                                              Note 1: Not a physical register.

FIGURE 4-3:       PIC16F506 REGISTER FILE MAP

        FSR<6:5>             00                         01               10                      11
       File Address                         20h               40h                     60h
                          INDF(1)
                     00h  TMR0
                            PCL
                     01h
                     02h

                  03h     STATUS

                  04h     FSR

                  05h     OSCCAL                              Addresses map back to
                                                              addresses in Bank 0.
                  06h     PORTB

                  07h     PORTC

                  08h     CM1CON0

                  09h     ADCON0

                  0Ah     ADRES

                  0Bh     CM2CON0

                  0Ch     VRCON

                  0Dh     General

                          Purpose

                  0Fh     Registers         2Fh                4Fh                     6Fh

                  10h     General           30h               50h General             70h General
                                                  General            Purpose                Purpose
                          Purpose                 Purpose            Registers              Registers
                                                  Registers
                          Registers                           5Fh                     7Fh
                                            3Fh                          Bank 2                Bank 3
                  1Fh                                 Bank 1
                                    Bank 0

Note 1: Not a physical register.

DS41268C-page 16                            Preliminary                                              2007 Microchip Technology Inc.
                                                                 PIC12F510/16F506

4.2.2 SPECIAL FUNCTION REGISTERS

The Special Function Registers (SFRs) are registers
used by the CPU and peripheral functions to control the
operation of the device (see Table 4-1).

The Special Function Registers can be classified into
two sets. The Special Function Registers associated
with the "core" functions are described in this section.
Those related to the operation of the peripheral
features are described in the section for each
peripheral feature.

TABLE 4-1: SPECIAL FUNCTION REGISTER SUMMARY PIC12F510

Address Name     Bit 7            Bit 6  Bit 5            Bit 4  Bit 3  Bit 2           Bit 1  Bit 0  Value on
                                                                                                      Power-on

                                                                                                        Reset

N/A      TRIS    I/O Control Registers (TRISGPIO)                                                     --11 1111
N/A      OPTION  Contains control bits to configure Timer0 and Timer0/WDT Prescaler                   1111 1111
00h      INDF    Uses contents of FSR to address data memory (not a physical register)                xxxx xxxx
01h      TMR0    Timer0 Module Register                                                               xxxx xxxx
02h(1)   PCL     Low Order 8 bits of PC                                                               1111 1111

03h      STATUS  GPWUF CWUF              PA0              TO     PD     Z               DC     C      0001 1xxx

04h      FSR     Indirect Data Memory Address Pointer                                                 100x xxxx

05h      OSCCAL  CAL6             CAL5   CAL4             CAL3   CAL2   CAL1            CAL0   --     1111 111-

06h      GPIO    --               --     GP5              GP4    GP3    GP2             GP1    GP0 --xx xxxx

07h      CM1CON0 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU 1111 1111

08h      ADCON0  ANS1             ANS0 ADCS1 ADCS0 CHS1 CHS0 GO/DONE ADON 1111 1100
09h
Legend:  ADRES   ADC Conversion Result                                                                xxxx xxxx
Note 1:
         x = unknown, u = unchanged, = unimplemented, read as `0' (if applicable). Shaded cells = unimplemented or unused.
         The upper byte of the Program Counter is not directly accessible. See Section 4.6 "Program Counter" for an explanation of
         how to access these bits.

TABLE 4-2: SPECIAL FUNCTION REGISTER SUMMARY PIC16F506

Address Name     Bit 7            Bit 6  Bit 5            Bit 4  Bit 3  Bit 2           Bit 1  Bit 0  Value on
                                                                                                      Power-on

                                                                                                        Reset

N/A      TRIS    I/O Control Registers (TRISB, TRISC)                                                 --11 1111
N/A      OPTION  Contains control bits to configure Timer0 and Timer0/WDT Prescaler                   1111 1111
00h      INDF    Uses contents of FSR to address data memory (not a physical register)                xxxx xxxx
01h      TMR0    Timer0 Module Register                                                               xxxx xxxx
02h(1)   PCL     Low Order 8 bits of PC                                                               1111 1111

03h      STATUS  RBWUF CWUF              PA0              TO     PD     Z               DC     C      0001 1xxx

04h      FSR     Indirect Data Memory Address Pointer                                                 100x xxxx

05h      OSCCAL  CAL6             CAL5   CAL4             CAL3   CAL2   CAL1            CAL0   -- 1111 111-

06h      PORTB   --               --     RB5              RB4    RB3    RB2             RB1    RB0 --xx xxxx

07h      PORTC   --               --     RC5              RC4    RC3    RC2             RC1    RC0 --xx xxxx

08h      CM1CON0 C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF C1WU 1111 1111

09h      ADCON0  ANS1             ANS0   ADCS1 ADCS0             CHS1   CHS0 GO/DONE ADON 1111 1100

0Ah      ADRES   ADC Conversion Result                                                                xxxx xxxx

0Bh      CM2CON0 C2OUT C2OUTEN C2POL C2PREF2 C2ON C2NREF C2PREF1 C2WU 1111 1111

0Ch      VRCON   VREN             VROE   VRR              --     VR3    VR2             VR1    VR0 001- 1111

Legend:  x = unknown, u = unchanged, = unimplemented, read as `0' (if applicable). Shaded cells = unimplemented or unused.
Note 1:  The upper byte of the Program Counter is not directly accessible. See Section 4.6 "Program Counter" for an explanation of
         how to access these bits.

2007 Microchip Technology Inc.                Preliminary                                    DS41268C-page 17
PIC12F510/16F506

4.3 STATUS Register                                              writable. Therefore, the result of an instruction with the
                                                                 STATUS register as destination may be different than
This register contains the arithmetic status of the ALU,         intended.
the Reset status and the page preselect bit.
                                                                 For example, CLRF STATUS, will clear the upper three
The STATUS register can be the destination for any               bits and set the Z bit. This leaves the STATUS register
instruction, as with any other register. If the STATUS           as 000u u1uu (where u = unchanged).
register is the destination for an instruction that affects
the Z, DC or C bits, then the write to these three bits is       Therefore, it is recommended that only BCF, BSF and
disabled. These bits are set or cleared according to the         MOVWF instructions be used to alter the STATUS regis-
device logic. Furthermore, the TO and PD bits are not            ter. These instructions do not affect the Z, DC or C bits
                                                                 from the STATUS register. For other instructions which
                                                                 do affect Status bits, see Section 11.0 "Instruction
                                                                 Set Summary".

REGISTER 4-1: STATUS: STATUS REGISTER (PIC12F510)

       R/W-0       R/W-0            R/W-0          R-1           R-1                 R/W-x         R/W-x             R/W-x
                                                                                        Z           DC                  C
GPWUF              CWUF             PA0            TO            PD                                                          bit 0

bit 7

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

bit 7         GPWUF: GPIO Reset bit

              1 = Reset due to wake-up from Sleep on pin change
              0 = After power-up or other Reset

bit 6         CWUF: Comparator Reset bit

              1 = Reset due to wake-up from Sleep on comparator change

              0 = After power-up or other Reset

bit 5         PA0: Program Page Preselect bit

              1 = Page 1 (200h-3FFh)

              0 = Page 0 (000h-1FFh)

              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:

              1 = A carry occurred         1 = A borrow did not occur Load bit with LSb or MSb, respectively

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

DS41268C-page 18                                   Preliminary                               2007 Microchip Technology Inc.
                                                                              PIC12F510/16F506

REGISTER 4-2: STATUS: STATUS REGISTER (PIC16F506)

       R/W-0       R/W-0            R/W-0           R-1          R-1                 R/W-x         R/W-x        R/W-x
                                                                                        Z           DC             C
RBWUF              CWUF             PA0             TO           PD                                                     bit 0

bit 7

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

bit 7         RBWUF: PORTB Reset bit
              1 = Reset due to wake-up from Sleep on pin change
bit 6         0 = After power-up or other Reset
bit 5
              CWUF: Comparator Reset bit
bit 4         1 = Reset due to wake-up from Sleep on comparator change
bit 3         0 = After power-up or other Reset
bit 2
bit 1         PA0: Program Page Preselect bit

bit 0         1 = Page 1 (200h-3FFh)
              0 = Page 0 (000h-1FFh)
              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.

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

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

              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

              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

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

              ADDWF:                       SUBWF:                             RRF or RLF:

              1 = A carry occurred         1 = A borrow did not occur Load bit with LSb or MSb, respectively

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

2007 Microchip Technology Inc.                    Preliminary                                           DS41268C-page 19
PIC12F510/16F506

4.4 OPTION Register

The OPTION register is a 8-bit wide, write-only register,
that contains various control bits to configure the
Timer0/WDT prescaler and Timer0.

By executing the OPTION instruction, the contents of
the W register will be transferred to the OPTION
register. A Reset sets the OPTION<7:0> bits.

    Note 1: If TRIS bit is set to `0', the wake-up on
                change and pull-up functions are
                disabled for that pin (i.e., note that TRIS
                overrides Option control of GPPU/RBPU
                and GPWU/RBWU).

           2: If the T0CS bit is set to `1', it will override
                the TRIS function on the T0CKI pin.

REGISTER 4-3: OPTION_REG: OPTION REGISTER (PIC12F510)

       W-1         W-1        W-1            W-1               W-1                   W-1  W-1                 W-1

GPWU               GPPU       T0CS           T0SE              PSA                   PS2  PS1                 PS0

bit 7                                                                                                              bit 0

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

bit 7       GPWU: Enable Wake-up On Pin Change bit (GP0, GP1, GP3)
bit 6       1 = Disabled
bit 5       0 = Enabled
bit 4
bit 3       GPPU: Enable Weak Pull-ups bit (GP0, GP1, GP3)
bit 2-0     1 = Disabled
            0 = Enabled

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

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

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

            PS<2:0>: 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

DS41268C-page 20                             Preliminary                                  2007 Microchip Technology Inc.
                                                                  PIC12F510/16F506

REGISTER 4-4: OPTION_REG: OPTION REGISTER (PIC16F506)

      W-1          W-1            W-1               W-1      W-1                   W-1  W-1                 W-1

      RBWU         RBPU           T0CS              T0SE     PSA                   PS2  PS1                 PS0

bit 7                                                                                                            bit 0

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

bit 7       RBWU: Enable Wake-up On Pin Change bit (RB0, RB1, RB3, RB4)
bit 6       1 = Disabled
bit 5       0 = Enabled
bit 4
bit 3       RBPU: Enable Weak Pull-ups bit (RB0, RB1, RB3, RB4)
bit 2-0     1 = Disabled
            0 = Enabled

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

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

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

            PS<2:0>: 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

2007 Microchip Technology Inc.                    Preliminary                                  DS41268C-page 21
PIC12F510/16F506

4.5 OSCCAL Register

The Oscillator Calibration (OSCCAL) register is used to

calibrate the internal precision 4/8 MHz oscillator. It

contains seven bits for calibration.

Note:        Erasing the device will also erase the pre-
             programmed internal calibration value for
             the internal oscillator. The calibration
             value must be read prior to erasing the
             part so it can be reprogrammed correctly
             later.

After you move in the calibration constant, do not change
the value. See Section 10.2.5 "Internal 4/8 MHz RC
Oscillator".

REGISTER 4-5: OSCCAL: OSCILLATOR CALIBRATION REGISTER

      R/W-1        R/W-1  R/W-1             R/W-1          R/W-1                 R/W-1         R/W-1        U-0

     CAL6          CAL5   CAL4              CAL3           CAL2                  CAL1          CAL0         --

bit 7                                                                                                             bit 0

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

bit 7-1      CAL<6:0>: Oscillator Calibration bits
bit 0
             0111111 = Maximum frequency
            
            
            
             0000001
             0000000 = Center frequency
             1111111
            
            
            
             1000000 =Minimum frequency

             Unimplemented: Read as `0'

DS41268C-page 22                            Preliminary                                  2007 Microchip Technology Inc.
4.6 Program Counter                                         PIC12F510/16F506

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 PC is set upon a Reset, which means that the PC
increased by one every instruction cycle, unless an      addresses the last location in the last page (i.e., the
instruction changes the PC.                              oscillator calibration instruction). After executing
                                                         MOVLW XX, the PC will roll over to location 00h and
For a GOTO instruction, bits 8:0 of the PC are provided  begin executing user code.
by the GOTO instruction word. The Program Counter
(PCL) is mapped to PC<7:0>. Bit 5 of the STATUS          The STATUS register page preselect bits are cleared
register provides page information to bit 9 of the PC    upon a Reset, which means that page 0 is preselected.
(Figure 4-4).
                                                         Therefore, upon a Reset, a GOTO instruction will
For a CALL instruction, or any instruction where the     automatically cause the program to jump to page 0 until
PCL is the destination, bits 7:0 of the PC again are     the value of the page bits is altered.
provided by the instruction word. However, PC<8>
does not come from the instruction word, but is always   4.7 Stack
cleared (Figure 4-4).
                                                         The PIC12F510/16F506 devices have a 2-deep, 12-bit
Instructions where the PCL is the destination or modify  wide hardware PUSH/POP stack.
PCL instructions include MOVWF PC, ADDWF PC and
BSF PC, 5.                                               A CALL instruction will PUSH the current value of Stack
                                                         1 into Stack 2 and then PUSH the current PC value,
Note:  Because PC<8> is cleared in the CALL              incremented by one, into Stack Level 1. If more than
       instruction or any modify PCL instruction,        two sequential CALLs are executed, only the most
       all subroutine calls or computed jumps are        recent two return addresses are stored.
       limited to the first 256 locations of any
       program memory page (512 words long).             A RETLW instruction will POP the contents of Stack
                                                         Level 1 into the PC and then copy Stack Level 2
FIGURE 4-4:       LOADING OF PC                          contents into Stack Level 1. If more than two sequential
                  BRANCH INSTRUCTIONS                    RETLWs are executed, the stack will be filled with the
                                                         address previously stored in Stack Level 2.
GOTO Instruction
                                                             Note 1: The W register will be loaded with the lit-
             9 87                        0                               eral value specified in the instruction. This
                                                                         is particularly useful for the implementa-
       PC                   PCL                                          tion of data look-up tables within the
                                                                         program memory.
                       Instruction Word
                                                                    2: There are no Status bits to indicate stack
       7               PA0        0                                      overflows or stack underflow conditions.

             STATUS                                                 3: There are no instruction mnemonics
                                                                         called PUSH or POP. These are actions
                                                                         that occur from the execution of the CALL
                                                                         and RETLW instructions.

CALL or Modify PCL Instruction

             9 87                        0

       PC                   PCL

                       Instruction Word

                  Reset to `0'

       7          PA0             0

             STATUS

2007 Microchip Technology Inc.            Preliminary  DS41268C-page 23
PIC12F510/16F506

4.8 Indirect Data Addressing: INDF                                 EXAMPLE 4-1:           HOW TO CLEAR RAM
         and FSR Registers                                                                USING INDIRECT
                                                                                          ADDRESSING
The INDF register is not a physical register. Addressing
INDF actually addresses the register whose address is                           MOVLW     0x10   ;initialize pointer
contained in the FSR register (FSR is a pointer). This is                       MOVWF     FSR    ;to RAM
indirect addressing.                                               NEXT CLRF              INDF   ;clear INDF register
                                                                                INCF      FSR,F  ;inc pointer
4.8.1 INDIRECT ADDRESSING EXAMPLE                                               BTFSC     FSR,4  ;all done?
                                                                                GOTO      NEXT   ;NO, clear next
Register file 07 contains the value 10h                          CONTINUE
Register file 08 contains the value 0Ah                                                        ;YES, continue
Load the value 07 into the FSR register                                              :
A read of the INDF register will return the value                                    :

   of 10h                                                          The FSR is a 5-bit wide register. It is used in conjunc-
Increment the value of the FSR register by one                   tion with the INDF register to indirectly address the data
                                                                   memory area.
   (FSR = 08)
A read of the INDR register now will return the                  The FSR<4:0> bits are used to select data memory
                                                                   addresses 00h to 1Fh.
   value of 0Ah.
                                                                    PIC16F506 Uses FSR<6:5>. Selects from Bank 0 to
Reading INDF itself indirectly (FSR = 0) will produce               Bank 3. FSR<7> is unimplemented, read as `1'.
00h. Writing to the INDF register indirectly results in a
no operation (although Status bits may be affected).               PIC12F510 Uses FSR<5>. Selects from Bank 0 to
                                                                   Bank 1. FSR<7:6> are unimplemented, read as `11'.
A simple program to clear RAM locations 10h-1Fh
using indirect addressing is shown in Example 4-1.

FIGURE 4-5:       DIRECT/INDIRECT ADDRESSING (PIC12F510)

       Direct Addressing                                                                            Indirect Addressing
                                                                                                                 (FSR)
(FSR)                   (opcode)
                                                                                                 6 543 2 1 0
65                43 2 10

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

                  Data    0Fh

                  Memory(1) 10h

                          1Fh                                 3Fh

                                  Bank 0 Bank 1

Note 1: For register map detail, see Figure 4-2.

DS41268C-page 24                                                   Preliminary             2007 Microchip Technology Inc.
                                                         PIC12F510/16F506

FIGURE 4-6:  DIRECT/INDIRECT ADDRESSING (PIC16F506)

       Direct Addressing                                              Indirect Addressing
                                                                                 (FSR)
(FSR)            (opcode)
65          43210                                                    6 543 21 0

Bank Select  Location Select                                              Bank Location Select

                                       00   01    10     11

                                  00h                    Addresses
                                                         map back to
             Data                 0Fh                    addresses
                                                         in Bank 0.

             Memory(1) 10h

                                       1Fh  3Fh   5Fh    7Fh

                                       Bank 0 Bank 1 Bank 2 Bank 3

Note 1: For register map detail, see Figure 4-3.

2007 Microchip Technology Inc.            Preliminary               DS41268C-page 25
PIC12F510/16F506

NOTES:

DS41268C-page 26  Preliminary   2007 Microchip Technology Inc.
                                                              PIC12F510/16F506

5.0 I/O PORT                                                  5.4 I/O Interfacing

As with any other register, the I/O register(s) 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 RB3/GP3 which is
instructions (e.g., MOVF PORTB, W) always read the I/O        input only, may be used for both input and output oper-
pins independent of the pin's Input/Output modes. On          ations. For input operations, these ports are non-latch-
Reset, all I/O ports are defined as input (inputs are at      ing. Any input must be present until read by an input
high-impedance) since the I/O control registers are all       instruction (e.g., MOVF PORTB, W). The outputs are
set.                                                          latched and remain unchanged until the output latch is
                                                              rewritten. To use a port pin as output, the correspond-
Note:  On the PIC12F510, I/O PORTB is refer-                  ing direction control bit in TRIS must be cleared (= 0).
       enced as GPIO. On the PIC16F506, I/O                   For use as an input, the corresponding TRIS bit must
       PORTB is referenced as PORTB.                          be set. Any I/O pin (except RB3/GP3) can be
                                                              programmed individually as input or output.

5.1 PORTB/GPIO                                                FIGURE 5-1:     PIC12F510/16F506

PORTB/GPIO is an 8-bit I/O register. Only the low-              Data          EQUIVALENT CIRCUIT
order 6 bits are used (RB/GP<5:0>). Bits 7 and 6 are            Bus           FOR PIN DRIVE(2)
unimplemented and read as `0's. Please note that RB3/
GP3 is an input only pin. The Configuration Word can               Data       VDD VDD
set several I/O's to alternate functions. When acting as
alternate functions, the pins will read as `0' during a port       Bus
read. Pins RB0/GP0, RB1/GP1, RB3/GP3 and RB4                     Interface
(PIC16F506 only) can be configured with weak pull-up
and also for wake-up on change. The wake-up on                                P        (1)
change and weak pull-up functions are not pin select-
able. If RB3/GP3/MCLR is configured as MCLR, weak                             N             I/O
pull-up is always on and wake-up on change for this pin
is not enabled.                                               D            Q                pin

5.2 PORTC (PIC16F506 Only)                                                    VSS VSS

PORTC is an 8-bit I/O register. Only the low-order 6 bits        CK Q
are used (RC<5:0>). Bits 7 and 6 are unimplemented
and read as `0's.                                                              Reset

5.3 TRIS Registers                                            Note 1: GP3/RB3 has protection diode to VSS only.
                                                                      2: For pin specific information, see Figure 5-2
The Output Driver Control register is loaded with the                       through Figure 5-13.
contents of the W register by executing the TRIS f
instruction. A `1' from a TRIS register bit puts the corre-
sponding output driver in a High-Impedance mode. A
`0' puts the contents of the output data latch on the
selected pins, enabling the output buffer. The exception
is RB3/GP3, which are input only, and the T0CKI pin,
which may be controlled by the OPTION register. See
Register 4-3.

Note:  A read of the port reads the pins, not the
       output data latches. That is, if an output
       driver on a pin is enabled and driven high
       but the external system is holding it low, a
       read of the port will indicate that the pin is
       low.

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

2007 Microchip Technology Inc.  Preliminary                                 DS41268C-page 27
PIC12F510/16F506

FIGURE 5-2:             BLOCK DIAGRAM OF              FIGURE 5-3:        BLOCK DIAGRAM OF
                        GP0/RB0 AND GP1/RB1                              GP3/RB3 (With Weak
   GPPU                                                    GPPU          Pull-up And Wake-up On
   RBPU                                                    RBPU          Change)
                                                         MCLRE
Data
Bus       D         Q

WR           Data              I/O Pin(1)
Port
             Latch

          CK Q

                                                      Reset

W         D         Q                                                    I/O Pin(1)
Reg
             TRIS
TRIS `f'
             Latch

          CK Q

                                                      Data Bus

                 Reset                                RD Port

          ADC pin Ebl                                           Q     D
          COMP pin Ebl

          RD Port                                                 CK
                                                      Mis-match

                        Q  D

                           CK

Mis-Match                                             Note 1: GP3/MCLR pin has a protection diode to VSS
                                                                   only.
         ADC
       COMP
  Note 1: I/O pins have protection diodes to VDD and

                VSS.

DS41268C-page 28               Preliminary                               2007 Microchip Technology Inc.
                                                          PIC12F510/16F506

FIGURE 5-4:            BLOCK DIAGRAM OF GP2         FIGURE 5-5:            BLOCK DIAGRAM OF RB2

                          C1OUT 0    I/O Pin(1)                  C1OUT 0             I/O Pin(1)

Data      D         Q             1                 Data      D         Q1
Bus                                                 Bus
             Data                                                Data
WR                                                  WR
Port         Latch                                  Port         Latch

          CK Q                                                CK Q

             C1OUTEN                                             C1OUTEN

W         D         Q                               W         D         Q
Reg                                                 Reg
             TRIS                                                TRIS
TRIS `f'                                            TRIS `f'
             Latch                                               Latch

          CK Q                                                CK Q

                 Reset                                           Reset
          T0CS                                                       ADC Pin Enable

            C1T0CS

          ADC Pin Enable

                       RD Port                                             RD Port
                                  T0CKI                                               ADC

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

2007 Microchip Technology Inc.     Preliminary                                     DS41268C-page 29
PIC12F510/16F506

FIGURE 5-6:            BLOCK DIAGRAM OF RB4              FIGURE 5-7:            BLOCK DIAGRAM OF GP4

                  RBPU

                                                         Data      D         Q
                                                         Bus
                                                                      Data                             I/O
                                                         WR                                            pin(1)
Data                                                     Port         Latch

Bus                                                                CK Q

          D         Q            0

             Data

WR           Latch

Port      CK Q                                           W
                                                         Reg
                                 1              I/O
                                                pin(1)   TRIS `f'
                                                                   D         Q

                   FOSC/4                                             TRIS

W                                                                     Latch
Reg
          D         Q                                              CK Q
TRIS `f'
             TRIS

             Latch

          CK Q                                                        Reset
                                                                      INTOSC/RC

                Reset
          INTOSC/RC/EC

                  CLKOUT Enable

                                    (Note 2)                                RD Port

                                                                                     OSC1  Oscillator
                                                                                             Circuit

                   RD Port

                            OSC1    Oscillator
                                      Circuit

Note 1: I/O pins have protection diodes to VDD and VSS.  Note 1: I/O pins have protection diodes to VDD and
                                                                      VSS.
        2: Input mode is disabled when pin is used for
              oscillator.

DS41268C-page 30                                Preliminary                      2007 Microchip Technology Inc.
                                                             PIC12F510/16F506

FIGURE 5-8:            BLOCK DIAGRAM OF                FIGURE 5-9:            BLOCK DIAGRAM OF
                       RB5/GP5                                                RC0/RC1

Data      D         Q                                  Data
Bus                                                    Bus
             Data                           I/O                  D         Q
WR                                          pin(1)     WR
Port         Latch                                     Port         Data

          CK Q                                                      Latch                       I/O
                                                                                                pin(1)
                                                                 CK Q

W         D         Q                                  W
Reg                                                    Reg
             TRIS                                                D         Q
TRIS `f'                                               TRIS `f'
             Latch                                                  TRIS

          CK Q                                                      Latch

                                                                 CK Q

             Reset

                                  (Note 2)                        Reset
                                                                 Comp Pin Enable

                   RD Port

          OSC2      Oscillator                                                RD Port
                      Circuit                                                           COMP2

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

       2: Input mode is disabled when pin is used for

              oscillator.

2007 Microchip Technology Inc.            Preliminary                           DS41268C-page 31
PIC12F510/16F506

FIGURE 5-10:           BLOCK DIAGRAM OF RC2         FIGURE 5-11:           BLOCK DIAGRAM OF RC3

                                       VROE

                                                    Data                   I/O Pin(1)
                                                    Bus
                                                              D         Q
                                                    WR
                                                    Port         Data

                       CVREF 1 I/O PIN(1)                        Latch
                                    0
                                                              CK Q

Data      D         Q
Bus
             Data                                   W
WR                                                  Reg
Port         Latch                                            D         Q
                                                    TRIS `f'
          CK Q                                                   TRIS

                                                                 Latch

                                                              CK Q

W         D         Q
Reg
             TRIS                                                Reset
TRIS `f'
             Latch

          CK Q

             Reset

                       RD Port                                             RD Port
                                  COMP2
                                                    Note 1: I/O pins have protection diodes to VDD and
Note 1: I/O pins have protection diodes to VDD and               VSS.
             VSS.

DS41268C-page 32       Preliminary                                          2007 Microchip Technology Inc.
                                                          PIC12F510/16F506

FIGURE 5-12:           BLOCK DIAGRAM OF RC4         FIGURE 5-13:           BLOCK DIAGRAM OF RC5

                    C2OUT 0       I/O Pin(1)

Data                                                Data                                I/O Pin(1)
Bus                                                 Bus
          D         Q  1                                      D         Q
WR                                                  WR
Port         Data                                   Port         Data

             Latch                                               Latch

          CK Q                                                CK Q

              C2OUTEN

W         D         Q                               W         D         Q
Reg                                                 Reg
             TRIS                                                TRIS
TRIS `f'                                            TRIS `f'
             Latch                                               Latch

          CK Q                                                CK Q

                                                                           T0CS

             Reset                                               Reset

                                                                       RD Port

                       RD Port                                                   T0CKI

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

2007 Microchip Technology Inc.  Preliminary                                    DS41268C-page 33
PIC12F510/16F506

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

                                                                                          Reset                     Resets

N/A          TRISGPIO(1)     --     -- I/O Control Register                            --11 1111                 --11 1111
                                                                                                                 --11 1111
N/A          TRISB(2)        --     -- I/O Control Register                            --11 1111                 --11 1111
                                                                                                                 1111 1111
N/A          TRISC(2)        --     -- I/O Control Register                            --11 1111                 1111 1111
                                                                                                                qq0q quuu(3)
N/A          OPTION(1) GPWU GPPU T0CS TOSE PSA PS2 PS1 PS0 1111 1111                                            qq0q quuu(3)
                                                                                                                 --uu uuuu
N/A          OPTION(2) RBWU RBPU T0CS TOSE PSA PS2 PS1 PS0 1111 1111                                             --uu uuuu
                                                                                                                 --uu uuuu
03h          STATUS(1) GPWUF CWUF PA0                 TO      PD   Z      DC C 0001 1xxx

03h          STATUS(2) RBWUF CWUF PA0                 TO      PD   Z      DC C 0001 1xxx

06h          GPIO(1)         --     --         GP5 GP4 GP3 GP2 GP1 GP0 --xx xxxx

06h          PORTB(2)        --     --         RB5 RB4 RB3 RB2 RB1 RB0 --xx xxxx

07h          PORTC(2)        --     --         RC5 RC4 RC3 RC2 RC1 RC0 --xx xxxx

Legend:       = unimplemented read as `0', x = unknown, u = unchanged, q = depends on condition.
Note 1:      PIC12F510 only.
             PIC16F506 only.
         2:  If Reset was due to wake-up on pin change, then bit 7 = 1. All other Resets will cause bit 7 = 0.
         3:

TABLE 5-2: I/O PIN FUNCTION ORDER OF PRECEDENCE (PIC16F506)

Priority               RB0          RB1               RB2          RB3        RB4                                    RB5
                                                                                                                OSC1/CLKIN
     1       AN0/C1IN+              AN1/C1IN-         C1OUT       Input/MCLR OSC2/CLKOUT
                                                                                                                    TRISB
     2                TRISB         TRISB             AN2          --         TRISB                                    --

     3                 --           --                TRISB        --         --

TABLE 5-3:            I/O PIN FUNCTION ORDER OF PRECEDENCE (PIC16F506)
  Priority
       1               RC0          RC1               RC2          RC3                 RC4                       RC5
       2                                                                                                        T0CKI
                      C2IN+         C2IN-             CVREF        TRISC      C2OUT                             TRISC
                      TRISC         TRISC             TRISC           --      TRISC

TABLE 5-4: I/O PIN FUNCTION ORDER OF PRECEDENCE (PIC12F510)

Priority               GP0          GP1               GP2          GP3        GP4                                    GP5
                                                                                                                OSC1/CLKIN
     1       AN0/C1IN+              AN1/C1IN-         C1OUT       Input/MCLR  OSC2
                                                                                                                   TRISIO
     2       TRISIO                 TRISIO            AN2          --         TRISIO                                   --
                                                                                                                       --
     3                 --           --                T0CKI        --         --

     4                 --           --                TRISIO       --         --

DS41268C-page 34                                      Preliminary             2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

TABLE 5-5: REQUIREMENTS FOR DIGITAL PIN OPERATION (PIC12F510)

          GP0                     GP0  GP1  GP1  GP2        GP2  GP3  GP4  GP5

CM1CON0

C1ON      0                       1    0    1            0  1    --   --   --

C1PREF    --                      0    --   1    --         --   --   --   --

C1NREF    --                      --   --   0    --         --   --   --   --

C1T0CS    --                      --   --   --   --         1    --   --   --

C1OUTEN   --                      --   --   --   --         1    --   --   --

CM2CON0

C2ON      --                      --   --   --   --         --   --   --   --

C2PREF1   --                      --   --   --   --         --   --   --   --

C2PREF2   --                      --   --   --   --         --   --   --   --

C2NREF    --                      --   --   --   --         --   --   --   --

C2OUTEN   --                      --   --   --   --         --   --   --   --

VRCON0

VROE      --                      --   --   --   --         --   --   --   --

VREN      --                      --   --   --   --         --   --   --   --

OPTION

T0CS      --                      --   --   --   --         0    --   --   --

ADCON0

ANS<1:0>  00, 01 00, 01 00, 01, 10 00, 01, 10 00            00   --   --   --

CONFIG

MCLRE     --                      --   --   --   --         --   --   --   --

INTOSC    --                      --   --   --   --         --   --   --   --

LP        --                      --   --   --   --         --   -- Disabled Disabled

EXTRC     --                      --   --   --   --         --   --   -- Disabled

XT        --                      --   --   --   --         --   -- Disabled Disabled

Note 1: Multiple column entries for a pin demonstrate the different permutations to arrive at digital functionality for
              the pin.

        2: Shaded cells indicate the bit status does not affect the pins digital functionality.

2007 Microchip Technology Inc.            Preliminary               DS41268C-page 35
PIC12F510/16F506

TABLE 5-6: REQUIREMENTS FOR DIGITAL PIN OPERATION (PIC16F506 PORTB)(1), (2)

                  RB0 RB0 RB0  RB1  RB1 RB2 RB2 RB3 RB4 RB5

CM1CON0           --  0   1    0            1      0   1                                       --  --  --
C1ON
C1PREF            --  --  0    --       --         ------                                          --  --
C1NREF
                  --  --  --   --           0      ------                                          --  --

C1T0CS            --  --  --   --       --         ------                                          --  --

C1OUTEN           --  --  --   --       --         --  1                                       --  --  --
CM2CON0
C2ON              1   --  --   --       --         ------                                          --  --
C2PREF1
C2PREF2           0   --  --   --       --         ------                                          --  --
C2NREF
                  1   --  --   --       --         ------                                          --  --

                  --  --  --   --       --         ------                                          --  --

C2OUTEN           --  --  --   --       --         ------                                          --  --

OPTION

T0CS              --  --  --   --       --         ------                                          --  --

ADCON0

ANS<1:0>          00, 01 00, 01 00, 01 00, 01, 10 00, 01, 10 00 00 --                              --  --

CONFIG

MCLRE             --  --  --   --       --         ----                                        0   --  --

INTOSC            --  --  --   --       --         ------                                          --  --

LP                --  --  --   --       --         -- -- -- Disabled Disabled

EXTRC             --  --  --   --       --         ------                                          -- Disabled

XT                --  --  --   --       --         -- -- -- Disabled Disabled

EC                --  --  --   --       --         ------                                          -- Disabled

HS                --  --  --   --       --         -- -- -- Disabled Disabled

INTOSC CLKOUT     --  --  --   --       --         -- -- -- Disabled Disabled

EXTRC CLOCKOUT --     --  --   --       --         -- -- -- Disabled Disabled

Note 1: Multiple column entries for a pin demonstrate the different permutations to arrive at digital functionality for
              the pin.

        2: Shaded cells indicate the bit status does not affect the pins digital functionality.

TABLE 5-7: REQUIREMENTS FOR DIGITAL PIN OPERATION (PIC16F506 PORTC)(1), (2)

                  RC0 RC0 RC1 RC1 RC2 RC3 RC4 RC4 RC5 RC5

CM2CON0           0   1   0    1    --         --      0                                       1   --  --
C2ON
C2PREF1           --  0   --   --   --         --      --                                      --  --  --
C2PREF2
C2NREF            --  0   --   --   --         --      --                                      --  --  --

                  --  --  --   0    --         --      --                                      --  --  --

C2OUTEN           --  --  --   --   --         --      --                                      1   --  --

VRCON0

VROE              --  --  --   --   0          --      --                                      --  --  --

OPTION

T0CS              --  --  --   --   --         --      --                                      --  0   --

Note 1: Multiple column entries for a pin demonstrate the different permutations to arrive at digital functionality for
              the pin.

      2: Shaded cells indicate the bit status does not affect the pins digital functionality.

DS41268C-page 36               Preliminary                  2007 Microchip Technology Inc.
                                                                       PIC12F510/16F506

5.5 I/O Programming Considerations                             EXAMPLE 5-1:    READ-MODIFY-WRITE
                                                                               INSTRUCTIONS ON AN
5.5.1 BIDIRECTIONAL I/O PORTS                                                  I/O PORT(e.g., PIC16F506)

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

             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 PORTB followed by a
Instruction                  MOVF PORTB, W  NOP                NOP         read from PORTB.

  Fetched MOVWF PORTB                                                      Data setup time = (0.25 TCY TPD)

RB<5:0>                     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 PORTB MOVF PORTB,W          NOP

                             (Write to PORTB) (Read PORTB)

2007 Microchip Technology Inc.            Preliminary                                     DS41268C-page 37
PIC12F510/16F506

NOTES:

DS41268C-page 38  Preliminary   2007 Microchip Technology Inc.
                                                                     PIC12F510/16F506

6.0 TMR0 MODULE AND TMR0                                   The second Counter mode uses the output of the com-
         REGISTER                                          parator to increment Timer0. It can be entered in two
                                                           different ways. The first way is selected by setting the
The Timer0 module has the following features:              T0CS bit (OPTION<5>), and clearing the C1T0CS bit
                                                           (CM1CON0<4>) (C1OUTEN [CM1CON0<6>] does not
8-bit timer/counter register, TMR0                       affect this mode of operation). This enables an internal
                                                           connection between the comparator and the Timer0.
Readable and writable
8-bit software programmable prescaler                    The second way is selected by setting the T0CS bit
Internal or external clock select:                       (OPTION<5>), setting the C1T0CS bit (CM1CON0)
                                                           and clearing the C1OUTEN bit (CM1CON0<6>). This
   - Edge select for external clock                        allows the output of the comparator onto the T0CKI pin,
   - External clock from either the T0CKI pin or           while keeping the T0CKI input active. Therefore, any
                                                           comparator change on the COUT pin is fed back into
      from the output of the comparator                    the T0CKI input. The T0SE bit (OPTION<4>) deter-
                                                           mines the source edge. Clearing the T0SE bit selects
Figure 6-1 is a simplified block diagram of the Timer0     the rising edge. Restrictions on the external clock input
module.                                                    as discussed in Section 6.1 "Using Timer0 With An
                                                           External Clock".
Timer mode is selected by clearing the T0CS bit
(OPTION<5>). In Timer mode, the Timer0 module will         The prescaler may be used by either the Timer0
increment every instruction cycle (without prescaler). If  module or the Watchdog Timer, but not both. The
TMR0 register is written, the increment is inhibited for   prescaler assignment is controlled in software by the
the following two cycles (Figure 6-2 and Figure 6-3).      control bit PSA (OPTION<3>). Clearing the PSA bit will
The user can work around this by writing an adjusted       assign the prescaler to Timer0. The prescaler is not
value to the TMR0 register.                                readable or writable. When the prescaler is assigned to
                                                           the Timer0 module, prescale values of 1:2, 1:4,...,
There are two types of Counter mode. The first Counter     1:256 are selectable. Section 6.2 "Prescaler" details
mode uses the T0CKI pin to increment Timer0. It is         the operation of the prescaler.
selected by setting the T0CKI bit (OPTION<5>), setting
the C1T0CS bit (CM1CON0<4>) and setting the                A summary of registers associated with the Timer0
C1OUTEN bit (CM1CON0<6>). In this mode, Timer0             module is found in Table 6-1.
will increment either on every rising or falling edge of
pin T0CKI. The T0SE bit (OPTION<4>) determines the
source edge. Clearing the T0SE bit selects the rising
edge. Restrictions on the external clock input are
discussed in detail in Section 6.1 "Using Timer0 With
An External Clock".

FIGURE 6-1:       TIMER0 BLOCK DIAGRAM

       T0CKI                                                                                           Data Bus
       Pin
                                  FOSC/4  0                             PSOUT                          8
   Internal
   Comparator  1                                                     1
   Output                                                                            Sync with
                                          1
               0                                                               Internal                TMR0 Reg

                                                   Programmable      0         Clocks           PSOUT
                                                     Prescaler(2)
                  T0SE(1)                                                      (2 TCY delay) Sync

               C1T0CS(3)                                         3   PSA(1)
                                                   PS2, PS1, PS0(1)
                                          T0CS(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 6-5).
         3:  Bit C1T0CS is located in the CM1CON0 register, CM1CON0<4>.

2007 Microchip Technology Inc.                   Preliminary                                         DS41268C-page 39
PIC12F510/16F506

FIGURE 6-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                                                                            reads NT0 reads NT0 + 1 reads NT0 + 2

                                              executed  reads NT0 reads NT0

FIGURE 6-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

Instruction                                   Write TMR0 Read TMR0 Read TMR0        Read TMR0 Read TMR0 Read TMR0
Executed                                                                            reads NT0 reads NT0 + 1 reads NT0 + 2

                                              executed  reads NT0 reads NT0

TABLE 6-1: REGISTERS ASSOCIATED WITH TIMER0

Addr         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
                                                                                                        1111 1111   uuuu uuuu
07h     CM1CON0(2) C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF                                 C1WU   1111 1111  uuuu uuuu
                                                                                                 C1WU   1111 1111   1111 1111
08h     CM1CON0(3) C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF                                        ---- 1111   --11 1111
                                                                                                  PS0
N/A OPTION                 GPWU       GPPU    T0CS T0SE              PSA    PS2          PS1

N/A     TRISGPIO(1)        --             --  I/O Control Register

Legend: Shaded cells not used by Timer0, = unimplemented, x = unknown, u = unchanged.
   Note 1: The TRIS of the T0CKI pin is overridden when T0CS = 1.

             2: For PIC12F510.
             3: For PIC16F506.

DS41268C-page 40                                        Preliminary                               2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

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

FIGURE 6-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.

6.2 Prescaler                                               When assigned to the Timer0 module, all instructions
                                                            writing to the TMR0 register (e.g., CLRF 1,
An 8-bit counter is available as a prescaler for the        MOVWF 1, BSF 1, x, etc.) will clear the prescaler.
Timer0 module or as a postscaler for the Watchdog           When assigned to WDT, a CLRWDT instruction will clear
Timer (WDT), respectively (see Figure 10-12). For sim-      the prescaler along with the WDT. The prescaler is
plicity, this counter is being referred to as "prescaler"   neither readable nor writable. On a Reset, the
throughout this data sheet.                                 prescaler contains all `0's.

Note:  The prescaler may be used by either the
       Timer0 module or the WDT, but not both.
       Thus, a prescaler assignment for the
       Timer0 module means that there is no
       prescaler for the WDT and vice-versa.

The PSA and PS<2:0> bits (OPTION<3:0>) determine
prescaler assignment and prescale ratio.

2007 Microchip Technology Inc.    Preliminary                     DS41268C-page 41
PIC12F510/16F506

6.2.1   SWITCHING PRESCALER                                    To change prescaler from the WDT to the Timer0
        ASSIGNMENT                                             module, use the sequence shown in Example 6-2. This
                                                               sequence must be used even if the WDT is disabled. A
The prescaler assignment is fully under software               CLRWDT instruction should be executed before
control (i.e., it can be changed "on-the-fly" during pro-      switching the prescaler.
gram execution). To avoid an unintended device Reset,
the following instruction sequence (Example 6-1) must          EXAMPLE 6-2:          CHANGING PRESCALER
be executed when changing the prescaler assignment                                   (WDTTIMER0)
from Timer0 to the WDT.

EXAMPLE 6-1: CHANGING PRESCALER                                CLRWDT                ;Clear WDT and
                                                               MOVLW `xxxx0xxx'      ;prescaler
                     (TIMER0  WDT)                                                   ;Select TMR0, new
                                                               OPTION                ;prescale value and
CLRWDT               ;Clear WDT                                                      ;clock source

CLRF TMR0            ;Clear TMR0 & Prescaler

MOVLW `00xx1111'b ;These 3 lines (5, 6, 7)

OPTION               ;are required only if

                     ;desired

CLRWDT               ;PS<2:0> are 000 or 001

MOVLW `00xx1xxx'b ;Set Postscaler to

OPTION               ;desired WDT rate

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

           T0CKI(2)    TCY (= FOSC/4)
               Pin
                                                                                                        Data Bus
Comparator           1                             0                1                 Sync                       8
                                                                                        2
Output                                                   M                M                            TMR0 Reg
                                                                          U          Cycles
                                                         U          0X
                                                   1X

                     0

                                T0SE(1)            T0CS(1)          PSA(1)
                     C1T0CS(3)

                       Watchdog          0                  8-bit Prescaler  PS<2:0>(1)
                          Timer               M                  8
                                              U
                     WDT Enable bit                           8-to-1 MUX
                                         1X

                                           PSA(1)

                                                            0       1

                                                               MUX           PSA(1)

                                                                                             WDT
                                                                                           Time-Out

       Note 1: T0CS, T0SE, PSA, PS<2:0> are bits in the OPTION register.
               2: T0CKI is shared with pin GP2 on the PIC12F510 and shared with RC5 on the PIC16F506.
               3: Bit C1T0CS is located in the CM1CON0 register.

DS41268C-page 42                                   Preliminary                        2007 Microchip Technology Inc.
                                                                   PIC12F510/16F506

7.0 COMPARATOR(S)

The PIC12F510 contains one analog comparator
module. The PIC16F506 contains two comparators
and a comparator voltage reference.

REGISTER 7-1: CM1CON0: COMPARATOR C1 CONTROL REGISTER (PIC12F510)

       R-1    R/W-1               R/W-1              R/W-1  R/W-1     R/W-1        R/W-1        R/W-1
    C1OUT   C1OUTEN               C1POL             C1T0CS  C1ON     C1NREF       C1PREF        C1WU
bit 7
                                                                                                       bit 0

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

bit 7       C1OUT: Comparator Output bit

            1 = VIN+ > VIN-

            0 = VIN+ < VIN-

bit 6       C1OUTEN: Comparator Output Enable bit(1), (2)

            1 = Output of comparator is NOT placed on the C1OUT pin

            0 = Output of comparator is placed in the C1OUT pin

bit 5       C1POL: Comparator Output Polarity bit(2)

            1 = Output of comparator is not inverted

            0 = Output of comparator is inverted

bit 4       C1T0CS: Comparator TMR0 Clock Source bit(2)

            1 = TMR0 clock source selected by T0CS control bit

            0 = Comparator output used as TMR0 clock source

bit 3       C1ON: Comparator Enable bit

            1 = Comparator is on

            0 = Comparator is off

bit 2       C1NREF: Comparator Negative Reference Select bit(2)

            1 = C1IN pin

            0 = 0.6V internal reference

bit 1       C1PREF: Comparator Positive Reference Select bit(2)

            1 = C1IN+ pin

            0 = C1IN- pin

bit 0       C1WU: Comparator Wake-up On Change Enable bit(2)

            1 = Wake-up On Comparator Change is disabled

            0 = Wake-up On Comparator Change is enabled

Note 1: Overrides T0CS bit for TRIS control of GP2.

       2: When comparator is turned on, these control bits assert themselves.

2007 Microchip Technology Inc.                    Preliminary                                 DS41268C-page 43
PIC12F510/16F506

REGISTER 7-2: CM1CON0: COMPARATOR C1 CONTROL REGISTER (PIC16F506)

       R-1    R/W-1          R/W-1            R/W-1   R/W-1           R/W-1   R/W-1       R/W-1
    C1OUT   C1OUTEN          C1POL           C1T0CS   C1ON           C1NREF  C1PREF       C1WU
bit 7
                                                                                                 bit 0

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

bit 7       C1OUT: Comparator Output bit

            1 = VIN+ > VIN-

            0 = VIN+ < VIN-

bit 6       C1OUTEN: Comparator Output Enable bit(1), (2)

            1 = Output of comparator is NOT placed on the C1OUT pin

            0 = Output of comparator is placed in the C1OUT pin

bit 5       C1POL: Comparator Output Polarity bit(2)

            1 = Output of comparator is not inverted

            0 = Output of comparator is inverted

bit 4       C1T0CS: Comparator TMR0 Clock Source bit(2)

            1 = TMR0 clock source selected by T0CS control bit

            0 = Comparator output used as TMR0 clock source

bit 3       C1ON: Comparator Enable bit

            1 = Comparator is on

            0 = Comparator is off

bit 2       C1NREF: Comparator Negative Reference Select bit(2)

            1 = C1IN pin

            0 = 0.6V internal reference

bit 1       C1PREF: Comparator Positive Reference Select bit(2)

            1 = C1IN+ pin

            0 = C1IN- pin

bit 0       C1WU: Comparator Wake-up On Change Enable bit(2)

            1 = Wake-up On Comparator Change is disabled

            0 = Wake-up On Comparator Change is enabled

Note 1: Overrides T0CS bit for TRIS control of GP2.

       2: When comparator is turned on, these control bits assert themselves. Otherwise, the other registers have
            precedence.

DS41268C-page 44                             Preliminary                      2007 Microchip Technology Inc.
                                                                 PIC12F510/16F506

REGISTER 7-3: CM2CON0: COMPARATOR C2 CONTROL REGISTER (PIC16F506)

       R-1    R/W-1               R/W-1    R/W-1         R/W-1        R/W-1    R/W-1      R/W-1
    C2OUT   C2OUTEN               C2POL  C2PREF2         C2ON        C2NREF  C2PREF1      C2WU
bit 7
                                                                                                 bit 0

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

bit 7       C2OUT: Comparator Output bit

            1 = VIN+ > VIN-

            0 = VIN+ < VIN-

bit 6       C2OUTEN: Comparator Output Enable bit(1), (2)

            1 = Output of comparator is NOT placed on the C2OUT pin

            0 = Output of comparator is placed in the C2OUT pin

bit 5       C2POL: Comparator Output Polarity bit(2)

            1 = Output of comparator not inverted

            0 = Output of comparator inverted

bit 4       C2PREF2: Comparator Positive Reference Select bit(2)

            1 = C1IN+ pin
            0 = C2IN- pin

bit 3       C2ON: Comparator Enable bit

            1 = Comparator is on

            0 = Comparator is off

bit 2       C2NREF: Comparator Negative Reference Select bit(2)

            1 = C2IN- pin

            0 = CVREF

bit 1       C2PREF1: Comparator Positive Reference Select bit(2)

            1 = C2IN+ pin

            0 = C2PREF2 controls analog input selection

bit 0       C2WU: Comparator Wake-up on Change Enable bit(2)

            1 = Wake-up on Comparator change is disabled
            0 = Wake-up on Comparator change is enabled.

Note 1: Overrides TOCS bit for TRIS control of RC4.

       2: When comparator is turned on, these control bits assert themselves. Otherwise, the other registers have
            precedence.

2007 Microchip Technology Inc.                    Preliminary                           DS41268C-page 45
PIC12F510/16F506

FIGURE 7-1:                 COMPARATOR 1 BLOCK DIAGRAM FOR PIC12F510/16F506

                     C1PREF

                     C1IN-        0  MUX                                                                       To
                                                                                                       Data Bus

                                                                                              RD_CM1CON0

                     C1IN+        1                                                                           C1WUF

                                                                              DQ

                                                  Q3 * RD_CM1CON0             EN             C1WU
                                                                                CL                   C1OUTEN

                     C1NREF                       C1ON(1)          NRESET

                     C1IN-        1               +                C1OUT
                                                   C1
                     0.6V            MUX                                                            C1OUT
                                                  -
                                  0
                                                            C1POL
       (Internal Reference)

       Note 1: When C1ON = 0, the comparator, C1, will produce a `0' output to the XOR Gate.

FIGURE 7-2:                 COMPARATOR 2 BLOCK DIAGRAM (PIC16F506 ONLY)

                                                                                                            To
                                                                                                    Data Bus

                                                                                              RD_CM2CON0

                                                                                       DQ                          C2WUF

                            C2PREF1

       C2PREF2                                      C2ON(1)  Q3 * RD_CM2CON0           EN     C2WU
                                                                                         CL
                                                  +
                     C2IN+                1        C2              NRESET

C1IN+  1                                     MUX  -

                MUX                       0                        C2OUT

C2IN-  0                                                                                      C2OUTEN

                                  C2NREF          C2POL

                                                                                                    C2OUT

                     C2IN-                1

                                             MUX

                           CVREF          0

Note 1: When C2ON = 0, the comparator, C2, will produce a `0' output to the XOR Gate.

DS41268C-page 46                                  Preliminary                                 2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

7.1 Comparator Operation                                    Note:  Analog levels on any pin that is defined as
                                                                   a digital input may cause the input buffer
A single comparator is shown in Figure 7-3 along with              to consume more current than is specified.
the relationship between the analog input levels and
the digital output. When the analog input at VIN+ is less   7.5 Comparator Wake-up Flag
than the analog input VIN-, the output of the comparator
is a digital low level. The shaded area of the output of    The Comparator Wake-up Flag is set whenever all of
the comparator in Figure 7-3 represent the uncertainty      the following conditions are met:
due to input offsets and response time. See Table 13-1
for Common Mode Voltage.                                     C1WU = 0 (CM1CON0<0>) or
                                                               C2WU = 0 (CM2CON0<0>)
FIGURE 7-3:  SINGLE COMPARATOR
                                                             CM1CON0 or CM2CON0 has been read to latch
VIN+         +                                                 the last known state of the C1OUT and C2OUT bit
                                                               (MOVF CM1CON0, W)
                                  Result
                                                             Device is in Sleep
VIN-                                                       The output of a comparator has changed state

                                                            The wake-up flag may be cleared in software or by
                                                            another device Reset.

   VIN-                                                     7.6 Comparator Operation During
                                                                     Sleep
   VIN+
                                                            When the comparator is enabled it is active. To mini-
   Result                                                   mize power consumption while in Sleep mode, turn off
                                                            the comparator before entering Sleep.
7.2 Comparator Reference
                                                            7.7 Effects of Reset
An internal reference signal may be used depending on
the comparator operating mode. The analog signal that       A Power-on Reset (POR) forces the CM2CON0
is present at VIN- is compared to the signal at VIN+, and   register to its Reset state. This forces the Comparator
the digital output of the comparator is adjusted accord-    input pins to analog Reset mode. Device current is
ingly (Figure 7-3). Please see Section 8.0 "Compara-        minimized when analog inputs are present at Reset
tor Voltage Reference Module (PIC16F506 only)" for          time.
internal reference specifications.
                                                            7.8 Analog Input Connection
7.3 Comparator Response Time                                         Considerations

Response time is the minimum time after selecting a         A simplified circuit for an analog input is shown in
new reference voltage or input source before the com-       Figure 7-4. Since the analog pins are connected to a
parator output is to have a valid level. If the comparator  digital output, they have reverse biased diodes to VDD
inputs are changed, a delay must be used to allow the       and VSS. The analog input, therefore, must be between
comparator to settle to its new state. Please see           VSS and VDD. If the input voltage deviates from this
Table 13-1 for comparator response time                     range by more than 0.6V in either direction, one of the
specifications.                                             diodes is forward biased and a latch-up may occur. A
                                                            maximum source impedance of 10 k is recom-
7.4 Comparator Output                                       mended for the analog sources. Any external compo-
                                                            nent connected to an analog input pin, such as a
The comparator output is read through the CM1CON0           capacitor or a Zener diode, should have very little
or CM2CON0 register. This bit is read-only. The             leakage current.
comparator output may also be used externally, see
Figure 7-3.

2007 Microchip Technology Inc.          Preliminary              DS41268C-page 47
PIC12F510/16F506

FIGURE 7-4:                ANALOG INPUT MODE

              RS < 10 K                              VDD                                    RIC
                                                         VT = 0.6V
                                  AIN                                          ILEAKAGE
                                                          VT = 0.6V            500 nA
              VA                       CPIN
                                       5 pF

                                                                               VSS

              Legend: CPIN                    = Input Capacitance

                               VT             = Threshold Voltage
                               ILEAKAGE       = Leakage Current at the Pin
                               RIC            = Interconnect Resistance
                               RS             = Source Impedance
                               VA             = Analog Voltage

TABLE 7-1: REGISTERS ASSOCIATED WITH COMPARATOR MODULE

Add           Name         Bit 7       Bit 6  Bit 5  Bit 4          Bit 3   Bit 2   Bit 1            Bit 0  Value on  Value on
                                                                                                              POR     All Other
                                                                                                                       Resets

03h           STATUS       GPWUF CWUF         PA0    TO             PD      Z       DC                  C   0001 1xxx qq0q quuu
                                                                                                     C1WU   1111 1111 uuuu uuuu
07h           CM1CON0(1) C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF                               C1WU   1111 1111 uuuu uuuu
                                                                                                     C2WU   1111 1111 uuuu uuuu
08h           CM1CON0(2) C1OUT C1OUTEN C1POL C1T0CS C1ON C1NREF C1PREF                                      --11 1111 --11 1111
                                                                                                            --11 1111 --11 1111
0Bh           CM2CON0(2) C2OUT C2OUTEN C2POL C2PREF2 C2ON C2NREF C2PREF1                                    --11 1111 --11 1111

N/A           TRISB(2)     --          --     I/O Control Register

N/A           TRISC(2)     --          --     I/O Control Register

N/A           TRISGPIO(1)  --          --     I/O Control Register

Legend:       x = Unknown, u = Unchanged, = Unimplemented, read as `0', q = Depends on condition.
Note 1:       PIC12F510 only.
              PIC16F506 only.
          2:

DS41268C-page 48                                     Preliminary                                     2007 Microchip Technology Inc.
                                                                 PIC12F510/16F506

8.0 COMPARATOR VOLTAGE                                   8.2 Voltage Reference Accuracy/Error
         REFERENCE MODULE
         (PIC16F506 ONLY)                                The full range of VSS to VDD cannot be realized due to
                                                         construction of the module. The transistors on the top
The Comparator Voltage Reference module also             and bottom of the resistor ladder network (Figure 8-1)
allows the selection of an internally generated voltage  keep CVREF from approaching VSS or VDD. The excep-
reference for one of the C2 comparator inputs. The       tion is when the module is disabled by clearing the
VRCON register (Register 8-1) controls the Voltage       VREN bit (VRCON<7>). When disabled, the reference
Reference module shown in Figure 8-1.                    voltage is VSS when VR<3:0> is `0000' and the VRR
                                                         (VRCON<5>) bit is set. This allows the comparator to
8.1 Configuring The Voltage                              detect a zero-crossing and not consume the CVREF
         Reference                                       module current.

The voltage reference can output 32 voltage levels; 16   The voltage reference is VDD derived and, therefore,
in a high range and 16 in a low range.                   the CVREF output changes with fluctuations in VDD. The
Equation 8-1 determines the output voltages:             tested absolute accuracy of the comparator voltage ref-
                                                         erence can be found in Section 13.2 "DC Character-
EQUATION 8-1:                                            istics: PIC12F510/16F506 (Extended)".
  VRR = 1 (low range): CVREF = (VR<3:0>/24) x VDD
  VRR = 0 (high range):

          CVREF = (VDD/4) + (VR<3:0> x VDD/32)

REGISTER 8-1: VRCON: VOLTAGE REFERENCE CONTROL REGISTER (PIC16F506 ONLY)

R/W-0              R/W-0          R/W-1             U-0  R/W-1                 R/W-1  R/W-1  R/W-1

VREN               VROE           VRR               --   VR3                   VR2    VR1                 VR0

bit 7                                                                                                          bit 0

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

bit 7    VREN: CVREF Enable bit
         1 = CVREF is powered on
bit 6    0 = CVREF is powered down, no current is drawn
bit 5    VROE: CVREF Output Enable bit(1)
         1 = CVREF output is enabled
bit 4    0 = CVREF output is disabled
bit 3-0
         VRR: CVREF Range Selection bit
         1 = Low range
         0 = High range

         Unimplemented: Read as `0'

         VR<3:0> CVREF Value Selection bit
         When VRR = 1: CVREF= (VR<3:0>/24)*VDD
         When VRR = 0: CVREF= VDD/4+(VR<3:0>/32)*VDD

Note 1: When this bit is set, the TRIS for the CVREF pin is overridden and the analog voltage is placed on the
            CVREF pin.

       2: CVREF controls for ratio metric reference applies to Comparator 2 on the PIC12F506 only.

2007 Microchip Technology Inc.                    Preliminary                              DS41268C-page 49
PIC12F510/16F506

FIGURE 8-1:       COMPARATOR VOLTAGE REFERENCE BLOCK DIAGRAM
                                                                    16 Stages

                                 8R           R         R                   R         R

VDD

                                                                                                8R         VRR

              VREN               16-1 Analog
          CVREF to                    MUX
     Comparator 2
                                 VR<3:0>
                Input
                                                 VREN
       RC2/CVREF                                 VR<3:0> = 0000
                    VROE                         VRR

TABLE 8-1: REGISTERS ASSOCIATED WITH COMPARATOR VOLTAGE REFERENCE

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

0Ch VRCON         VREN VROE          VRR         --        VR3       VR2       VR1        VR0   001- 1111  001- 1111
                                                                                         C1WU   1111 1111  uuuu uuuu
08h CM1CON0(1) C1OUT C1OUTEN C1POL C1T0CS C1ON                       C1NREF C1PREF       C2WU   1111 1111  uuuu uuuu

0Bh CM2CON0(1) C2OUT C2OUTEN C2POL C2PREF2 C2ON                      C2NREF C2PREF1

Legend: x = unknown, u = unchanged, = unimplemented, read as `0'.
Note 1: PIC16F506 only.

DS41268C-page 50                                 Preliminary                              2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

9.0 ANALOG-TO-DIGITAL (A/D)                                 Note:  It is the users responsibility to ensure that
         CONVERTER                                                 use of the ADC and comparator simulta-
                                                                   neously on the same pin, does not
The A/D Converter allows conversion of an analog                   adversely affect the signal being
signal into an 8-bit digital signal.                               monitored or adversely effect device
                                                                   operation.
9.1 Clock Divisors
                                                            When the CHS<1:0> bits are changed during an ADC
The ADC has 4 clock source settings ADCS<1:0>.              conversion, the new channel will not be selected until
There are 3 divisor values 16, 8 and 4. The fourth set-     the current conversion is completed. This allows the
ting is INTOSC with a divisor of 4. These settings will     current conversion to complete with valid results. All
allow a proper conversion when using an external            channel selection information will be lost when the
oscillator at speeds from 20 MHz to 350 kHz. Using an       device enters Sleep.
external oscillator at a frequency below 350 kHz
requires the ADC oscillator setting to be INTOSC/4 for      TABLE 9-1: CHANNEL SELECT (ADCS)
valid ADC results.                                                               BITS AFTER AN EVENT

The ADC requires 13 TAD periods to complete a                      Event           ADCS<1:0>
conversion. The divisor values do not affect the number
of TAD periods required to perform a conversion. The        MCLR                       11
divisor values determine the length of the TAD period.      Conversion completed   CS<1:0>
                                                            Conversion terminated  CS<1:0>
When the ADCS<1:0> bits are changed while an ADC            Power-on
conversion is in process, the new ADC clock source will     Wake from Sleep            11
not be selected until the next conversion is started. This                             11
clock source selection will be lost when the device
enters Sleep.                                               9.1.4 THE GO/DONE BIT

9.1.1 VOLTAGE REFERENCE                                     The GO/DONE bit is used to determine the status of a
                                                            conversion, to start a conversion and to manually halt a
There is no external voltage reference for the ADC. The     conversion in process. Setting the GO/DONE bit starts
ADC reference voltage will always be VDD.                   a conversion. When the conversion is complete, the
                                                            ADC module clears the GO/DONE bit. A conversion
9.1.2 ANALOG MODE SELECTION                                 can be terminated by manually clearing the GO/DONE
                                                            bit while a conversion is in process. Manual termination
The ANS<1:0> bits are used to configure pins for            of a conversion may result in a partially converted
analog input. Upon any Reset, ANS<1:0> defaults to          result in ADRES.
11. This configures pins AN0, AN1 and AN2 as analog
inputs. The comparator output, C1OUT, will override         The GO/DONE bit is cleared when the device enters
AN2 as an input if the comparator output is enabled.        Sleep, stopping the current conversion. The ADC does
Pins configured as analog inputs are not available for      not have a dedicated oscillator, it runs off of the instruc-
digital output. Users should not change the ANS bits        tion clock. Therefore, no conversion can occur in sleep.
while a conversion is in process. ANS bits are active
regardless of the condition of ADON.                        The GO/DONE bit cannot be set when ADON is clear.

9.1.3 ADC CHANNEL SELECTION

The CHS bits are used to select the analog channel to
be sampled by the ADC. The CHS<1:0> bits can be
changed at any time without adversely effecting a con-
version. To acquire an analog signal the CHS<1:0>
selection must match one of the pin(s) selected by the
ANS<1:0> bits. When the ADC is on (ADON = 1) and a
channel is selected that is also being used by the
comparator, then both the comparator and the ADC will
see the analog voltage on the pin.

2007 Microchip Technology Inc.  Preliminary                                      DS41268C-page 51
PIC12F510/16F506

9.1.5 SLEEP

This ADC does not have a dedicated ADC clock, and
therefore, no conversion in Sleep is possible. If a
conversion is underway and a Sleep command is
executed, the GO/DONE and ADON bit will be cleared.
This will stop any conversion in process and power-
down the ADC module to conserve power. Due to the
nature of the conversion process, the ADRES may con-
tain a partial conversion. At least 1 bit must have been
converted prior to Sleep to have partial conversion data
in ADRES. The ADCS and CHS bits are reset to their
default condition; ANS<1:0> = 11 and CHS<1:0> = 11.

For accurate conversions, TAD must meet the
   following:

500 ns < TAD < 50 s
TAD = 1/(FOSC/divisor)

Shaded areas indicate TAD out of range for accurate
conversions. If analog input is desired at these
frequencies, use INTOSC/4 for the ADC clock source.

TABLE 9-2: TAD FOR ADCS SETTINGS WITH VARIOUS OSCILLATORS

Source   ADCS        Divisor   20     16  8 MHz 4 MHz 1 MHz        500  350   200     100  32 kHz
         <1:0>                MHz    MHz                           kHz  kHz   kHz     kHz

INTOSC 11            4           --  -- .5 s 1 s --                --   --    --      --   --

FOSC     10          4        .2 s .25 s .5 s 1 s 4 s 8 s 11 s 20 s 40 s 125 s

FOSC     01          8        .4 s .5 s 1 s 2 s 8 s 16 s 23 s 40 s 80 s 250 s

FOSC     00          16 .8 s 1 s 2 s 4 s 16 s 32 s 46 s 80 s 160 s 500 s

TABLE 9-3: EFFECTS OF SLEEP ON ADCON0

         ANS1                 ANS0   ADCS1 ADCS0             CHS1       CHS0  GO/DONE      ADON
                                                                1          1        0         0
Entering Unchanged Unchanged         1                    1
                                                                1
Sleep

Wake or           1           1      1                    1             1          0       0

Reset

DS41268C-page 52                          Preliminary                      2007 Microchip Technology Inc.
                                                                             PIC12F510/16F506

9.1.6        ANALOG CONVERSION RESULT                                 shifts of the `leading one' have taken place, the conver-
             REGISTER                                                 sion is complete; the `leading one' has been shifted out
                                                                      and the GO/DONE bit is cleared.
The ADRES register contains the results of the last
conversion. These results are present during the sam-                 If the GO/DONE bit is cleared in software during a con-
pling period of the next analog conversion process.                   version, the conversion stops. The data in ADRES is
After the sampling period is over, ADRES is cleared                   the partial conversion result. This data is valid for the bit
(= 0). A `leading one' is then right shifted into the                 weights that have been converted. The position of the
ADRES to serve as an internal conversion complete                     `leading one' determines the number of bits that have
bit. As each bit weight, starting with the MSB, is con-               been converted. The bits that were not converted
verted, the leading one is shifted right and the con-                 before the GO/DONE was cleared are unrecoverable.
verted bit is stuffed into ADRES. After a total of 9 right

REGISTER 9-1: ADCON0: A/D CONTROL REGISTER (PIC12F510)

      R/W-1        R/W-1          R/W-1             R/W-1             R/W-1       R/W-1           R/W-0      R/W-0
      ANS1         ANS0           ADCS1             ADCS0             CHS1        CHS0          GO/DONE      ADON
bit 7
                                                                                                                     bit 0

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

bit 7-6      ANS<1:0>: ADC Analog Input Pin Select bits(1), (2), (5)
bit 5-4      00 = No pins configured for analog input
bit 3-2      01 = AN2 configured as an analog input
bit 1        10 = AN2 and AN0 configured as analog inputs
bit 0        11 = AN2, AN1 and AN0 configured as analog inputs

             ADCS<1:0>: ADC Conversion Clock Select bits
             00 = FOSC/16
             01 = FOSC/8
             10 = FOSC/4
             11 = INTOSC/4
             CHS<1:0>: ADC Channel Select bits(5)
             00 = Channel AN0
             01 = Channel AN1
             10 = Channel AN2
             11 = 0.6V absolute voltage reference
             GO/DONE: ADC Conversion Status bit(4)
             1 = ADC conversion in progress. Setting this bit starts an ADC conversion cycle. This bit is automatically cleared

                   by hardware when the ADC is done converting.
             0 = ADC conversion completed/not in progress. Manually clearing this bit while a conversion is in process termi-

                   nates the current conversion.

             ADON: ADC Enable bit
             1 = ADC module is operating
             0 = ADC module is shut-off and consumes no power

Note 1:      When the ANS bits are set, the channels selected will automatically be forced into Analog mode, regardless of the pin
             function previously defined. The only exception to this is the comparator, where the analog input to the comparator and
             the ADC will be active at the same time. It is the users responsibility to ensure that the ADC loading on the comparator
             input does not affect their application.

         2: The ANS<1:0> bits are active regardless of the condition of ADON.

         3: CHS<1:0> bits default to 11 after any Reset.

         4: If the ADON bit is clear, the GO/DONE bit cannot be set.

         5: C1OUT, when enabled, overrides AN2.

2007 Microchip Technology Inc.                    Preliminary                                 DS41268C-page 53
PIC12F510/16F506

REGISTER 9-2: ADRES REGISTER

      R-X             R-X     R-X               R-X     R-X                   R-X           R-X           R-X
   ADRES7          ADRES6  ADRES5            ADRES4  ADRES3                ADRES2        ADRES1        ADRES0

bit 7                                                                                                            bit 0

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

EXAMPLE 9-1:       PERFORMING AN                     EXAMPLE 9-2:                  CHANNEL SELECTION
                   ANALOG-TO-DIGITAL                                               CHANGE DURING
                   CONVERSION                                                      CONVERSION

;Sample code operates out of BANK0                           MOVLW 0xF1                  ;configure A/D

       MOVLW 0xF1    ;configure A/D                          MOVWF ADCON0

       MOVWF ADCON0                                          BSF ADCON0, 1 ;start conversion

       BSF ADCON0, 1 ;start conversion                       BSF ADCON0, 2 ;setup for read of

loop0  BTFSC ADCON0, 1;wait for `DONE'                                                   ;channel 1

       GOTO loop0                                    loop0   BTFSC ADCON0, 1;wait for `DONE'

       MOVF ADRES, W ;read result                            GOTO loop0

       MOVWF result0 ;save result                            MOVF ADRES, W ;read result

                                                             MOVWF result0 ;save result

loop1  BSF ADCON0, 2 ;setup for read of              loop1   BSF ADCON0, 1 ;start conversion
                                  ;channel 1                 BSF ADCON0, 3 ;setup for read of
                                                             BCF ADCON0, 2 ;channel 2
       BSF ADCON0, 1 ;start conversion                       BTFSC ADCON0, 1;wait for `DONE'
       BTFSC ADCON0, 1;wait for `DONE'                       GOTO loop1
       GOTO loop1                                            MOVF ADRES, W ;read result
       MOVF ADRES, W ;read result                            MOVWF result1 ;save result
       MOVWF result1 ;save result

       BSF ADCON0, 3 ;setup for read of              loop2   BSF ADCON0, 1 ;start conversion
       BCF ADCON0, 2 ;channel 2                              BTFSC ADCON0, 1;wait for `DONE'
loop2  BSF ADCON0, 1 ;start conversion                       GOTO loop2
       BTFSC ADCON0, 1;wait for `DONE'                       MOVF ADRES, W ;read result
       GOTO loop2                                            MOVWF result2 ;save result
       MOVF ADRES, W ;read result                            CLRF ADCON0 ;optional: returns
       MOVWF result2 ;save result                            ;pins to Digital mode and turns off
                                                             ;the ADC module

DS41268C-page 54                              Preliminary                           2007 Microchip Technology Inc.
10.0 SPECIAL FEATURES OF THE                                       PIC12F510/16F506
         CPU
                                                                10.1 Configuration Bits
What sets a microcontroller apart from other proces-
sors are special circuits that deal with the needs of real-     The PIC12F510/16F506 Configuration Words consist
time applications. The PIC12F510/16F506                         of 12 bits. Configuration bits can be programmed to
microcontrollers have a host of such features intended          select various device configurations. Three bits are for
to maximize system reliability, minimize cost through           the selection of the oscillator type; (two bits on the
elimination of external components, provide power-              PIC12F510), one bit is the Watchdog Timer enable bit,
saving operating modes and offer code protection.               one bit is the MCLR enable bit and one bit is for code
These features are:                                             protection (Register 10-1, Register 10-2).

Oscillator Selection

Reset:

   - Power-on Reset (POR)

   - Device Reset Timer (DRT)

   - Wake-up from Sleep on Pin Change

Watchdog Timer (WDT)

Sleep

Code Protection

ID Locations

In-Circuit Serial ProgrammingTM (ICSPTM)

Clock Out

The PIC12F510/16F506 devices have a Watchdog
Timer, which can be shut off only through Configuration
bit WDTE. It runs off of its own RC oscillator for added
reliability. If using HS (PIC16F506), XT or LP selectable
oscillator options, there is always a delay, provided by
the Device Reset Timer (DRT), intended to keep the
chip in Reset until the crystal oscillator is stable. If using
INTOSC, EXTRC or EC there is an 1.125 ms (nominal)
delay only on VDD power-up. With this timer on-chip,
most applications need no external Reset circuitry.

The Sleep mode is designed to offer a very low-current
Power-Down mode. The user can wake-up from Sleep
through a change-on-input pin or through a Watchdog
Timer time-out. Several oscillator options are also
made available to allow the part to fit the application,
including an internal 4/8 MHz oscillator. The EXTRC
oscillator option saves system cost while the LP crystal
option saves power. A set of Configuration bits are
used to select various options.

2007 Microchip Technology Inc.  Preliminary                   DS41268C-page 55
PIC12F510/16F506

REGISTER 10-1: CONFIG: CONFIGURATION WORD REGISTER (PIC12F510)

        --        --  --      --     --    --                               --     --
                                                                                       bit 8
bit 15

        --        --  IOSCFS  MCLRE  CP    WDTE                             FOSC1  FOSC0
bit 7                                                                                      bit 0

bit 15-6    Unimplemented: Read as `1'
bit 5
bit 4       IOSCFS: Internal Oscillator Frequency Select bit
bit 3       1 = 8 MHz INTOSC speed
bit 2       0 = 4 MHz INTOSC speed
bit 1-0
            MCLRE: Master Clear Enable bit
            1 = GP3/MCLR pin functions as MCLR
            0 = GP3/MCLR pin functions as GP3, MCLR internally tied to VDD

            CP: Code Protection bit
            1 = Code protection off
            0 = Code protection on

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

            FOSC<1:0>: Oscillator Selection bits
            00 = LP oscillator with 18 ms DRT
            01 = XT oscillator with 18 ms DRT
            10 = INTOSC with 1.125 ms DRT(1), (2)
            11 = EXTRC with 1.125 ms DRT(1), (2)

Note 1: Refer to the "PIC12F510 Memory Programming Specification", DS41257 to determine how to access the
            Configuration Word.

       2: It is the responsibility of the application designer to ensure the use of the 1.125 ms (nominal) DRT will
            result in acceptable operation. Refer to Electrical Specifications for VDD rise time and stability requirements
            for this mode of operation.

DS41268C-page 56              Preliminary                                    2007 Microchip Technology Inc.
                                                      PIC12F510/16F506

REGISTER 10-2: CONFIG: CONFIGURATION WORD REGISTER (PIC16F506)

        --  --                    --     --  --       --        --                             --
                                                                                                   bit 8
bit 15

        --  IOSCFS                MCLRE  CP  WDTE     FOSC2  FOSC1                             FOSC0
bit 7
                                                                                               bit 0

bit 11-7    Unimplemented: Read as `1'
bit 6
bit 5       IOSCFS: Internal Oscillator Frequency Select bit
bit 4
bit 3       1 = 8 MHz INTOSC speed
bit 2-0     0 = 4 MHz INTOSC speed

            MCLRE: Master Clear Enable bit

            1 = RB3/MCLR pin functions as MCLR
            0 = RB3/MCLR pin functions as RB3, MCLR tied internally to VDD

            CP: Code Protection bit

            1 = Code protection off
            0 = Code protection on

            WDTE: Watchdog Timer Enable bit

            1 = WDT enabled
            0 = WDT disabled

            FOSC<2:0>: Oscillator Selection bits

            000 = LP oscillator and 18 ms DRT
            001 = XT oscillator and 18 ms DRT
            010 = HS oscillator and 18 ms DRT
            011 = EC oscillator with RB4 function on RB4/OSC2/CLKOUT and 1.125 ms DRT(1), (2)
            100 = INTOSC with RB4 function on RB4/OSC2/CLKOUT and 1.125 ms DRT(1), (2)
            101 = INTOSC with CLKOUT function on RB4/OSC2/CLKOUT and 1.125 ms DRT(1), (2)
            110 = EXTRC with RB4 function on RB4/OSC2/CLKOUT and 1.125 ms DRT(1), (2)
            111 = EXTRC with CLKOUT function on RB4/OSC2/CLKOUT and 1.125 ms DRT(1), (2)

Note 1: Refer to the "PIC16F506 Memory Programming Specification", DS41258, to determine how to access the
            Configuration Word.

       2: It is the responsibility of the application designer to ensure the use of the 1.125 ms (nominal) DRT will
            result in acceptable operation. Refer to Electrical Specifications for VDD rise time and stability requirements
            for this mode of operation.

2007 Microchip Technology Inc.         Preliminary                DS41268C-page 57
PIC12F510/16F506

10.2 Oscillator Configurations                             FIGURE 10-1:             CRYSTAL OPERATION
                                                                                    (OR CERAMIC
10.2.1 OSCILLATOR TYPES                                                             RESONATOR)
                                                                                    (HS, XT OR LP OSC
The PIC12F510/16F506 devices can be operated in up                                  CONFIGURATION)
to six different oscillator modes. The user can program
up to three Configuration bits (FOSC<1:0>                        C1(1)              OSC1            PIC12F510
[PIC12F510], FOSC<2:0> [PIC16F506]). To select one                                                  PIC16F506
of these modes:

LP:  Low-Power Crystal                                                    XTAL           RF(3)     Sleep
                                                                                                    To internal
XT:  Crystal/Resonator                                                   RS(2) OSC2
                                                                 C2(1)                                  logic
HS:  High-Speed Crystal/Resonator
      (PIC16F506 only)

INTOSC: Internal 4/8 MHz Oscillator

EXTRC: External Resistor/Capacitor                        Note 1:      See Capacitor Selection tables for
                                                                    2:  recommended values of C1 and C2.
EC:  External High-Speed Clock Input                               3:  A series resistor (RS) may be required for AT
      (PIC16F506 only)                                                  strip cut crystals.
                                                                        RF approx. value = 10 M.
10.2.2 CRYSTAL OSCILLATOR/CERAMIC
              RESONATORS                                   FIGURE 10-2:             EXTERNAL CLOCK INPUT
                                                                                    OPERATION (HS, XT OR
In HS (PIC16F506), XT or LP modes, a crystal or                                     LP OSC
ceramic resonator is connected to the (GP5/RB5)/                                    CONFIGURATION)
OSC1/(CLKIN) and (GP4/RB4)/OSC2/(CLKOUT) pins
to establish oscillation (Figure 10-1). The PIC12F510/     Clock from                     OSC1      PIC12F510
16F506 oscillator designs require the use of a parallel    ext. system                    OSC2      PIC16F506
cut crystal. Use of a series cut crystal may give a fre-
quency out of the crystal manufacturers specifications.                       Open
When in HS (PIC16F506), XT or LP modes, the device
can have an external clock source drive the (GP5/          TABLE 10-1:   CAPACITOR SELECTION FOR
RB5)/OSC1/CLKIN pin (Figure 10-2).
                                                                         CERAMIC RESONATORS
    Note 1: This device has been designed to per-                        PIC12F510/16F506(1)
                form to the parameters of its data sheet.
                It has been tested to an electrical        Osc. Resonator Cap. Range Cap. Range
                specification designed to determine its
                conformance with these parameters.         Type         Freq.             C1        C2
                Due to process differences in the
                manufacture of this device, this device       XT        4.0 MHz           30 pF     30 pF
                may have different performance charac-       HS(2)
                teristics than its earlier version. These  Note 1:      16 MHz            10-47 pF  10-47 pF
                differences may cause this device to
                perform differently in your application            2:   These values are for design guidance
                than the earlier version of this device.                only. Since each resonator has its own
                                                                        characteristics, the user should consult
           2: The user should verify that the device                    the resonator manufacturer for
                oscillator starts and performs as                       appropriate values of external
                expected. Adjusting the loading capacitor               components.
                values and/or the Oscillator mode may
                be required.                                            PIC16F506 only.

DS41268C-page 58                       Preliminary                                  2007 Microchip Technology Inc.
                                                             PIC12F510/16F506

TABLE 10-2:  CAPACITOR SELECTION FOR                         FIGURE 10-3:             EXTERNAL PARALLEL
                                                                                      RESONANT CRYSTAL
             CRYSTAL OSCILLATOR                                                      OSCILLATOR CIRCUIT
             PIC12F510/16F506(2)

Osc. Resonator Cap.Range Cap. Range                                  +5V                         To Other
                                                                                                 Devices
Type   Freq.            C1        C2                                     10k
                                                                                4.7k  74AS04
LP     32 kHz(1)        15 pF     15 pF

XT    200 kHz    47-68 pF        47-68 pF                                 74AS04                          CLKIN
HS(3)   1 MHz       15 pF           15 pF
        4 MHz       15 pF           15 pF                                                                  PIC12F510
                                                                                                           PIC16F506
       20 MHz     15-47 pF        15-47 pF
                                                                                            10k
Note 1: For VDD > 4.5V, C1 = C2  30 pF is                                  XTAL
              recommended.
                                                             10k

    2: These values are for design guidance                          20 pF 20 pF
          only. Rs may be required to avoid over-
          driving crystals beyond the drive level            Figure 10-4 shows a series resonant oscillator circuit.
          specification. Since each crystal has its          This circuit is also designed to use the fundamental
          own characteristics, the user should con-          frequency of the crystal. The inverter performs a 180-
          sult the crystal manufacturer for appropri-        degree phase shift in a series resonant oscillator
          ate values of external components.                 circuit. The 330  resistors provide the negative
                                                             feedback to bias the inverters in their linear region.
    3: PIC16F506 only.

10.2.3 EXTERNAL CRYSTAL OSCILLATOR                           FIGURE 10-4:             EXTERNAL SERIES
              CIRCUIT                                                                 RESONANT CRYSTAL
                                                                                      OSCILLATOR CIRCUIT
Either a prepackaged oscillator or a simple oscillator
circuit with TTL gates can be used as an external             330             330                        To Other
crystal oscillator circuit. Prepackaged oscillators          74AS04          74AS04                      Devices
provide a wide operating range and better stability. A
well-designed crystal oscillator will provide good perfor-                                       74AS04
mance with TTL gates. Two types of crystal oscillator
circuits can be used: one with parallel resonance or one             0.1 mF                                CLKIN
with series resonance.                                               XTAL                                  PIC12F510
                                                                                                           PIC16F506
Figure 10-3 shows implementation of a parallel reso-
nant oscillator circuit. The circuit is designed to use the  10.2.4 EXTERNAL RC OSCILLATOR
fundamental frequency of the crystal. The 74AS04
inverter performs the 180-degree phase shift that a          For timing insensitive applications, the EXTRC device
parallel oscillator requires. The 4.7 k resistor provides    option offers additional cost savings. The EXTRC oscil-
the negative feedback for stability. The 10 k potenti-       lator frequency is a function of the supply voltage, the
ometers bias the 74AS04 in the linear region. This           resistor (REXT) and capacitor (CEXT) values, and the
circuit could be used for external oscillator designs.       operating temperature. In addition to this, the oscillator
                                                             frequency will vary from unit-to-unit due to normal pro-
                                                             cess parameter variation. Furthermore, the difference
                                                             in lead frame capacitance between package types will
                                                             also affect the oscillation frequency, especially for low
                                                             CEXT values. The user also needs to take into account
                                                             variation due to tolerance of external R and C
                                                             components used.

                                                             Figure 10-5 shows how the R/C combination is
                                                             connected to the PIC12F510/16F506 devices. For
                                                             REXT values below 5.0 k, the oscillator operation may
                                                             become unstable or stop completely. For very high
                                                             REXT values (e.g., 1 M), the oscillator becomes
                                                             sensitive to noise, humidity and leakage. Thus, we
                                                             recommend keeping REXT between 5.0 k and
                                                             100 k.

2007 Microchip Technology Inc.           Preliminary                                           DS41268C-page 59
PIC12F510/16F506

Although the oscillator will operate with no external       FIGURE 10-6:       EXTERNAL CLOCK INPUT
capacitor (CEXT = 0 pF), we recommend using values                             OPERATION
above 20 pF for noise and stability reasons. With no
capacitance or small external capacitance, the oscilla-     PIC16F506: EC, HS, XT, LP
tion frequency can vary dramatically due to changes in
external capacitances, such as PCB trace capacitance        Clock From         RB5/OSC1/CLKIN
or package lead frame capacitance.                          ext. system

Section 13.0 "Electrical Characteristics", shows RC         OSC2/CLKOUT/RB4    OSC2/CLKOUT/RB4(1)
frequency variation from part-to-part due to normal                            GP5/OSC1/CLKIN
process variation. The variation is larger for larger val-  PIC12F510: XT, LP
ues of R (since leakage current variation will affect RC
frequency more for large R) and for smaller values of C        Clock From
(since variation of input capacitance will affect RC           ext. system
frequency more).
                                                            OSC2               GP4/OSC2
Also, see the Electrical Specifications section for
variation of oscillator frequency due to VDD for given      Note 1: RB4 is available in EC mode only.
REXT/CEXT values, as well as frequency variation due
to operating temperature for given R, C and VDD             In addition, a calibration instruction is programmed into
values.                                                     the last address of memory, which contains the calibra-
                                                            tion value for the internal RC oscillator. This location is
FIGURE 10-5:      EXTERNAL RC                               always uncode protected, regardless of the code-pro-
                  OSCILLATOR MODE                           tect settings. This value is programmed as a MOVLW XX
           VDD                                              instruction where XX is the calibration value, and is
                                                            placed at the Reset vector. This will load the W register
REXT                           Internal                     with the calibration value upon Reset and the PC will
                               clock                        then roll over to the users program at address 0x000.
                  OSC1                                      The user then has the option of writing the value to the
                                                            OSCCAL Register (05h) or ignoring it.
CEXT                N          PIC12F510
VSS               OSC2/CLKOUT  PIC16F506                    OSCCAL, when written to with the calibration value, will
                                                            "trim" the internal oscillator to remove process variation
       FOSC/4                                               from the oscillator frequency.

10.2.5 INTERNAL 4/8 MHz RC                                  Note:  Erasing the device will also erase the pre-
              OSCILLATOR                                           programmed internal calibration value for
                                                                   the internal oscillator. The calibration
The internal RC oscillator provides a fixed 4/8 MHz                value must be read prior to erasing the
(nominal) system clock (see Section 13.0 "Electrical               part so it can be reprogrammed correctly
Characteristics" for information on variation over                 later.
voltage and temperature).
                                                            For the PIC12F510/16F506 devices, only bits <7:1> of
10.2.6 EXTERNAL CLOCK IN                                    OSCCAL are implemented. Bits CAL6-CAL0 are used
                                                            for calibration. Adjusting CAL6-CAL0 from `0000000'
For applications where a clock is already available         to `1111111' changes the clock speed. See
elsewhere, users may directly drive the PIC12F510/          Register 4-3 for more information.
16F506 devices provided that this external clock
source meets the AC/DC timing requirements listed in        Note:  The 0 bit of OSCCAL is unimplemented
Section 10.6 "Watchdog Timer (WDT)". Figure 10-6                   and should be written as `0' when modify-
below shows how an external clock circuit should be                ing OSCCAL for compatibility with future
configured.                                                        devices.

DS41268C-page 60                          Preliminary                           2007 Microchip Technology Inc.
                                                                  PIC12F510/16F506

10.3 Reset

The device differentiates between various kinds of
Reset:

Power-on Reset (POR)
MCLR Reset during normal operation
MCLR Reset during Sleep
WDT Time-out Reset during normal operation
WDT Time-out Reset during Sleep
Wake-up from Sleep Reset on pin change
Wake-up from Sleep Reset on comparator

   change

Some registers are not reset in any way, they are
unknown on POR and unchanged in any other Reset.
Most other registers are reset to "Reset state" on
Power-on Reset (POR), MCLR, WDT or Wake-up from
Sleep Reset on pin change or wake-up from Sleep
Reset on comparator change. The exceptions are TO,
PD, CWUF and RBWUF/GPWUF bits. They are set or
cleared differently in different Reset situations. These
bits are used in software to determine the nature of
Reset. See Table 10-4 for a full description of Reset
states of all registers.

TABLE 10-3: RESET CONDITIONS FOR REGISTERS PIC12F510

      Register  Address               Power-on Reset                    MCLR Reset, WDT Time-out,
                                                                  Wake-up On Pin Change, Wake-up on

                                                                              Comparator Change

W                                 --  qqqq qqqu(1)                qqqq qqqu(1)

INDF            00h                   xxxx xxxx                   uuuu uuuu

TMR0            01h                   xxxx xxxx                   uuuu uuuu

PCL             02h                   1111 1111                    1111 1111
STATUS                                                            qq0q quuu(2)
                03h                   0001 1xxx

FSR             04h                   110x xxxx                   11uu uuuu

OSCCAL          05h                   1111 111-                   uuuu uuu-

GPIO            06h                   --xx xxxx                   --uu uuuu

CM1CON0         07h                   1111 1111                   uuuu uuuu

ADCON0          08h                   1111 1100                   uu11 1100

ADRES           09h                   xxxx xxxx                   uuuu uuuu

OPTION                            --  1111 1111                   1111 1111

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

      2: See Table 10-5 for Reset value for specific conditions.

2007 Microchip Technology Inc.      Preliminary                 DS41268C-page 61
PIC12F510/16F506

TABLE 10-4: RESET CONDITIONS FOR REGISTERS PIC16F506

      Register           Address        Power-on Reset                  MCLR Reset, WDT Time-out,
                                                                  Wake-up On Pin Change, Wake-up on

                                                                              Comparator Change

W                           --          qqqq qqqu(1)                     qqqq qqqu(1)

INDF                        00h         xxxx xxxx                        uuuu uuuu

TMR0                        01h         xxxx xxxx                        uuuu uuuu

PCL                         02h         1111 1111                        1111 1111

STATUS                      03h         0001 1xxx                        qq0q quuu(2)

FSR                         04h         110x xxxx                        11uu uuuu

OSCCAL                      05h         1111 111-                        uuuu uuu-

PORTB                       06h         --xx xxxx                        --uu uuuu

PORTC                       07h         --xx xxxx                        --uu uuuu

CM1CON0                     08h         1111 1111                        uuuu uuuu

ADCON0                      09h         1111 1100                        uu11 1100

ADRES                       0Ah         xxxx xxxx                        uuuu uuuu

CM2CON0                     0Bh         1111 1111

VRCON                       0Ch         001- 1111

OPTION                      --          1111 1111                        1111 1111

TRISB                       --          --11 1111                        --11 1111

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

      2: See Table 10-5 for Reset value for specific conditions.

TABLE 10-5: 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
                                                                           1111 1111
WDT Reset during Sleep                  0000 0uuu

WDT Reset normal operation              0000 uuuu

Wake-up from Sleep Reset on pin change  1001 0uuu

Wake from Sleep Reset on Comparator     0101 0uuu
Change

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

DS41268C-page 62                        Preliminary                      2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

10.3.1 MCLR ENABLE                                          A simplified block diagram of the on-chip Power-on
                                                            Reset circuit is shown in Figure 10-8.
This Configuration bit, when unprogrammed (left in the
`1' state), enables the external MCLR function. When        The Power-on Reset circuit and the Device Reset
programmed, the MCLR function is tied to the internal       Timer (see Section 10.5 "Device Reset Timer
VDD and the pin is assigned to be a I/O. See                (DRT)") circuit are closely related. On power-up, the
Figure 10-7.                                                Reset latch is set and the DRT is reset. The DRT timer
                                                            begins counting once it detects MCLR, internal or
FIGURE 10-7:  MCLR SELECT                                   external, to be high. After the time-out period, it will
                                                            reset the Reset latch and thus end the on-chip Reset
GPWU/RBWU                                                   signal.

                                  (GP3/RB3)/MCLR/VPP        A power-up example where MCLR is held low is shown
                                                            in Figure 10-9. VDD is allowed to rise and stabilize
MCLRE                             Internal MCLR             before bringing MCLR high. The chip will actually come
                                                            out of Reset TDRT msec after MCLR goes high.
10.4 Power-on Reset (POR)
                                                            In Figure 10-10, the on-chip Power-on Reset feature is
The PIC12F510/16F506 devices incorporate an on-             being used (MCLR and VDD are tied together or the pin
chip Power-on Reset (POR) circuitry, which provides         is programmed to be (GP3/RB3). The VDD is stable
an internal chip Reset for most power-up situations.        before the Start-up timer times out and there is no prob-
                                                            lem in getting a proper Reset. However, Figure 10-11
The on-chip POR circuit holds the chip in Reset until       depicts a problem situation where VDD rises too slowly.
VDD has reached a high enough level for proper oper-        The time between when the DRT senses that MCLR is
ation. The POR is active regardless of the state of the     high and when MCLR and VDD actually reach their full
MCLR enable bit. An internal weak pull-up resistor is       value, is too long. In this situation, when the start-up
implemented using a transistor (refer to Table 13-4 for     timer times out, VDD has not reached the VDD (min)
the pull-up resistor ranges). This will eliminate external  value and the chip may not function correctly. For such
RC components usually needed to create an external          situations, we recommend that external RC circuits be
Power-on Reset. A maximum rise time for VDD is spec-        used to achieve longer POR delay times (Figure 10-10).
ified. See Section 13.0 "Electrical Characteristics"
for details.                                                Note:  When the devices start normal operation
                                                                   (exit the Reset condition), device operat-
When the devices start normal operation (exit the                  ing parameters (voltage, frequency,
Reset condition), device operating parameters (volt-               temperature, etc.) must be met to ensure
age, frequency, temperature,...) must be met to ensure             operation. If these conditions are not met,
operation. If these conditions are not met, the devices            the device must be held in Reset until the
must be held in Reset until the operating parameters               operating conditions are met.
are met.
                                                            For additional information, refer to Application Notes
                                                            AN522, "Power-Up Considerations" (DS00522) and
                                                            AN607, "Power-up Trouble Shooting" (DS00607).

2007 Microchip Technology Inc.  Preliminary                      DS41268C-page 63
PIC12F510/16F506

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

                VDD            Power-up
                                 Detect POR (Power-on Reset)

(GP3/RB3)/MCLR/VPP

                          MCLR Reset                                                              Q
                                                                                               S
                                                                                                  Q
MCLRE                    WDT Reset                                                 R                  CHIP Reset
                          Wake-up on pin Change Reset  Start-up Timer
            WDT Time-out
           Pin Change                                  (10 ms, 1.125 ms
                                                          or 18 ms)
                   Sleep

Comparator Change
          Wake-up on

Comparator Change

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

            VDD
        MCLR
Internal POR

                                                                                                  TDRT

DRT Time-out
Internal Reset

FIGURE 10-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

DS41268C-page 64                Preliminary             2007 Microchip Technology Inc.
                                               PIC12F510/16F506

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

           VDD                           V1
                                  TDRT
        MCLR
Internal POR

DRT Time-out

Internal Reset

Note: 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.

2007 Microchip Technology Inc.  Preliminary  DS41268C-page 65
PIC12F510/16F506                                             TABLE 10-6: TYPICAL DRT PERIODS

10.5 Device Reset Timer (DRT)                                  Oscillator   POR Reset  Subsequent
                                                             Configuration                Resets
On the PIC12F510/16F506 devices, the DRT runs any
time the device is powered up. DRT runs from Reset           LP             18 ms      18 ms
and varies based on oscillator selection and Reset type                                18 ms
(see Table 10-6).                                            XT               18 ms    18 ms
                                                             HS(1)            18 ms    10 s
The DRT operates from a free running on-chip oscilla-        EC(1)          1.125 ms   10 s
tor that is separate from INTOSC. The processor is                                     10 s
kept in Reset as long as the DRT is active. The DRT          INTOSC         1.125 ms
delay allows VDD to rise above VDD minimum and for
the oscillator to stabilize.                                 EXTRC          1.125 ms

Oscillator circuits, based on crystals or ceramic resona-    Note 1: PIC16F506 only
tors, require a certain time after power-up to establish
a stable oscillation. The on-chip DRT keeps the devices      Note:   It is the responsibility of the application
in a Reset for a set period, as stated in Table 10-6, after          designer to ensure the use of the
MCLR has reached a logic high (VIH MCLR) level.                      1.125 ms nominal DRT will result in
Programming (GP3/RB3)/MCLR/VPP as MCLR and                           acceptable operation. Refer to Electrical
using an external RC network connected to the MCLR                   Specifications for VDD rise time and
input is not required in most cases. This allows savings             stability requirements for this mode of
in cost-sensitive and/or space restricted applications,              operation.
as well as allowing the use of the (GP3/RB3)/MCLR/
VPP pin as a general purpose input.                          10.6.1 WDT PERIOD

The DRT delays will vary from chip-to-chip due to VDD,       The WDT has a nominal time-out period of 18 ms (with
temperature and process variation. See AC                    no prescaler). If a longer time-out period is desired, a
parameters for details.                                      prescaler with a divisor ratio of up to 1:128 can be
                                                             assigned to the WDT (under software control) by
The DRT will also be triggered upon a Watchdog Timer         writing to the OPTION register. Thus, a time-out period
time-out from Sleep. This is particularly important for      of a nominal 2.3 seconds can be realized. These
applications using the WDT to wake from Sleep mode           periods vary with temperature, VDD and part-to-part
automatically.                                               process variations (see DC specs).

Reset sources are POR, MCLR, WDT time-out, Wake-             Under worst case conditions (VDD = Min., Temperature
up on Pin Change and Wake-up on Comparator                   = Max., max. WDT prescaler), it may take several
Change. See Section 10.9.2 "Wake-up from Sleep               seconds before a WDT time-out occurs.
Reset", Notes 1, 2 and 3.
                                                             10.6.2 WDT PROGRAMMING
10.6 Watchdog Timer (WDT)                                                  CONSIDERATIONS

The Watchdog Timer (WDT) is a free running on-chip           The CLRWDT instruction clears the WDT and the
RC oscillator that does not require any external             postscaler, if assigned to the WDT, and prevents it from
components. This RC oscillator is separate from the          timing out and generating a device Reset.
external RC oscillator of the (GP5/RB5)/OSC1/CLKIN
pin and the internal 4/8 MHz oscillator. This means that     The SLEEP instruction resets the WDT and the
the WDT will run even if the main processor clock has        postscaler, if assigned to the WDT. This gives the
been stopped, for example, by execution of a SLEEP           maximum Sleep time before a WDT wake-up Reset.
instruction. During normal operation or Sleep, a WDT
Reset or wake-up Reset generates a device Reset.

The TO bit (STATUS<4>) will be cleared upon a
Watchdog Timer Reset.

The WDT can be permanently disabled by program-
ming the configuration WDTE as a `0' (see
Section 10.1 "Configuration Bits"). Refer to the
PIC12F510/16F506 Programming Specifications to
determine how to access the Configuration Word.

DS41268C-page 66  Preliminary                                                2007 Microchip Technology Inc.
                                                               PIC12F510/16F506

FIGURE 10-12:  WATCHDOG TIMER BLOCK DIAGRAM

                        From Timer0 Clock Source
                                  (Figure 6-5)

               Watchdog                  0                     Postscaler
                  Timer                        M

                                         1U
                                               X

                                                     8-to-1 MUX            PS<2:0>

               WDTE                      PSA

                                                  0            1           To Timer0 (Figure 6-4)
                                                                           PSA
                                                     MUX

                                                  WDT Time-out

     Note 1: T0CS, T0SE, PSA, PS<2:0> are bits in the OPTION register.

TABLE 10-7: 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(1) GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111

N/A      OPTION(2) RBWU RBPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111

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

Note 1: PIC12F510 only.

     2: PIC16F506 only.

2007 Microchip Technology Inc.                  Preliminary                       DS41268C-page 67
PIC12F510/16F506

10.7 Time-out Sequence, Power-down                           FIGURE 10-14:            BROWN-OUT
         and Wake-up from Sleep Status                                                PROTECTION CIRCUIT 2
         Bits (TO, PD, GPWUF/RBWUF)                                              VDD
                                                                              R1                VDD
The TO, PD and (GPWUF/RBWUF) bits in the STATUS
register can be tested to determine if a Reset condition                      R2                                PIC12F510
has been caused by a power-up condition, a MCLR or                                                              PIC16F506
Watchdog Timer (WDT) Reset.                                                                   Q1 MCLR(2)
                                                                                               40k(1)
TABLE 10-8: TO/PD/(GPWUF/RBWUF)
                     STATUS AFTER RESET

CWUF         GPWUF/         TO  PD  Reset Caused By          Note 1:      This brown-out circuit is less expensive,
             RBWUF                                                    2:  although less accurate. Transistor Q1 turns
                                                                          off when VDD is below a certain level such
0            0              0 0 WDT wake-up from                          that:

                                    Sleep

0            0              0 u WDT time-out (not                                         R1
                                                                                                      = 0.7V
                                    from Sleep)                                VDD
                                                                                      R1 + R2

0            0              1 0 MCLR wake-up from                         Pin must be configured as MCLR.

                                    Sleep

0            0              1 1 Power-up

0            0              u u MCLR not during              FIGURE 10-15:            BROWN-OUT
                                                                                      PROTECTION CIRCUIT 3
                                    Sleep

0            1              1 0 Wake-up from Sleep                             VDD

                                    on pin change                         MCP809 Bypass

1            0              1 0 Wake-up from Sleep                                    Capacitor  VDD
                                                                                                        MCLR
                                    on comparator               VSS            VDD

                                    change                                RST

Legend: u = unchanged

10.8 Reset on Brown-out                                                                          PIC12F510
                                                                                                 PIC16F506
A brown-out is a condition where device power (VDD)
dips below its minimum value, but not to zero, and then      Note:        This brown-out protection circuit employs
recovers. The device should be reset in the event of a                    Microchip Technology's MCP809 microcon-
brown-out.                                                                troller supervisor. There are 7 different trip
                                                                          point selections to accommodate 5V to 3V
To reset PIC12F510/16F506 devices when a brown-                           systems.
out occurs, external brown-out protection circuits may
be built, as shown in Figure 10-13 and Figure 10-14.

FIGURE 10-13:               BROWN-OUT
                            PROTECTION CIRCUIT 1
             VDD
                                    VDD
         33k                                   PIC12F510
                       10k                     PIC16F506

                             Q1 MCLR(2)

                              40k(1)

Note 1:      This circuit will activate Reset when VDD goes
         2:  below Vz + 0.7V (where Vz = Zener voltage).
             Pin must be configured as MCLR.

DS41268C-page 68                                   Preliminary                         2007 Microchip Technology Inc.
10.9 Power-Down Mode (Sleep)                                PIC12F510/16F506

A device may be powered down (Sleep) and later               Note 1: Caution: Right before entering Sleep,
powered up (wake-up from Sleep Reset).                                   read the comparator Configuration
                                                                         register(s) CM1CON0 and CM2CON0.
10.9.1 SLEEP                                                             When in Sleep, wake-up occurs when the
                                                                         comparator output bit C1OUT and
The Power-Down mode is entered by executing a                            C2OUT change from the state they were
SLEEP instruction.                                                       in at the last reading. If a wake-up on
                                                                         comparator change occurs and the pins
If enabled, the Watchdog Timer will be cleared but                       are not read before re-entering Sleep, a
keeps running, the TO bit (STATUS<4>) is set, the PD                     wake-up will occur immediately, even if
bit (STATUS<3>) is cleared and the oscillator driver is                  no pins change while in Sleep mode.
turned off. The I/O ports maintain the status they had
before the SLEEP instruction was executed (driving                  2: For 16F506 only.
high, driving low or high-impedance).                    The WDT is cleared when the device wakes from
                                                         Sleep, regardless of the wake-up source.
   Note: A device Reset generated by a WDT
               time-will not drive the MCLR pin low.     10.10 Program Verification/Code
                                                                  Protection
For lowest current consumption while powered down,
all input pins should be at VDD or VSS and (GP3/RB3)/    If the code protection bit has not been programmed, the
MCLR/VPP pin must be at a logic high level if MCLR is    on-chip program memory can be read out for
enabled.                                                 verification purposes.
                                                         The first 64 locations and the last location (OSCCAL)
10.9.2 WAKE-UP FROM SLEEP RESET                          can be read, regardless of the code protection bit
                                                         setting.
The device can wake-up from Sleep through one of the     The last memory location can be read regardless of the
following events:                                        code protection bit setting on the PIC12F510/16F506
                                                         devices.
1. An external Reset input on (GP3/RB3)/MCLR/
      VPP pin when configured as MCLR.                   10.11 ID Locations

2. A Watchdog Timer Time-out Reset (if WDT was           Four memory locations are designated as ID locations
      enabled).                                          where the user can store checksum or other code
                                                         identification numbers. These locations are not
3. A change-on-input pin GP0/RB0, GP1/RB1,               accessible during normal execution, but are readable
      GP3/RB3 or RB4 when wake-up on change is           and writable during Program/Verify.
      enabled.                                           Use only the lower 4 bits of the ID locations and always
                                                         set the upper 4 bits as `1's. The upper 4 bits are
4. A change in the comparator ouput bits, C1OUT          unimplemented.
      and C2OUT (if comparator wake-up is enabled).      These locations can be read regardless of the code
                                                         protect setting.
These events cause a device Reset. The TO, PD,
CWUF and GPWUF/RBWUF bits can be used to deter-
mine 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 CWUF bit indicates a change in
comparator output state while the device was in Sleep.
The GPWUF/RBWUF bit indicates a change in state
while in Sleep at pins GP0/RB0, GP1/RB1, GP3/RB3
or RB4 (since the last file or bit operation on GP/RB
port).

Note:  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.

2007 Microchip Technology Inc.  Preliminary            DS41268C-page 69
PIC12F510/16F506                                             FIGURE 10-16:  TYPICAL IN-CIRCUIT
                                                                            SERIAL PROGRAMMING
10.12 In-Circuit Serial ProgrammingTM                                       CONNECTION
          (ICSPTM)
                                                             External       To Normal
The PIC12F510/16F506 microcontrollers can be                 Connector      Connections
serially programmed while in the end application circuit.    Signals
This is simply done with two lines for clock and data,                                   PIC12F510
and three other lines for power, ground and the                    +5V                   PIC16F506
programming voltage. This allows customers to manu-                  0V
facture boards with unprogrammed devices and then                                        VDD
program the microcontroller just before shipping the               VPP                   VSS
product. This also allows the most recent firmware, or                                   MCLR/VPP
a custom firmware, to be programmed.                              CLK
                                                                                         GP1/RB1
The devices are placed into a Program/Verify mode by         Data I/O
holding the GP1/RB1 and GP0/RB0 pins low while rais-                                     GP0/RB0
ing the MCLR (VPP) pin from VIL to VIHH (see program-
ming specification). GP1/RB1 becomes the                                                              VDD
programming clock and GP0/RB0 becomes the
programming data. Both GP1/RB1 and GP0/RB0 are                              To Normal
Schmitt Trigger inputs in this mode.                                        Connections

After Reset, a 6-bit command is supplied to the device.
Depending on the command and if the command was a
Load or a Read, 14 bits of program data are then sup-
plied to or from the device. For complete details of serial
programming, please refer to the PIC12F510/16F506
Programming Specifications.

A typical In-Circuit Serial Programming connection is
shown in Figure 10-16.

DS41268C-page 70  Preliminary                                                2007 Microchip Technology Inc.
                                                                       PIC12F510/16F506

11.0 INSTRUCTION SET SUMMARY                                   All instructions are executed within a single instruction
                                                               cycle, unless a conditional test is true or the program
The PIC16 instruction set is highly orthogonal and is          counter is changed as a result of an instruction. In this
comprised of three basic categories.                           case, the execution takes two instruction cycles. One
                                                               instruction cycle consists of four oscillator periods.
Byte-oriented operations                                     Thus, for an oscillator frequency of 4 MHz, the normal
Bit-oriented operations                                      instruction execution time is 1 s. If a conditional test is
Literal and control operations                               true or the program counter is changed as a result of an
                                                               instruction, the instruction execution time is 2 s.
Each PIC16 instruction is a 12-bit word divided into an
opcode, which specifies the instruction type, and one          Figure 11-1 shows the three general formats that the
or more operands which further specify the operation           instructions can have. All examples in the figure use
of the instruction. The formats for each of the catego-        the following format to represent a hexadecimal
ries is presented in Figure 11-1, while the various            number:
opcode fields are summarized in Table 11-1.
                                                                     0xhhh
For byte-oriented instructions, `f' represents a file
register designator and `d' represents a destination           where `h' signifies a hexadecimal digit.
designator. The file register designator specifies which
file register is to be used by the instruction.                FIGURE 11-1:           GENERAL FORMAT FOR
                                                                                      INSTRUCTIONS
The destination designator specifies where the result of
the operation is to be placed. If `d' is `0', the result is    Byte-oriented file register operations
placed in the W register. If `d' is `1', the result is placed
in the file register specified in the instruction.                     11             654                               0

For bit-oriented instructions, `b' represents a bit field                  OPCODE     d                     f (FILE #)
designator which selects the number of the bits
affected by the operation, while `f' represents the                        d = 0 for destination W
number of the file in which the bit is located.                            d = 1 for destination f
                                                                           f = 5-bit file register address
For literal and control operations, `k' represents an
8 or 9-bit constant or literal value.                          Bit-oriented file register operations

                                                                       11             87 5 4                            0

                                                                           OPCODE     b (BIT #) f (FILE #)

TABLE 11-1: OPCODE FIELD                                                   b = 3-bit bit address
                     DESCRIPTIONS                                          f = 5-bit file register address

Field                   Description                            Literal and control operations (except GOTO)

   f   Register file address (0x00 to 0x7F)                            11             87                                     0
W                                                                            OPCODE                        k (literal)
  b    Working register (accumulator)
  k                                                                        k = 8-bit immediate value
  x    Bit address within an 8-bit file register
                                                               Literal and control operations GOTO instruction
  d    Literal field, constant data or label
                                                                       11             98                                    0
label  Don't care location (= 0 or 1)                                         OPCODE                        k (literal)
TOS    The assembler will generate code with x = 0. It is the
PC    recommended form of use for compatibility with all                  k = 9-bit immediate value
WDT    Microchip software tools.

       Destination select;
       d = 0 (store result in W)
       d = 1 (store result in file register `f')
       Default is d = 1

       Label name

       Top-of-Stack

       Program Counter

       Watchdog Timer counter

TO Time-out bit

PD Power-down bit

dest Destination, either the W register or the specified
            register file location

[ ] Options

( ) Contents

       Assigned to

< > Register bit field

       In the set of

italics User defined term (font is courier)

2007 Microchip Technology Inc.                          Preliminary                                       DS41268C-page 71
PIC12F510/16F506

TABLE 11-2: INSTRUCTION SET SUMMARY

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

                                                                    MSb  LSb

ADDWF f, d Add W and f                                      1 0001 11df ffff C, DC, Z 1, 2, 4

ANDWF f, d AND W with f                                     1 0001 01df ffff       Z         2, 4

CLRF   f          Clear f                                   1 0000 011f ffff       Z         4

CLRW             Clear W                                   1 0000 0100 0000       Z

COMF   f, d Complement f                                    1 0010 01df ffff       Z

DECF   f, d Decrement f                                     1 0000 11df ffff       Z         2, 4

DECFSZ f, d Decrement f, Skip if 0                          1(2) 0010 11df ffff None 2, 4

INCF   f, d Increment f                                     1 0010 10df ffff       Z         2, 4

INCFSZ f, d Increment f, Skip if 0                          1(2) 0011 11df ffff None 2, 4

IORWF  f, d Inclusive OR W with f                           1 0001 00df ffff       Z         2, 4

MOVF   f, d Move f                                          1 0010 00df ffff       Z         2, 4

MOVWF f           Move W to f                               1 0000 001f ffff None 1, 4

NOP              No Operation                              1 0000 0000 0000 None

RLF    f, d Rotate left f through Carry                     1 0011 01df ffff       C         2, 4

RRF    f, d Rotate right f through Carry                    1 0011 00df ffff       C         2, 4

SUBWF f, d Subtract W from f                                1 0000 10df ffff C, DC, Z 1, 2, 4

SWAPF f, d Swap f                                           1 0011 10df ffff None 2, 4

XORWF f, d Exclusive OR W with f                            1 0001 10df ffff       Z         2, 4

                               BIT-ORIENTED FILE REGISTER OPERATIONS

BCF    f, b Bit Clear f                                      1 0100 bbbf ffff None 2, 4
BSF    f, b Bit Set f
BTFSC  f, b Bit Test f, Skip if Clear                        1 0101 bbbf ffff None 2, 4
BTFSS  f, b Bit Test f, Skip if Set                         1(2) 0110 bbbf ffff None
                                                            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           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. See Section 4.6 "Program Counter".

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

      3: The instruction TRIS f, where f = 6, causes the contents of the W register to be written to the tri-state
            latches of PORTB. A `1' forces the pin to a high-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).

DS41268C-page 72                               Preliminary                2007 Microchip Technology Inc.
                                                                PIC12F510/16F506

ADDWF         Add W and f                                  BCF           Bit Clear f
Syntax:
Operands:     [ label ] ADDWF f,d                          Syntax:       [ label ] BCF f,b
              0  f  31
Operation:    d  [0,1]                                     Operands:     0  f  31
Status        (W) + (f)  (dest)                                          0b7
Affected:     C, DC, Z
Description:                                               Operation:    0  (f)
              Add the contents of the W register
              and register `f'. If `d' is `0', the result  Status Affected: None
              is stored in the W register. If `d' is
              `1', the result is stored back in            Description:  Bit `b' in register `f' is cleared.
              register `f'.

ANDLW         AND literal with W                           BSF           Bit Set f

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

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

Status Affected: Z                                         Operation:    1  (f)

Description:  The contents of the W register are           Status Affected: None
              AND'ed with the eight-bit literal `k'.
              The result is placed in the W                Description:  Bit `b' in register `f' is set.
              register.

ANDWF         AND W with f                                 BTFSC         Bit Test f, Skip if Clear

Syntax:       [ label ] ANDWF f,d                          Syntax:       [ label ] BTFSC f,b

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

Operation:    (W) .AND. (f)  (dest)                        Operation:    skip if (f) = 0

Status Affected: Z                                         Status Affected: None

Description:  The contents of the W register are           Description:  If bit `b' in register `f' is `0', then the
              AND'ed with register `f'. If `d' is `0',                   next instruction is skipped.
              the result is stored in the W regis-                       If bit `b' is `0', then the next instruc-
              ter. If `d' is `1', the result is stored                   tion fetched during the current
              back in register `f'.                                      instruction execution is discarded,
                                                                         and a NOP is executed instead,
                                                                         making this a two-cycle instruction.

2007 Microchip Technology Inc.     Preliminary                                             DS41268C-page 73
PIC12F510/16F506

BTFSS             Bit Test f, Skip if Set                      CLRW          Clear W

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

Operands:         0  f  31                                     Operands:     None
                  0b<7
                                                               Operation:    00h  (W);
                                                                             1Z
Operation:        skip if (f) = 1

Status Affected: None                                          Status Affected: Z

Description:      If bit `b' in register `f' is `1', then the  Description:  The W register is cleared. Zero bit
                  next instruction is skipped.                               (Z) is set.
                  If bit `b' is `1', then the next instruc-
                  tion fetched during the current
                  instruction execution, is discarded
                  and a NOP is executed instead,
                  making this a two-cycle instruction.

CALL              Subroutine Call                              CLRWDT        Clear Watchdog Timer

Syntax:           [ label ] CALL k                             Syntax:       [ label ] CLRWDT

Operands:         0  k  255                                    Operands:     None

Operation:        (PC) + 1 Top-of-Stack;                       Operation:    00h  WDT;
                  k  PC<7:0>;                                                0  WDT prescaler (if assigned);
                  (STATUS <6:5>)  PC<10:9>;                                  1  TO;
                  0  PC<8>                                                   1  PD

Status Affected: None                                          Status Affected: TO, PD

Description:      Subroutine call. First, return               Description:  The CLRWDT instruction resets the
                  address (PC + 1) is PUSHed onto                            WDT. It also resets the prescaler,
                  the stack. The eight-bit immediate                         if the prescaler is assigned to the
                  address is loaded into PC                                  WDT and not Timer0. Status bits
                  bits <7:0>. The upper bits                                 TO and PD are set.
                  PC<10:9> are loaded from
                  STATUS <6:5>, PC<8> is cleared.
                  CALL is a two-cycle instruction.

CLRF              Clear f                                      COMF          Complement f

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

Operands:         0  f  31                                     Operands:     0  f  31
                                                                             d  [0,1]
Operation:        00h  (f);
                  1Z
                                                               Operation:    (f)  (dest)

Status Affected: Z                                             Status Affected: Z

Description:      The contents of register `f' are             Description:  The contents of register `f' are
                  cleared and the Z bit is set.                              complemented. If `d' is `0', the
                                                                             result is stored in the W register. If
                                                                             `d' is `1', the result is stored back in
                                                                             register `f'.

DS41268C-page 74                                    Preliminary                     2007 Microchip Technology Inc.
                                                             PIC12F510/16F506

DECF          Decrement f                              INCF          Increment f

Syntax:       [ label ] DECF f,d                       Syntax:       [ label ] INCF f,d

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

Operation:    (f) 1  (dest)                          Operation:    (f) + 1  (dest)

Status Affected: Z                                     Status Affected: Z

Description:  Decrement register `f'. If `d' is `0',   Description:  The contents of register `f' are
              the result is stored in the W                          incremented. If `d' is `0', the result
              register. If `d' is `1', the result is                 is placed in the W register. If `d' is
              stored back in register `f'.                           `1', the result is placed back in
                                                                     register `f'.

DECFSZ        Decrement f, Skip if 0                   INCFSZ        Increment f, Skip if 0

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

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

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

Status Affected: None                                  Status Affected: None

Description:  The contents of register `f' are         Description:  The contents of register `f' are
              decremented. If `d' is `0', the result                 incremented. If `d' is `0', the result
              is placed in the W register. If `d' is                 is placed in the W register. If `d' is
              `1', the result is placed back in                      `1', the result is placed back in
              register `f'.                                          register `f'.
              If the result is `0', the next instruc-                If the result is `0', then the next
              tion, which is already fetched, is                     instruction, which is already
              discarded and a NOP is executed                        fetched, is discarded and a NOP is
              instead making it a two-cycle                          executed instead making it a
              instruction.                                           two-cycle instruction.

GOTO          Unconditional Branch                     IORLW         Inclusive OR literal with W

Syntax:       [ label ] GOTO k                         Syntax:       [ label ] IORLW k

Operands:     0  k  511                                Operands:     0  k  255

Operation:    k  PC<8:0>;                              Operation:    (W) .OR. (k)  (W)
              STATUS <6:5>  PC<10:9>
                                                       Status Affected: Z

Status Affected: None                                  Description:  The contents of the W register are
                                                                     OR'ed with the eight-bit literal `k'.
Description:  GOTO is an unconditional branch.                       The result is placed in the
              The 9-bit immediate value is                           W register.
              loaded into PC bits <8:0>. The
              upper bits of PC are loaded from
              STATUS <6:5>. GOTO is a two-
              cycle instruction.

2007 Microchip Technology Inc.              Preliminary                             DS41268C-page 75
PIC12F510/16F506

IORWF             Inclusive OR W with f                       MOVWF             Move W to f

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

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

Operation:        (W).OR. (f)  (dest)                         Status Affected: None

Status Affected: Z                                            Description:      Move data from the W register to
                                                                                register `f'.
Description:      Inclusive OR the W register with
                  register `f'. If `d' is `0', the result is
                  placed in the W register. If `d' is `1',
                  the result is placed back in register
                  `f'.

MOVF              Move f                                      NOP               No Operation

Syntax:           [ label ] MOVF f,d                          Syntax:           [ label ] NOP
                                                              Operands:         None
Operands:         0  f  31                                    Operation:        No operation
                  d  [0,1]

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

Status Affected: Z                                            Description:      No operation.

Description:      The contents of register `f' are
                  moved to destination `d'. If `d' is `0',
                  destination is the W register. If `d'
                  is `1', the destination is file
                  register `f'. `d' = 1 is useful as a
                  test of a file register, since Status
                  flag Z is affected.

MOVLW             Move Literal to W                           OPTION            Load OPTION Register

Syntax:           [ label ] MOVLW k                           Syntax:           [ label ] Option
                                                              Operands:         None
Operands:         0  k  255                                   Operation:        (W)  Option
                                                              Status Affected:  None
Operation:        k  (W)                                      Description:      The content of the W register is
                                                                                loaded into the OPTION register.
Status Affected: None

Description:      The eight-bit literal `k' is loaded
                  into the W register. The "don't
                  cares" will be assembled as `0's.

DS41268C-page 76                                       Preliminary                   2007 Microchip Technology Inc.
                                                             PIC12F510/16F506

RETLW         Return with Literal in W                   SLEEP         Enter SLEEP Mode

Syntax:       [ label ] RETLW k                          Syntax:       [label ] SLEEP

Operands:     0  k  255                                  Operands:     None

Operation:    k  (W);                                    Operation:    00h  WDT;
              TOS  PC                                                  0  WDT prescaler;
                                                                       1  TO;
Status Affected: None                                                  0  PD

Description:  The W register is loaded with the          Status Affected: TO, PD, RBWUF
              eight-bit literal `k'. The program
              counter is loaded from the top of          Description:  Time-out Status bit (TO) is set.
              the stack (the return address).                          The Power-down Status bit (PD) is
              This is a two-cycle instruction.                         cleared.
                                                                       RBWUF is unaffected.
                                                                       The WDT and its prescaler are
                                                                       cleared.
                                                                       The processor is put into Sleep
                                                                       mode with the oscillator stopped.
                                                                       See Section 10.9 "Power-Down
                                                                       Mode (Sleep)" on Sleep for more
                                                                       details.

RLF           Rotate Left f through Carry                SUBWF         Subtract W from f

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

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

Operation:    See description below                      Operation:    (f) (W)  (dest)

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

Description:  The contents of register `f' are           Description:  Subtract (2's complement method)
              rotated one bit to the left through                      the W register from register `f'. If `d'
              the Carry flag. If `d' is `0', the result                is `0', the result is stored in the W
              is placed in the W register. If `d' is                   register. If `d' is `1', the result is
              `1', the result is stored back in                        stored back in register `f'.
              register `f'.

                       C          register `f'

RRF           Rotate Right f through Carry               SWAPF         Swap Nibbles in f

Syntax:       [ label ] RRF f,d                          Syntax:       [ label ] SWAPF f,d

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

Operation:    See description below                      Operation:    (f<3:0>)  (dest<7:4>);
                                                                       (f<7:4>)  (dest<3:0>)
Status Affected: C

Description:  The contents of register `f' are           Status Affected: None
              rotated one bit to the right through
              the Carry flag. If `d' is `0', the result  Description:  The upper and lower nibbles of
              is placed in the W register. If `d' is                   register `f' are exchanged. If `d' is
              `1', the result is placed back in                        `0', the result is placed in W
              register `f'.                                            register. If `d' is `1', the result is
                                                                       placed in register `f'.

                       C          register `f'

2007 Microchip Technology Inc.                Preliminary                               DS41268C-page 77
PIC12F510/16F506

TRIS              Load TRIS Register                      XORWF         Exclusive OR W with f

Syntax:           [ label ] TRIS f                        Syntax:       [ label ] XORWF f,d
Operands:         f=6
Operation:        (W)  TRIS register f                    Operands:     0  f  31
Status Affected:  None                                                  d  [0,1]
Description:      TRIS register `f' (f = 6 or 7) is
                  loaded with the contents of the W       Operation:    (W) .XOR. (f)  (dest)
                  register
                                                          Status Affected: Z

                                                          Description:  Exclusive OR the contents of the
                                                                        W register with register `f'. If `d' is
                                                                        `0', the result is stored in the W
                                                                        register. If `d' is `1', the result is
                                                                        stored back in register `f'.

XORLW             Exclusive OR literal with W

Syntax:           [label ] XORLW k

Operands:         0  k  255

Operation:        (W) .XOR. k  (W)

Status Affected: Z

Description:      The contents of the W register are
                  XOR'ed with the eight-bit literal `k'.
                  The result is placed in the W
                  register.

DS41268C-page 78                               Preliminary                     2007 Microchip Technology Inc.
12.0 DEVELOPMENT SUPPORT                                PIC12F510/16F506

The PIC microcontrollers are supported with a full  12.1 MPLAB Integrated Development
range of hardware and software development tools:             Environment Software

Integrated Development Environment                 The MPLAB IDE software brings an ease of software
   - MPLAB IDE Software                             development previously unseen in the 8/16-bit micro-
                                                     controller market. The MPLAB IDE is a Windows
Assemblers/Compilers/Linkers                       operating system-based application that contains:
   - MPASMTM Assembler
   - MPLAB C18 and MPLAB C30 C Compilers             A single graphical interface to all debugging tools
   - MPLINKTM Object Linker/                            - Simulator
      MPLIBTM Object Librarian                          - Programmer (sold separately)
   - MPLAB ASM30 Assembler/Linker/Library               - Emulator (sold separately)
                                                        - In-Circuit Debugger (sold separately)
Simulators
   - MPLAB SIM Software Simulator                     A full-featured editor with color-coded context
                                                      A multiple project manager
Emulators                                           Customizable data windows with direct edit of
   - MPLAB ICE 2000 In-Circuit Emulator
   - MPLAB REAL ICETM In-Circuit Emulator               contents
                                                      High-level source code debugging
In-Circuit Debugger                                 Visual device initializer for easy register
   - MPLAB ICD 2
                                                        initialization
Device Programmers                                  Mouse over variable inspection
   - PICSTART Plus Development Programmer            Drag and drop variables from source to watch
   - MPLAB PM3 Device Programmer
   - PICkitTM 2 Development Programmer                  windows
                                                      Extensive on-line help
Low-Cost Demonstration and Development             Integration of select third party tools, such as
   Boards and Evaluation Kits
                                                        HI-TECH Software C Compilers and IAR
                                                        C Compilers

                                                     The MPLAB IDE allows you to:

                                                      Edit your source files (either assembly or C)
                                                      One touch assemble (or compile) and download

                                                        to PIC MCU emulator and simulator tools
                                                        (automatically updates all project information)
                                                      Debug using:
                                                        - Source files (assembly or C)
                                                        - Mixed assembly and C
                                                        - Machine code

                                                     MPLAB IDE supports multiple debugging tools in a
                                                     single development paradigm, from the cost-effective
                                                     simulators, through low-cost in-circuit debuggers, to
                                                     full-featured emulators. This eliminates the learning
                                                     curve when upgrading to tools with increased flexibility
                                                     and power.

2007 Microchip Technology Inc.  Preliminary        DS41268C-page 79
PIC12F510/16F506                                             12.5 MPLAB ASM30 Assembler, Linker
                                                                      and Librarian
12.2 MPASM Assembler
                                                             MPLAB ASM30 Assembler produces relocatable
The MPASM Assembler is a full-featured, universal            machine code from symbolic assembly language for
macro assembler for all PIC MCUs.                            dsPIC30F devices. MPLAB C30 C Compiler uses the
                                                             assembler to produce its object file. The assembler
The MPASM Assembler generates relocatable object             generates relocatable object files that can then be
files for the MPLINK Object Linker, Intel standard HEX      archived or linked with other relocatable object files and
files, MAP files to detail memory usage and symbol           archives to create an executable file. Notable features
reference, absolute LST files that contain source lines      of the assembler include:
and generated machine code and COFF files for
debugging.                                                    Support for the entire dsPIC30F instruction set
                                                             Support for fixed-point and floating-point data
The MPASM Assembler features include:                         Command line interface
                                                             Rich directive set
Integration into MPLAB IDE projects                         Flexible macro language
User-defined macros to streamline                           MPLAB IDE compatibility

   assembly code                                             12.6 MPLAB SIM Software Simulator
Conditional assembly for multi-purpose
                                                             The MPLAB SIM Software Simulator allows code
   source files                                              development in a PC-hosted environment by simulat-
Directives that allow complete control over the            ing the PIC MCUs and dsPIC DSCs on an instruction
                                                             level. On any given instruction, the data areas can be
   assembly process                                          examined or modified and stimuli can be applied from
                                                             a comprehensive stimulus controller. Registers can be
12.3 MPLAB C18 and MPLAB C30                                 logged to files for further run-time analysis. The trace
         C Compilers                                         buffer and logic analyzer display extend the power of
                                                             the simulator to record and track program execution,
The MPLAB C18 and MPLAB C30 Code Development                 actions on I/O, most peripherals and internal registers.
Systems are complete ANSI C compilers for
Microchip's PIC18 and PIC24 families of microcontrol-        The MPLAB SIM Software Simulator fully supports
lers and the dsPIC30 and dsPIC33 family of digital sig-      symbolic debugging using the MPLAB C18 and
nal controllers. These compilers provide powerful            MPLAB C30 C Compilers, and the MPASM and
integration capabilities, superior code optimization and     MPLAB ASM30 Assemblers. The software simulator
ease of use not found with other compilers.                  offers the flexibility to develop and debug code outside
                                                             of the hardware laboratory environment, making it an
For easy source level debugging, the compilers provide       excellent, economical software development tool.
symbol information that is optimized to the MPLAB IDE
debugger.

12.4 MPLINK Object Linker/
         MPLIB Object Librarian

The MPLINK Object Linker combines relocatable
objects created by the MPASM Assembler and the
MPLAB C18 C Compiler. It can link relocatable objects
from precompiled libraries, using directives from a
linker script.

The MPLIB Object Librarian manages the creation and
modification of library files of precompiled code. When
a routine from a library is called from a source file, only
the modules that contain that routine will be linked in
with the application. This allows large libraries to be
used efficiently in many different applications.

The object linker/library features include:

Efficient linking of single libraries instead of many
   smaller files

Enhanced code maintainability by grouping
   related modules together

Flexible creation of libraries with easy module
   listing, replacement, deletion and extraction

DS41268C-page 80  Preliminary                                 2007 Microchip Technology Inc.
12.7 MPLAB ICE 2000                                           PIC12F510/16F506
          High-Performance
          In-Circuit Emulator                              12.9 MPLAB ICD 2 In-Circuit Debugger

The MPLAB ICE 2000 In-Circuit Emulator is intended         Microchip's In-Circuit Debugger, MPLAB ICD 2, is a
to provide the product development engineer with a         powerful, low-cost, run-time development tool,
complete microcontroller design tool set for PIC           connecting to the host PC via an RS-232 or high-speed
microcontrollers. Software control of the MPLAB ICE        USB interface. This tool is based on the Flash PIC
2000 In-Circuit Emulator is advanced by the MPLAB          MCUs and can be used to develop for these and other
Integrated Development Environment, which allows           PIC MCUs and dsPIC DSCs. The MPLAB ICD 2 utilizes
editing, building, downloading and source debugging        the in-circuit debugging capability built into the Flash
from a single environment.                                 devices. This feature, along with Microchip's In-Circuit
                                                           Serial ProgrammingTM (ICSPTM) protocol, offers cost-
The MPLAB ICE 2000 is a full-featured emulator             effective, in-circuit Flash debugging from the graphical
system with enhanced trace, trigger and data monitor-      user interface of the MPLAB Integrated Development
ing features. Interchangeable processor modules allow      Environment. This enables a designer to develop and
the system to be easily reconfigured for emulation of      debug source code by setting breakpoints, single step-
different processors. The architecture of the MPLAB        ping and watching variables, and CPU status and
ICE 2000 In-Circuit Emulator allows expansion to           peripheral registers. Running at full speed enables
support new PIC microcontrollers.                          testing hardware and applications in real time. MPLAB
                                                           ICD 2 also serves as a development programmer for
The MPLAB ICE 2000 In-Circuit Emulator system has          selected PIC devices.
been designed as a real-time emulation system with
advanced features that are typically found on more         12.10 MPLAB PM3 Device Programmer
expensive development tools. The PC platform and
Microsoft Windows 32-bit operating system were           The MPLAB PM3 Device Programmer is a universal,
chosen to best make these features available in a          CE compliant device programmer with programmable
simple, unified application.                               voltage verification at VDDMIN and VDDMAX for
                                                           maximum reliability. It features a large LCD display
12.8 MPLAB REAL ICE In-Circuit                             (128 x 64) for menus and error messages and a modu-
          Emulator System                                  lar, detachable socket assembly to support various
                                                           package types. The ICSPTM cable assembly is included
MPLAB REAL ICE In-Circuit Emulator System is               as a standard item. In Stand-Alone mode, the MPLAB
Microchip's next generation high-speed emulator for        PM3 Device Programmer can read, verify and program
Microchip Flash DSC and MCU devices. It debugs and        PIC devices without a PC connection. It can also set
programs PIC and dsPIC Flash microcontrollers with       code protection in this mode. The MPLAB PM3
the easy-to-use, powerful graphical user interface of the  connects to the host PC via an RS-232 or USB cable.
MPLAB Integrated Development Environment (IDE),            The MPLAB PM3 has high-speed communications and
included with each kit.                                    optimized algorithms for quick programming of large
                                                           memory devices and incorporates an SD/MMC card for
The MPLAB REAL ICE probe is connected to the design        file storage and secure data applications.
engineer's PC using a high-speed USB 2.0 interface and
is connected to the target with either a connector
compatible with the popular MPLAB ICD 2 system
(RJ11) or with the new high speed, noise tolerant, low-
voltage differential signal (LVDS) interconnection
(CAT5).

MPLAB REAL ICE is field upgradeable through future
firmware downloads in MPLAB IDE. In upcoming
releases of MPLAB IDE, new devices will be supported,
and new features will be added, such as software break-
points and assembly code trace. MPLAB REAL ICE
offers significant advantages over competitive emulators
including low-cost, full-speed emulation, real-time
variable watches, trace analysis, complex breakpoints, a
ruggedized probe interface and long (up to three meters)
interconnection cables.

2007 Microchip Technology Inc.  Preliminary              DS41268C-page 81
PIC12F510/16F506                                          12.13 Demonstration, Development and
                                                                    Evaluation Boards
12.11 PICSTART Plus Development
         Programmer                                       A wide variety of demonstration, development and
                                                          evaluation boards for various PIC MCUs and dsPIC
The PICSTART Plus Development Programmer is an            DSCs allows quick application development on fully func-
easy-to-use, low-cost, prototype programmer. It           tional systems. Most boards include prototyping areas for
connects to the PC via a COM (RS-232) port. MPLAB         adding custom circuitry and provide application firmware
Integrated Development Environment software makes         and source code for examination and modification.
using the programmer simple and efficient. The
PICSTART Plus Development Programmer supports             The boards support a variety of features, including LEDs,
most PIC devices in DIP packages up to 40 pins.           temperature sensors, switches, speakers, RS-232
Larger pin count devices, such as the PIC16C92X and       interfaces, LCD displays, potentiometers and additional
PIC17C76X, may be supported with an adapter socket.       EEPROM memory.
The PICSTART Plus Development Programmer is CE
compliant.                                                The demonstration and development boards can be
                                                          used in teaching environments, for prototyping custom
12.12 PICkit 2 Development Programmer                     circuits and for learning about various microcontroller
                                                          applications.
The PICkitTM 2 Development Programmer is a low-cost
programmer and selected Flash device debugger with        In addition to the PICDEMTM and dsPICDEMTM demon-
an easy-to-use interface for programming many of          stration/development board series of circuits, Microchip
Microchip's baseline, mid-range and PIC18F families of    has a line of evaluation kits and demonstration software
Flash memory microcontrollers. The PICkit 2 Starter Kit   for analog filter design, KEELOQ security ICs, CAN,
includes a prototyping development board, twelve          IrDA, PowerSmart battery management, SEEVAL
sequential lessons, software and HI-TECH's PICCTM         evaluation system, Sigma-Delta ADC, flow rate
Lite C compiler, and is designed to help get up to speed  sensing, plus many more.
quickly using PIC microcontrollers. The kit provides
everything needed to program, evaluate and develop        Check the Microchip web page (www.microchip.com)
applications using Microchip's powerful, mid-range        and the latest "Product Selector Guide" (DS00148) for
Flash memory family of microcontrollers.                  the complete list of demonstration, development and
                                                          evaluation kits.

DS41268C-page 82  Preliminary                              2007 Microchip Technology Inc.
                                      PIC12F510/16F506

13.0 ELECTRICAL CHARACTERISTICS

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.0V
Voltage on MCLR with respect to VSS.............................................................................................................0 to +14V
Voltage on all other pins with respect to VSS ............................................................................... -0.3V to (VDD + 0.3V)
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 ............................................................................................................ 100 mA
Max. output current sunk by I/O port ................................................................................................................. 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 "Absolute Maximum Ratings" may cause permanent damage to the
  device. This is a stress rating only and functional operation of the device at those or any other conditions above
  those indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions
  for extended periods may affect device reliability.

2007 Microchip Technology Inc.  Preliminary  DS41268C-page 83
PIC12F510/16F506

FIGURE 13-1:         VOLTAGE-FREQUENCY GRAPH, -40C  TA  +125C (PIC12F510)

6.0

5.5

           5.0
VDD 4.5
(Volts)

           4.0
           3.5

           3.0
           2.5

2.0

                  0             4           8            10       20          25

                                            Frequency (MHz)

FIGURE 13-2:         MAXIMUM OSCILLATOR FREQUENCY TABLE (PIC12F510)

Oscillator Mode          LP        200 kHz           4 MHz 8 MHz      20 MHz
                         XT                    Frequency (MHz)
                  EXTRC
                  INTOSC

                             0

DS41268C-page 84                            Preliminary            2007 Microchip Technology Inc.
                                                           PIC12F510/16F506

FIGURE 13-3:        VOLTAGE FREQUENCY GRAPH, -40C  TA  +125C (PIC16F506)

6.0

5.5

           5.0

VDD 4.5
(Volts)

           4.0

           3.5

3.0
2.5

2.0

                 0                4           8            10       20          25

                                              Frequency (MHz)

FIGURE 13-4:        MAXIMUM OSCILLATOR FREQUENCY TABLE (PIC16F506)

Oscillator Mode         LP
                        XT
                 EXTRC               200 kHz           4 MHz 8 MHz      20 MHz
                 INTOSC                          Frequency (MHz)
                       EC
                       HS

                            0

2007 Microchip Technology Inc.              Preliminary                       DS41268C-page 85
PIC12F510/16F506

13.1 DC Characteristics: PIC12F510/16F506 (Industrial)

DC CHARACTERISTICS                         Standard Operating Conditions (unless otherwise specified)
                                           Operating Temperature -40C  TA  +85C (Industrial)

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

D001 VDD Supply Voltage                    2.0 -- 5.5 V See Figure 13-1

D002  VDR RAM Data Retention               -- 1.5* -- V Device in Sleep mode
                Voltage(2)

D003 VPOR VDD Start Voltage to             -- Vss --        V See Section 10.4 "Power-on Reset
                                                                   (POR)"
                  ensure Power-on Reset

D004  SVDD VDD Rise Rate to ensure 0.05* -- -- V/ms See Section 10.4 "Power-on Reset
D010
                  Power-on Reset                                 (POR)" for details

      IDD Supply Current(3)

                                           -- 170 TBD A FOSC = 4 MHz, VDD = 2.0V(4)

                                           -- 0.4 TBD mA FOSC = 8 MHz, VDD = 3.0V

                                           -- 1.7 TBD mA FOSC = 20 MHz, VDD = 5.0V

                                           --  15 TBD A FOSC = 32 kHz, VDD = 2.0V, WDT
                                                                          disabled
D020  IPD Power-Down Current(5) --
                                               0.1 TBD A VDD = 2.0V
D022 IWDT WDT Current(5)                   --  1.0 TBD A VDD = 2.0V

D023 ICMP Comparator Current               -- 15 TBD A VDD = 2.0V

D024 IADC ADC Current                      -- 100 TBD A VDD = 2.0V

D025 IVREF Internal Reference              -- 80 TBD A VDD = 2.0V
                        Current

D026 CVREF Comparator Voltage              -- 58 TBD A VDD = 2.0V
                        Reference Current

Legend: TBD = To be determined.

      * 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 tri-stated, 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.

      4: Does not include current through REXT (in EXTRC mode only). The current through the resistor can be
            estimated by the formula:
            I = VDD/2REXT (mA) with REXT in k.

      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 high-impedance state and tied to VDD or VSS.

DS41268C-page 86                               Preliminary          2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

13.2 DC Characteristics: PIC12F510/16F506 (Extended)

DC CHARACTERISTICS                         Standard Operating Conditions (unless otherwise specified)
                                           Operating Temperature -40C  TA  +125C (Extended)

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

D001 VDD Supply Voltage                    2.0 -- 5.5 V See Figure 13-1

D002  VDR RAM Data Retention               -- 1.5* -- V Device in Sleep mode
                Voltage(2)

D003 VPOR VDD Start Voltage to             -- Vss --        V See Section 10.4 "Power-on Reset
                                                                   (POR)"
           ensure Power-on Reset

D004  SVDD VDD Rise Rate to ensure 0.05* --    -- V/ms See Section 10.4 "Power-on Reset
D010             Power-on Reset                                 (POR)" for details

       IDD Supply Current(3)

                                           -- 385 TBD A FOSC = 4 MHz, VDD = 5.0V
                                           -- 170 TBD A FOSC = 4 MHz, VDD = 2.0V(4)

                                           -- 0.4 TBD mA FOSC = 8 MHz, VDD = 3.0V

                                           -- 1.7 TBD mA FOSC = 20 MHz, VDD = 5.0V

                                           --  15 TBD A FOSC = 32 kHz, VDD = 2.0V, WDT
                                                                          disabled
D020  IPD Power-Down Current(5) --
D022                                           0.1 TBD A VDD = 2.0V
      IWDT WDT Current(5)                  --  1.0 TBD A VDD = 2.0V

D023 ICMP Comparator Current               -- 15 TBD A VDD = 2.0V

D024 IADC ADC Current                      -- 100 TBD A VDD = 2.0V

D025 IVREF Internal Reference              -- 80 TBD A VDD = 2.0V
                        Current

D026 CVREF Comparator Voltage              -- 58 TBD A VDD = 2.0V
                        Reference Current

Legend: TBD = To be determined.

      * 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 tri-stated, 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.

      4: Does not include current through REXT (in EXTRC mode only). The current through the resistor can be
            estimated by the formula:
            I = VDD/2REXT (mA) with REXT in k.

      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 high-impedance state and tied to VDD or VSS.

2007 Microchip Technology Inc.               Preliminary                                     DS41268C-page 87
PIC12F510/16F506

13.3 DC Characteristics: PIC12F510/16F506 (Industrial, Extended)

                                                      Standard Operating Conditions (unless otherwise specified)

DC CHARACTERISTICS                                    Operating Temperature        -40C  TA  +85C (industrial)

                                                                                   -40C  TA  +125C (extended)

Param          Sym         Characteristic                     Min Typ Max Units                Conditions
  No.

D030           VIL Input Low Voltage                          VSS     --     0.8V  V For 4.5  VDD  5.5V
D030A                   I/O ports
D031                    with TTL buffer                       VSS     -- 0.15 VDD V otherwise
D032
D033                    with Schmitt Trigger buffer           VSS     -- 0.15 VDD V
D033                    MCLR, T0CKI
D033                    OSC1 (in EXTRC), EC(1)                VSS     -- 0.15 VDD V
                        OSC1 (in HS)
D040                    OSC1 (in XT and LP)                   VSS     -- 0.15 VDD V
D040A          VIH Input High Voltage
                        I/O ports                             VSS     -- 0.3 VDD   V
                        with TTL buffer
                                                              VSS     -- 0.3 VDD   V

                                                                      --

                                                              2.0     --     VDD   V 4.5  VDD  5.5V
                                                                             VDD   V Otherwise
                                                      0.25 VDD --
                                                                             VDD   V For entire VDD range
                                                              + 0.8V         VDD   V
                                                                             VDD   V
D041                 with Schmitt Trigger buffer      0.85 VDD --            VDD   V
D042                 MCLR, T0CKI                                             VDD   V
D043                 OSC1 (in EXTRC), EC(1)           0.85 VDD --            TBD   A VDD = 5V, VPIN = VSS
D043                 OSC1 (in HS)
D043                 OSC1 (in XT and LP)              0.85 VDD --
D070                 GPIO/PORTB Weak Pull-up Current
                     Input Leakage Current(2), (3)    0.7 VDD --
D070                 GPIO Weak Pull-up Current (GP3)
                                                              1.6     --

               IPUR                                           TBD     250
                IIL

                                                              TBD     225    TBD   A VDD = 5V
                                                                                            VPIN = 0V
D060                 I/O ports                                --      --     1
D061A                GP3/RB3/MCLR(4)                                               A Vss  VPIN  VDD, Pin at high-impedance
D063                 OSC1                                     --      --     5
                                                                                   A Vss  VPIN  VDD
                                                              --      --     5
                                                                                   A Vss  VPIN  VDD, XT, HS and LP oscillator
                                                                                            configuration

D080 VOL             Output Low Voltage                       --      --     0.6   V IOL = 8.5 mA, VDD = 4.5V, 40C to +85C
D080A                I/O ports/CLKOUT                                              V IOL = 7.0 mA, VDD = 4.5V, 40C to +125C
D083                                                          --      --     0.6   V IOL = 1.6 mA, VDD = 4.5V, 40C to +85C
D083A                OSC2                                                          V IOL = 1.2 mA, VDD = 4.5V, 40C to +125C
                                                              --      --     0.6

                                                              --      --     0.6

                          Output High Voltage         VDD 0.7 --           --    V IOH = -3.0 mA, VDD = 4.5V, 40C to +85C
D090 VOH I/O ports/CLKOUT(3)

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 COSC2 OSC2 pin                                           --      --     15    pF In XT, HS and LP modes when external

                                                                                       clock is used to drive OSC1.

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

Legend:        TBD = To be determined.
            
               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 PIC12F510/16F506 be
          2:   driven with external clock in RC mode.
               The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified levels represent normal operating
          3:   conditions. Higher leakage current may be measured at different input voltages.
          4:   Negative current is defined as coming out of the pin.
               This specification applies when GP3/MCLR is configured as an input with pull-up disabled. The leakage current of the MCLR circuit is
               higher than the standard I/O logic.

DS41268C-page 88                                      Preliminary                      2007 Microchip Technology Inc.
                                                                 PIC12F510/16F506

TABLE 13-1: COMPARATOR SPECIFICATIONS

Sym               Characteristics           Min  Typ             Max          Units           Comments

   VOS       Input Offset Voltage           --   3              10          mV
   VCM
  CMRR       Input Common Mode Voltage      0    -- VDD 1.5 V
   TRT
  VIVRF      Common Mode Rejection Ratio +55*    --               --          dB
                                                                 400*         ns Internal
          *  Response Time(1)               --   150
Note 1:
             Internal Voltage Reference     0.550 0.6            0.650        V

             These parameters are characterized but not tested.

             Response time measured with one comparator input at (VDD 1.5)/2, while the other input transitions
             from VSS to VDD 1.5V.

TABLE 13-2: COMPARATOR VOLTAGE REFERENCE (CVREF) SPECIFICATIONS

Sym               Characteristics           Min  Typ             Max Units                    Comments

CVRES       Resolution                     -- VDD/24* --                     LSb Low Range (VRR = 1)
                                                                              LSb High Range (VRR = 0)
          *                                 --   VDD/32          --
Note 1:
             Absolute Accuracy              --   --              1/2* LSb Low Range (VRR = 1)

                                            --   --              1/2* LSb High Range (VRR = 0)

             Unit Resistor Value (R)        --   2K*             --           
             Settling Time(1)
                                            --

                                            --   --              10*          s

             These parameters are characterized but not tested.

             Settling time measured while VRR = 1 and VR<3:0> transitions from 0000 to 1111.

TABLE 13-3: A/D CONVERTER CHARACTERISTICS (PIC12F510/16F506)

Param        Sym         Characteristic     Min  Typ                   Max             Units  Conditions
  No.

A01 NR Resolution                           --   --                   8 bits           bit

A03 EIL Integral Error                      --   --                     2             LSb VDD = 5.0V

A04 EDL Differential Error                  --   --              -1 < EDL  2 LSb No missing codes to 8

                                                                                              bits VDD = 5.0V

A05 EFS Full-scale Range                    2    --                    5.5*            V VDD

A06 EOFF Offset Error                       --   --                     2             LSb VDD = 5.0V

A07 EGN Gain Error                          --   --                     2             LSb VDD = 5.0V
                                                                                        -- VSS  VAIN  VDD
A10 --            Monotonicity              -- guaranteed(2)            --

A25 VAIN Analog Input Voltage               VSS  --                    VDD             V

                                            VSS  --                  0.9 VDD           V T > 85C and
                                                                                              FOSC > 10 MHz only

A30 ZAIN Recommended Impedance --                --                     10             k

                  of Analog Voltage Source

       * These parameters are characterized but not tested.

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

Note 1: Total Absolute Error includes integral, differential, offset and gain errors.

2: The A/D conversion result never decreases with an increase in the input voltage and has no missing
      codes.

3: When A/D is off, it will not consume any current other than leakage current. The power-down current
      specification includes any such leakage from the A/D module.

2007 Microchip Technology Inc.               Preliminary                                    DS41268C-page 89
PIC12F510/16F506

TABLE 13-4: A/D CONVERTER CHARACTERISTICS (PIC12F510)

Param  Sym        Characteristic      Min  Typ               Max                       Units  Conditions
  No.

A01 NR Resolution                     --   --                8 bits                    bit

A03 EIL Integral Error                --   --                1                        LSb VDD = 5.0V

A04 EDL Differential Error            --   --                -1 < EDL  1 LSb No missing codes to 8

                                                                                              bits VDD = 5.0V

A05 EFS Full-scale Range              2    --                5.5*                      V VDD

A06 EOFF Offset Error                 --   --                1                        LSb VDD = 5.0V

A07 EGN Gain Error                    --   --                1                        LSb VDD = 5.0V
                                                                                        -- VSS  VAIN  VDD
A10 --      Monotonicity              -- guaranteed(2)       --

A25 VAIN Analog Input Voltage         VSS  --                VDD                       V

A30 ZAIN Recommended Impedance --          --                10                        k

            of Analog Voltage Source

       * These parameters are characterized but not tested.

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

Note 1: Total Absolute Error includes integral, differential, offset and gain errors.

2: The A/D conversion result never decreases with an increase in the input voltage and has no missing
      codes.

3: When A/D is off, it will not consume any current other than leakage current. The power-down current
      specification includes any such leakage from the A/D module.

DS41268C-page 90                         Preliminary                                    2007 Microchip Technology Inc.
                                                                        PIC12F510/16F506

13.4 Timing Parameter Symbology and Load Conditions

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

1. TppS2ppS                                                     T Time
2. TppS
T

     F Frequency

    Lowercase (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 (High-impedance)                                V           Valid

   L    Low                                                     Z           High-impedance

FIGURE 13-5:      LOAD CONDITIONS

                               Pin                              Legend:
                                                        Cl      CL = 50 pF for all pins except OSC2

                                                   VSS                  15 pF for OSC2 in XT, HS or LP
                                                                                  modes when external clock
                                                                                  is used to drive OSC1

FIGURE 13-6:      EXTERNAL CLOCK TIMING

          OSC1    Q4              Q1                        Q2          Q3              Q4     Q1

                                        1                            3      3           4   4

                                                                2

2007 Microchip Technology Inc.           Preliminary                                         DS41268C-page 91
PIC12F510/16F506

TABLE 13-5: EXTERNAL CLOCK TIMING REQUIREMENTS

AC CHARACTERISTICS                         Standard Operating Conditions (unless otherwise specified)
                                           Operating Temperature -40C  TA  +85C (industrial),

                                                                           -40C  TA  +125C (extended)

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

1A       FOSC     External CLKIN Frequency(2) DC  --           4 MHz XT Oscillator mode

                                           DC --               20 MHz HS/EC Oscillator mode
                                                                                 (PIC16F506 only)

                                           DC --               200 kHz LP Oscillator mode
                                                                4 MHz EXTRC Oscillator mode
                  Oscillator Frequency(2)  --     --

                                           0.1 --              4 MHz XT Oscillator mode

                                           4      --           20 MHz HS/EC Oscillator mode

                                                                   (PIC16F506 only)

                                           --     --           200 kHz LP Oscillator mode

1        TOSC External CLKIN Period(2)     250 --              -- ns XT Oscillator mode

                                           50 --               -- ns HS/EC Oscillator mode
                                                                                 (PIC16F506 only)

                                           5      --           -- s LP Oscillator mode
                                                               -- ns EXTRC Oscillator mode
                  Oscillator Period(2)     250 --

                                           250 -- 10,000 ns XT Oscillator mode

                                           50     --           250 ns HS/EC Oscillator mode

                                                                   (PIC16F506 only)

                                           5      --           -- s LP Oscillator mode

2        TCY      Instruction Cycle Time   200 4/FOSC --       ns

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

         TosH Time                         2*     --           -- s LP Oscillator

                                           10 --               -- ns HS/EC Oscillator
                                                                                 (PIC16F506 only)

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

         TosF Time                         --     --           50* ns LP Oscillator

                                           --     --           15 ns HS/EC Oscillator
                                                                                 (PIC16F506 only)

         * 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
          operating conditions with the device executing code. Exceeding these specified limits may result in an
          unstable oscillator operation and/or higher than expected current consumption.
          When an external clock input is used, the "max" cycle time limit is "DC" (no clock) for all devices.

DS41268C-page 92                           Preliminary             2007 Microchip Technology Inc.
                                                   PIC12F510/16F506

TABLE 13-6: CALIBRATED INTERNAL RC FREQUENCIES

AC CHARACTERISTICS                Standard Operating Conditions (unless otherwise specified)
                                  Operating Temperature -40C  TA  +85C (industrial),

                                                                    -40C  TA  +125C (extended)

Param  Sym    Characteristic         Freq.   Min  Typ(1) Max*  Units  Conditions
  No.                             Tolerance

F10 FOSC Internal Calibrated INTOSC 1%      7.92 8.00 8.08 MHz VDD = 3.5V TA = 25C
                                             7.84 8.00 8.16 MHz 2.5V  VDD  5.5V
            Frequency(1)          2%
                                                                                     0C  TA  +85C
                                  5%        7.60 8.00 8.40 MHz 2.0V  VDD  5.5V

                                                                                    -40C  TA  +85C (Ind.)
                                                                                    -40C  TA  +125C (Ext.)

          * 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 13-7:  I/O TIMING

                    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.

2007 Microchip Technology Inc.      Preliminary                     DS41268C-page 93
PIC12F510/16F506

TABLE 13-7: TIMING REQUIREMENTS

                                    Standard Operating Conditions (unless otherwise specified)
AC CHARACTERISTICS Operating Temperature -40C  TA  +85C (industrial)

                                                                      -40C  TA  +125C (extended)

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

17     TOSH2IOV OSC1 (Q1 cycle) to Port out valid(2), (3)           --       --                     100*    ns

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

                   (I/O in hold time)(2)

19     TIOV2OSH Port input valid to OSC1 (I/O in setup time) TBD             --                         --  ns

20     TIOR        Port output rise time(2), (3)                    --       10                     25**    ns

21     TIOF        Port output fall time(2), (3)                    --       10                     25**    ns

    * These parameters are characterized but not tested.

    ** These parameters are design targets and are 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: Measurements are taken in EXTRC mode.

    3: See Figure 13-5 for loading conditions.

FIGURE 13-8:       RESET, WATCHDOG TIMER AND DEVICE RESET TIMER TIMING

           VDD                                      30

       MCLR                                                     32                                  32

      Internal                                                           31
          POR
                                    32          34                           34
          DRT

  Timeout(2)

      Internal
        Reset

  Watchdog
Timer Reset

     I/O pin(1)

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

DS41268C-page 94                                Preliminary                   2007 Microchip Technology Inc.
                                                            PIC12F510/16F506

TABLE 13-8: RESET, WATCHDOG TIMER AND DEVICE RESET TIMER

AC CHARACTERISTICS                                Standard Operating Conditions (unless otherwise specified)
                                                  Operating Temperature -40C  TA  +85C (industrial)

                                                                                   -40C  TA  +125C (extended)

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

30 TMCL MCLR Pulse Width (low)                    2000* --           --      ns VDD = 5.0V

31 TWDT Watchdog Timer Time-out Period                9* 18* 30* ms VDD = 5.0V (Commercial)
                    (No Prescaler)                    9* 18* 40* ms VDD = 5.0V (Extended)

32     TDRT Device Reset Timer Period

              Standard                                9* 18* 30* ms VDD = 5.0V (Industrial)
                                                      9* 18* 40* ms VDD = 5.0V (Extended)

              Short                               0.5* 1.125* 2*             ms VDD = 5.0V (Industrial)
                                                  0.5* 1.125* 2.5*           ms VDD = 5.0V (Extended)

34     TIOZ I/O high-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.

FIGURE 13-9:  TIMER0 CLOCK TIMINGS

              T0CKI

                                                  40                     41

                                                      42

TABLE 13-9: TIMER0 CLOCK REQUIREMENTS

AC CHARACTERISTICS                                Standard Operating Conditions (unless otherwise specified)
                                                  Operating Temperature -40C  TA  +85C (industrial)

                                                                                    -40C  TA  +125C (extended)

Parm   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* N      -- -- ns Whichever is greater.
                                                                                                         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.

2007 Microchip Technology Inc.             Preliminary                                    DS41268C-page 95
PIC12F510/16F506

NOTES:

DS41268C-page 96  Preliminary   2007 Microchip Technology Inc.
                                                   PIC12F510/16F506

14.0 DC AND AC
         CHARACTERISTICS GRAPHS
         AND CHARTS

Graphs and charts are not available at this time.

2007 Microchip Technology Inc.  Preliminary      DS41268C-page 97
PIC12F510/16F506

NOTES:

DS41268C-page 98  Preliminary   2007 Microchip Technology Inc.
15.0 PACKAGING                                     PIC12F510/16F506

15.1 Package Marking Information                       Example
               8-Lead PDIP
                                                          12F510/P
              XXXXXXXX                                    017
              XXXXXNNN
                                                                 0410
                     YYWW
                                                       Example
               14-Lead PDIP                                    PIC16F506-I/P
                    XXXXXXXXXXXXXX                                   0410017
                    XXXXXXXXXXXXXX
                          YYWWNNN                      Example
                                                           PIC12F510-I
               8-Lead SOIC (3.90 mm)                        /SN0410
                                                                     017
                  XXXXXXXX
                 XXXXYYWW                               Example

                            NNN                          BE0
                                                          610
               8-Lead 2x3 DFN*                             17

              XXX
             YWW

               NN

Legend:  XX...X                   Customer-specific information
         Y                        Year code (last digit of calendar year)
         YY                       Year code (last 2 digits of calendar year)
         WW                       Week code (week of January 1 is week `01')
         NNN                      Alphanumeric traceability code
         e3                       Pb-free JEDEC designator for Matte Tin (Sn)
                                  This package is Pb-free. The Pb-free JEDEC designator ( e3 )
         *                        can be found on the outer packaging for this package.

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 PIC device marking consists of Microchip part number, year code, week code and traceability code. For
   PIC device 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.

2007 Microchip Technology Inc.      Preliminary                                               DS41268C-page 99
PIC12F510/16F506                              Example
                                                  PIC16F506
15.2 Package Marking Information (Cont'd)         -I/SL
                                                        0410017
                    14-Lead SOIC (3.90 mm)
                       XXXXXXXXXXX             Example
                       XXXXXXXXXXX
                              YYWWNNN            602/MS
                                                 310017
                      8-Lead MSOP
                                               Example
               XXXXXX
               YWWNNN                            16F506/ST
                                                        0410
                      14-Lead TSSOP (4.4 mm)              017

                    XXXXXXXX
                          YYWW
                            NNN

DS41268C-page 100  Preliminary                2007 Microchip Technology Inc.
                                                                  PIC12F510/16F506

8-Lead Plastic Dual In-Line (P) 300 mil Body [PDIP]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                                   N

                                NOTE 1
                                                                                     E1

                                  1 23

                                               D
                                                                                                 E

               A                                         A2

               A1                                    L                                                    c

                                                  e

                                  b1                                                eB

                                  b

                                                     Units                          INCHES

                                      Dimension Limits       MIN                                    NOM   MAX

        Number of Pins                               N                                              8

        Pitch                                        e                              .100 BSC

        Top to Seating Plane                         A                                                  .210

        Molded Package Thickness                     A2      .115                                   .130  .195

        Base to Seating Plane                        A1      .015                                           

        Shoulder to Shoulder Width                   E       .290                                   .310  .325

        Molded Package Width                         E1      .240                                   .250  .280

        Overall Length                               D       .348                                   .365  .400

        Tip to Seating Plane                         L       .115                                   .130  .150

        Lead Thickness                               c       .008                                   .010  .015

        Upper Lead Width                             b1      .040                                   .060  .070

        Lower Lead Width                             b       .014                                   .018  .022

        Overall Row Spacing                         eB                                                 .430

Notes:

1. Pin 1 visual index feature may vary, but must be located with the hatched area.

2. Significant Characteristic.

3. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed .010" per side.

4. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.

                                                                                                    Microchip Technology Drawing C04-018B

2007 Microchip Technology Inc.                  Preliminary                                                   DS41268C-page 101
PIC12F510/16F506

14-Lead Plastic Dual In-Line (P) 300 mil Body [PDIP]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                   N

NOTE 1                                                      E1

                   123
                                       D
                                                                                                                  E

        A                                                   A2

                                                                      L                                            c
                                                                                              eB
        A1
                                   b1

                                  b               e

                                                     Units                          INCHES

                                       Dimension Limits         MIN                 NOM       MAX

           Number of Pins                            N                              14

           Pitch                                     e                              .100 BSC

           Top to Seating Plane                      A                                      .210

           Molded Package Thickness                  A2         .115                .130      .195

           Base to Seating Plane                     A1         .015                         

           Shoulder to Shoulder Width                E          .290                .310      .325

           Molded Package Width                      E1         .240                .250      .280

           Overall Length                            D          .735                .750      .775

           Tip to Seating Plane                      L          .115                .130      .150

           Lead Thickness                            c          .008                .010      .015

           Upper Lead Width                          b1         .045                .060      .070

           Lower Lead Width                          b          .014                .018      .022

           Overall Row Spacing                      eB                                     .430

Notes:

1. Pin 1 visual index feature may vary, but must be located with the hatched area.

2. Significant Characteristic.

3. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed .010" per side.

4. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.

                                                                                    Microchip Technology Drawing C04-005B

DS41268C-page 102                                 Preliminary                                  2007 Microchip Technology Inc.
                                                                            PIC12F510/16F506

8-Lead Plastic Small Outline (SN) Narrow, 3.90 mm Body [SOIC]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                                                      D
                                                                                e

                                                         N

                                                             E
                                                      E1

        NOTE 1

                                  12 3                                                h      
                                                   b

                                                                        h

                                                      A2                                             c

        A

               A1                                                       L

                                                                        L1                    

                                                      Units                   MILLIMETERS

                                                      Dimension Limits  MIN              NOM    MAX

        Number of Pins                                          N                        8

        Pitch                                                   e                     1.27 BSC

        Overall Height                                          A                             1.75

        Molded Package Thickness                                A2      1.25                   

        Standoff                                               A1      0.10                   0.25

        Overall Width                                           E                     6.00 BSC

        Molded Package Width                                    E1                    3.90 BSC

        Overall Length                                          D                     4.90 BSC

        Chamfer (optional)                                      h       0.25                   0.50

        Foot Length                                             L       0.40                   1.27

        Footprint                                               L1                    1.04 REF

        Foot Angle                                                      0                     8

        Lead Thickness                                          c       0.17                   0.25

        Lead Width                                              b       0.31                   0.51

        Mold Draft Angle Top                                            5                     15

        Mold Draft Angle Bottom                                         5                     15

Notes:

1. Pin 1 visual index feature may vary, but must be located within the hatched area.

2. Significant Characteristic.

3. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.15 mm per side.

4. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.
        REF: Reference Dimension, usually without tolerance, for information purposes only.

                                                                                         Microchip Technology Drawing C04-057B

2007 Microchip Technology Inc.                      Preliminary                                       DS41268C-page 103
PIC12F510/16F506

8-Lead Plastic Dual Flat, No Lead Package (MC) 2x3x0.9 mm Body [DFN]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                  D                                                               e
                      N                                                        b

                                                                                                       N

                                                             L

                                                             K

                                                  E                                                       E2

                                                     EXPOSED PAD

        NOTE 1                                                                                               NOTE 1

                      12                                                                           21
                        TOP VIEW                                                               D2
                                                                                      BOTTOM VIEW

                                                  A

        A3                           A1              NOTE 2

                                                     Units            MILLIMETERS

                                         Dimension Limits       MIN                   NOM              MAX

            Number of Pins                           N                                8                1.00
                                                                                                       0.05
            Pitch                                    e                                0.50 BSC
                                                                                                       1.75
            Overall Height                           A          0.80                  0.90             1.90
                                                                                                       0.30
            Standoff                                 A1         0.00                  0.02             0.50

            Contact Thickness                        A3                               0.20 REF           

            Overall Length                           D                                2.00 BSC

            Overall Width                            E                                3.00 BSC

            Exposed Pad Length                       D2         1.30                  

            Exposed Pad Width                        E2         1.50                  

            Contact Width                            b          0.18                  0.25

            Contact Length                           L          0.30                  0.40

            Contact-to-Exposed Pad                   K          0.20                  

Notes:

1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Package may have one or more exposed tie bars at ends.

3. Package is saw singulated.

4. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.
        REF: Reference Dimension, usually without tolerance, for information purposes only.

                                                                                      Microchip Technology Drawing C04-123B

DS41268C-page 104                                    Preliminary                                 2007 Microchip Technology Inc.
                                                                  PIC12F510/16F506

14-Lead Plastic Small Outline (SL) Narrow, 3.90 mm Body [SOIC]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                         D
                     N

                                                           E
                                                     E1

        NOTE 1       123                          e
                 A             b
                                                                                                h

                                                                                      h                  

                                                                                                           c

                                                     A2

        A1                                                          L

                                                                                         L1        

                                                     Units             MILLIMETERS

                                            Dimension Limits  MIN                        NOM       MAX

        Number of Pins                               N                                   14

        Pitch                                        e                                1.27 BSC

        Overall Height                               A                                           1.75

        Molded Package Thickness                     A2       1.25                                 

        Standoff                                    A1       0.10                                0.25

        Overall Width                                E                                6.00 BSC

        Molded Package Width                         E1                               3.90 BSC

        Overall Length                               D                                8.65 BSC

        Chamfer (optional)                           h        0.25                                0.50

        Foot Length                                  L        0.40                                1.27

        Footprint                                    L1                               1.04 REF

        Foot Angle                                             0                                   8

        Lead Thickness                               c        0.17                                0.25

        Lead Width                                   b        0.31                                0.51

        Mold Draft Angle Top                                   5                                 15

        Mold Draft Angle Bottom                                5                                 15

Notes:

1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. Significant Characteristic.

3. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.15 mm per side.

4. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.
        REF: Reference Dimension, usually without tolerance, for information purposes only.

                                                                                             Microchip Technology Drawing C04-065B

2007 Microchip Technology Inc.                  Preliminary                                            DS41268C-page 105
PIC12F510/16F506

8-Lead Plastic Micro Small Outline Package (MS) [MSOP]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                            D
                                  N

                                               E
                                       E1

        NOTE 1

                   12
                                    e

                         b

                                       A2         c                                                      

        A

        A1                                                  L1                                        L

                                                     Units        MILLIMETERS

                                       Dimension Limits     MIN                       NOM       MAX

            Number of Pins                           N                                8

            Pitch                                    e                                0.65 BSC

            Overall Height                           A                                        1.10

            Molded Package Thickness                 A2     0.75                      0.85      0.95

            Standoff                                 A1     0.00                               0.15

            Overall Width                            E                                4.90 BSC

            Molded Package Width                     E1                               3.00 BSC

            Overall Length                           D                                3.00 BSC

            Foot Length                              L      0.40                      0.60      0.80

            Footprint                                L1                               0.95 REF

            Foot Angle                                      0                                 8

            Lead Thickness                           c      0.08                               0.23

            Lead Width                               b      0.22                               0.40

Notes:

1. Pin 1 visual index feature may vary, but must be located within the hatched area.

2. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.15 mm per side.

3. Dimensioning and tolerancing per ASME Y14.5M.
         BSC: Basic Dimension. Theoretically exact value shown without tolerances.
         REF: Reference Dimension, usually without tolerance, for information purposes only.

                                                                                      Microchip Technology Drawing C04-111B

DS41268C-page 106                          Preliminary                                           2007 Microchip Technology Inc.
                                      PIC12F510/16F506

14-Lead Plastic Thin Shrink Small Outline (ST) 4.4 mm Body [TSSOP]

   Note: For the most current package drawings, please see the Microchip Packaging Specification located at
               http://www.microchip.com/packaging

                                                  D
                                    N

                                                         E
                                                  E1

        NOTE 1

                            12
                                                                e

                             b

                                                                   c                                 

        A                                         A2

           A1                                                             L1                          L

                                                                   Units        MILLIMETERS

                                     Dimension Limits                     MIN         NOM       MAX

           Number of Pins                                          N                  14

           Pitch                                                   e                  0.65 BSC

           Overall Height                                          A                          1.20

           Molded Package Thickness                                A2     0.80        1.00      1.05

           Standoff                                                A1     0.05                 0.15

           Overall Width                                           E                  6.40 BSC

           Molded Package Width                                    E1     4.30        4.40      4.50

           Molded Package Length                                   D      4.90        5.00      5.10

           Foot Length                                             L      0.45        0.60      0.75

           Footprint                                               L1                 1.00 REF

           Foot Angle                                                     0                   8

           Lead Thickness                                          c      0.09                 0.20

           Lead Width                                              b      0.19                 0.30

Notes:

1. Pin 1 visual index feature may vary, but must be located within the hatched area.

2. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.15 mm per side.

3. Dimensioning and tolerancing per ASME Y14.5M.

        BSC: Basic Dimension. Theoretically exact value shown without tolerances.
        REF: Reference Dimension, usually without tolerance, for information purposes only.

                                                                                      Microchip Technology Drawing C04-087B

2007 Microchip Technology Inc.                  Preliminary                                         DS41268C-page 107
PIC12F510/16F506

APPENDIX A: REVISION HISTORY

Revision A

Original release.

Revision B

Page 3 Special Microcontroller Features and Low-
Power Features sections.
PIC12F510 Pin Diagram.
Section 3.0 Figure 3-1, Figure 3-2, Table 3-2,
Table 3-3.
Section 4.0 First paragraph, Section 4.2 - Figure
references, Tables 4-1 and 4-2 (Note 1).
Section 5.0 Table 5-2, Table 5-6 Title.
Section 6.0
Section 7.0 First paragraph, Section 7.7, Register
7-1, Register 7-2, Register 7-3, Figure 7-1, Figure 7-2,
Sections 7.4 through 7.7, Table 7-1.
Section 8.0 Sections 8.0 through 8.2, Figure 8-1,
Table 8-1.
Section 9.0 Table 9-2, Register 9-1, Register 9-2,
Table 9-3.
Section 10.0 Registers 10-1 and 10-2 (Note 1), Table
10-2 (Note 2), Section 10.2.5, Section 10.3,
Table 10-3, Table 10-4, Table 10-5, Section 10.4,
Section 10.5, Section 10.6.1, Section 10.9, 10.9.1,
10.9.2, Section 10.11.
Section 13.0 13.1 DC Characteristics, 13.2 DC
Characteristics, Table 13-1, Table 13-3, Table 13-4.

Revision C (03/2007)

Revised Table 3-2 GP3 and Legend; Revised Table 3-
3 RB3 and Legend; Updated Registers to new format;
Revised Section 9.1; Revised Table 9-2; Revised 13.1
DC Characteristics D025; Revised Table 13-2 and
Table 13-3 and Notes; Replaced Package Drawings
(Rev. AN); Added DFN package; Replaced Develop-
ment Support Section; Revised Product ID System.

DS41268C-page 108  Preliminary                            2007 Microchip Technology Inc.
                                                                                               PIC12F510/16F506

INDEX                                                                                          Microchip Internet Web Site.............................................. 108
                                                                                               MPLAB ASM30 Assembler, Linker, Librarian ..................... 80
A                                                                                              MPLAB ICD 2 In-Circuit Debugger ..................................... 81
                                                                                               MPLAB ICE 2000 High-Performance Universal
ALU ....................................................................................... 9
Assembler                                                                                            In-Circuit Emulator...................................................... 81
                                                                                               MPLAB ICE 4000 High-Performance Universal
      MPASM Assembler..................................................... 80
                                                                                                     In-Circuit Emulator...................................................... 81
B                                                                                              MPLAB Integrated Development Environment Software.... 79
                                                                                               MPLAB PM3 Device Programmer ...................................... 81
Block Diagram                                                                                  MPLINK Object Linker/MPLIB Object Librarian .................. 80
      Comparator for the PIC12F510................................... 46
      Comparator for the PIC16F506................................... 46                       O
      On-Chip Reset Circuit ................................................. 64
      Timer0......................................................................... 39       OPTION Register................................................................ 20
      TMR0/WDT Prescaler................................................. 42                   OSC Selection .................................................................... 55
      Watchdog Timer.......................................................... 67              OSCCAL Register............................................................... 22
                                                                                               Oscillator Configurations..................................................... 58
Brown-Out Protection Circuit .............................................. 68                 Oscillator Types

C                                                                                                    HS............................................................................... 58
                                                                                                     LP ............................................................................... 58
C Compilers                                                                                          RC .............................................................................. 58
      MPLAB C18 ................................................................ 80                  XT ............................................................................... 58
      MPLAB C30 ................................................................ 80
                                                                                               P
Carry ..................................................................................... 9
Clocking Scheme ................................................................ 14            PIC12F510/16F506 Device Varieties ................................... 7
Code Protection ............................................................ 55, 69            PICSTART Plus Development Programmer....................... 82
Configuration Bits................................................................ 55          POR
Configuration Word (PIC12F510) ....................................... 56
Configuration Word (PIC16F506) ....................................... 57                            Device Reset Timer (DRT) ................................... 55, 66
Customer Change Notification Service ............................. 108                               PD............................................................................... 68
Customer Notification Service........................................... 108                         Power-on Reset (POR)............................................... 55
Customer Support ............................................................. 108                   TO............................................................................... 68
                                                                                               PORTB ............................................................................... 27
D                                                                                              Power-down Mode.............................................................. 69
                                                                                               Prescaler ............................................................................ 41
DC ....................................................................................... 88  Program Counter ................................................................ 23
DC Characteristics (Extended) ........................................... 87
DC Characteristics (Industrial) ............................................ 86                Q
DC Characteristics (Industrial, Extended) ........................... 88
Development Support ......................................................... 79               Q cycles .............................................................................. 14
Digit Carry ............................................................................. 9
                                                                                               R
E
                                                                                               RC Oscillator....................................................................... 59
Errata .................................................................................... 3  Reader Response............................................................. 109
                                                                                               Read-Modify-Write.............................................................. 37
F                                                                                              Register File Map

Family of Devices                                                                                    PIC12F510 ................................................................. 16
      PIC12F510/16F506....................................................... 5                      PIC16F506 ................................................................. 16
                                                                                               Registers
FSR ..................................................................................... 24         Special Function ......................................................... 17
                                                                                               Reset .................................................................................. 55
I                                                                                              Reset on Brown-Out ........................................................... 68

I/O Interfacing ..................................................................... 27       S
I/O Ports .............................................................................. 27
I/O Programming Considerations........................................ 37                      Sleep ............................................................................ 55, 69
ID Locations .................................................................. 55, 69         Software Simulator (MPLAB SIM) ...................................... 80
INDF.................................................................................... 24    Special Features of the CPU .............................................. 55
Indirect Data Addressing..................................................... 24               Special Function Registers ................................................. 17
Instruction Cycle ................................................................. 14         Stack................................................................................... 23
Instruction Flow/Pipelining .................................................. 14              STATUS Register ..................................................... 9, 18, 51
Instruction Set Summary..................................................... 72
Internet Address................................................................ 108           T

L                                                                                              Timer0
                                                                                                     Timer0 ........................................................................ 39
Loading of PC ..................................................................... 23               Timer0 (TMR0) Module .............................................. 39
                                                                                                     TMR0 with External Clock .......................................... 41
M
                                                                                               Timing Diagrams and Specifications .................................. 91
Memory Organization.......................................................... 15
      Data Memory .............................................................. 16
      Program Memory (PIC12F510/16F506) ..................... 15

2007 Microchip Technology Inc.  Preliminary                                                  DS41268C-page 109
PIC12F510/16F506

Timing Parameter Symbology and Load Conditions........... 91
TRIS Registers.................................................................... 27

W

Wake-up from Sleep ........................................................... 69
Watchdog Timer (WDT) ................................................ 55, 66

      Period.......................................................................... 66
      Programming Considerations ..................................... 66
WWW Address.................................................................. 108
WWW, On-Line Support........................................................ 3

Z

Zero bit .................................................................................. 9

DS41268C-page 110  Preliminary                                                                  2007 Microchip Technology Inc.
THE MICROCHIP WEB SITE                                        PIC12F510/16F506

Microchip provides online support via our WWW site at      CUSTOMER SUPPORT
www.microchip.com. This web site is used as a means
to make files and information easily available to          Users of Microchip products can receive assistance
customers. Accessible by using your favorite Internet      through several channels:
browser, the web site contains the following                Distributor or Representative
information:                                                Local Sales Office
                                                            Field Application Engineer (FAE)
Product Support Data sheets and errata,                Technical Support
   application notes and sample programs, design            Development Systems Information Line
   resources, user's guides and hardware support           Customers should contact their distributor,
   documents, latest software releases and archived        representative or field application engineer (FAE) for
   software                                                support. Local sales offices are also available to help
                                                           customers. A listing of sales offices and locations is
General Technical Support Frequently Asked             included in the back of this document.
   Questions (FAQ), technical support requests,            Technical support is available through the web site
   online discussion groups, Microchip consultant          at: http://support.microchip.com
   program member listing

Business of Microchip Product selector and
   ordering guides, latest Microchip press releases,
   listing of seminars and events, listings of
   Microchip sales offices, distributors and factory
   representatives

CUSTOMER CHANGE NOTIFICATION
SERVICE

Microchip's customer notification service helps keep
customers current on Microchip products. Subscribers
will receive e-mail notification whenever there are
changes, updates, revisions or errata related to a
specified product family or development tool of interest.

To register, access the Microchip web site at
www.microchip.com, click on Customer Change
Notification and follow the registration instructions.

2007 Microchip Technology Inc.  Preliminary              DS41268C-page 111
PIC12F510/16F506

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 (480) 792-4150.

Please list the following information, and use this outline to provide us with your comments about this document.

To: Technical Publications Manager                        Total Pages Sent ________
RE: Reader Response                                   FAX: (______) _________ - _________

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

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

Device: PIC12F510/16F506  Literature Number: DS41268C

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 document easy to follow? If not, why?

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

5. What deletions from the document 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?

DS41268C-page 112                        Preliminary                            2007 Microchip Technology Inc.
                                                              PIC12F510/16F506

PRODUCT IDENTIFICATION SYSTEM

To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.

PART NO.         X                /XX      XXX                Examples:
                                         Pattern
Device       Temperature Package                              a) PIC16F506-E/P 301 = Extended Temp., PDIP
                Range                                                package, QTP pattern #301

Device:      PIC16F506                                        b) PIC16F506-I/SN = Industrial Temp., SOIC
             PIC12F510                                               package
             PIC16F506T(1)
             PIC12F510T(2)                                    c) PIC16F506T-E/P = Extended Temp., PDIP
                                                                     package, Tape and Reel

                VDD range 2.0V to 5.5V

Temperature  I      = -40C to +85C (Industrial)
Range:
Package:     E      = -40C to +125C (Extended)

Pattern:     MC = 8L DFN 2x3 (DUAL Flatpack No-Leads)(3)
             MS = Micro-Small Outline Package (MSOP)(3, 4)
                    = Plastic (PDIP)(4)                       Note 1:    T = in tape and reel SOIC and TSSOP
             P      = 14L Small Outline, 3.90 mm (SOIC)(4)                         packages only
                                                                     2:
             SL                                                          T = in tape and reel SOIC and MSOP
             SN = 8L Small Outline, 3.90 mm Narrow (SOIC)(4)         3:            packages only.
             ST = Thin Shrink Small Outline (TSSOP)(4)               4:
                                                                         PIC12F510 only.
                                                                         Pb-free.

             QTP, SQTP Code or Special Requirements
             (blank otherwise)

2007 Microchip Technology Inc.         Preliminary                                                            DS41268C-page 113
                              WORLDWIDE SALES AND SERVICE

AMERICAS                      ASIA/PACIFIC                ASIA/PACIFIC           EUROPE

Corporate Office              Asia Pacific Office         India - Bangalore      Austria - Wels
2355 West Chandler Blvd.      Suites 3707-14, 37th Floor  Tel: 91-80-4182-8400   Tel: 43-7242-2244-39
Chandler, AZ 85224-6199       Tower 6, The Gateway        Fax: 91-80-4182-8422   Fax: 43-7242-2244-393
Tel: 480-792-7200             Habour City, Kowloon                               Denmark - Copenhagen
Fax: 480-792-7277             Hong Kong                   India - New Delhi      Tel: 45-4450-2828
Technical Support:            Tel: 852-2401-1200          Tel: 91-11-4160-8631   Fax: 45-4485-2829
http://support.microchip.com  Fax: 852-2401-3431          Fax: 91-11-4160-8632
Web Address:                                                                     France - Paris
www.microchip.com             Australia - Sydney          India - Pune           Tel: 33-1-69-53-63-20
                              Tel: 61-2-9868-6733         Tel: 91-20-2566-1512   Fax: 33-1-69-30-90-79
Atlanta                       Fax: 61-2-9868-6755         Fax: 91-20-2566-1513
Duluth, GA                                                                       Germany - Munich
Tel: 678-957-9614             China - Beijing             Japan - Yokohama       Tel: 49-89-627-144-0
Fax: 678-957-1455             Tel: 86-10-8528-2100        Tel: 81-45-471- 6166   Fax: 49-89-627-144-44
                              Fax: 86-10-8528-2104        Fax: 81-45-471-6122
Boston                                                                           Italy - Milan
Westborough, MA               China - Chengdu             Korea - Gumi           Tel: 39-0331-742611
Tel: 774-760-0087             Tel: 86-28-8665-5511        Tel: 82-54-473-4301    Fax: 39-0331-466781
Fax: 774-760-0088             Fax: 86-28-8665-7889        Fax: 82-54-473-4302
                                                                                 Netherlands - Drunen
Chicago                       China - Fuzhou              Korea - Seoul          Tel: 31-416-690399
Itasca, IL                    Tel: 86-591-8750-3506       Tel: 82-2-554-7200     Fax: 31-416-690340
Tel: 630-285-0071             Fax: 86-591-8750-3521       Fax: 82-2-558-5932 or
Fax: 630-285-0075                                         82-2-558-5934          Spain - Madrid
                              China - Hong Kong SAR                              Tel: 34-91-708-08-90
Dallas                        Tel: 852-2401-1200          Malaysia - Penang      Fax: 34-91-708-08-91
Addison, TX                   Fax: 852-2401-3431          Tel: 60-4-646-8870
Tel: 972-818-7423                                         Fax: 60-4-646-5086     UK - Wokingham
Fax: 972-818-2924             China - Qingdao                                    Tel: 44-118-921-5869
                              Tel: 86-532-8502-7355       Philippines - Manila   Fax: 44-118-921-5820
Detroit                       Fax: 86-532-8502-7205       Tel: 63-2-634-9065
Farmington Hills, MI                                      Fax: 63-2-634-9069
Tel: 248-538-2250             China - Shanghai
Fax: 248-538-2260             Tel: 86-21-5407-5533        Singapore
                              Fax: 86-21-5407-5066        Tel: 65-6334-8870
Kokomo                                                    Fax: 65-6334-8850
Kokomo, IN                    China - Shenyang
Tel: 765-864-8360             Tel: 86-24-2334-2829        Taiwan - Hsin Chu
Fax: 765-864-8387             Fax: 86-24-2334-2393        Tel: 886-3-572-9526
                                                          Fax: 886-3-572-6459
Los Angeles                   China - Shenzhen
Mission Viejo, CA             Tel: 86-755-8203-2660       Taiwan - Kaohsiung
Tel: 949-462-9523             Fax: 86-755-8203-1760       Tel: 886-7-536-4818
Fax: 949-462-9608                                         Fax: 886-7-536-4803
                              China - Shunde
Santa Clara                   Tel: 86-757-2839-5507       Taiwan - Taipei
Santa Clara, CA               Fax: 86-757-2839-5571       Tel: 886-2-2500-6610
Tel: 408-961-6444                                         Fax: 886-2-2508-0102
Fax: 408-961-6445             China - Wuhan
                              Tel: 86-27-5980-5300        Thailand - Bangkok
Toronto                       Fax: 86-27-5980-5118        Tel: 66-2-694-1351
Mississauga, Ontario,                                     Fax: 66-2-694-1350
Canada                        China - Xian
Tel: 905-673-0699             Tel: 86-29-8833-7250
Fax: 905-673-6509             Fax: 86-29-8833-7256

DS41268C-page 114                                                                                                   12/08/06
                                                                                  2007 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-2017 EEWORLD.com.cn, Inc. All rights reserved