PIC16F610/616/16HV610/616
12.10 In-Circuit Serial Programming™
The PIC16F610/616/16HV610/616 microcontrollers
can be serially programmed while in the end
application circuit. This is simply done with five
connections for:
• clock
• data
• power
• ground
• programming voltage
This allows customers to manufacture boards with
unprogrammed devices and then program the
microcontroller just before shipping the product. This
also allows the most recent firmware or a custom
firmware to be programmed.
The device is placed into a Program/Verify mode by
holding the RA0 and RA1 pins low, while raising the
MCLR (VPP) pin from VIL to VIHH. See the Memory
Programming Specification (DS41284) for more
information. RA0 becomes the programming data and
RA1 becomes the programming clock. Both RA0 and
RA1 are Schmitt Trigger inputs in Program/Verify
mode.
A typical In-Circuit Serial Programming connection is
shown in Figure 12-10.
FIGURE 12-10:
TYPICAL IN-CIRCUIT
SERIAL
PROGRAMMING™
CONNECTION
External
Connector
Signals
+5V
0V
VPP
To Normal
Connections
*
PIC12F615/12HV615
PIC12F609/12HV609
VDD
VSS
MCLR/VPP/GP3/RA3
CLK
Data I/O
GP1
GP0
Note:
To erase the device VDD must be above
the Bulk Erase VDD minimum given in the
Memory Programming Specification
(DS41284)
12.11 In-Circuit Debugger
Since in-circuit debugging requires access to three pins,
MPLAB® ICD 2 development with an 14-pin device is
not practical. A special 28-pin PIC16F610/616/
16HV610/616 ICD device is used with MPLAB ICD 2 to
provide separate clock, data and MCLR pins and frees
all normally available pins to the user.
A special debugging adapter allows the ICD device to
be used in place of a PIC16F610/616/16HV610/616
device. The debugging adapter is the only source of the
ICD device.
When the ICD pin on the PIC16F610/616/16HV610/
616 ICD device is held low, the In-Circuit Debugger
functionality is enabled. This function allows simple
debugging functions when used with MPLAB ICD 2.
When the microcontroller has this feature enabled,
some of the resources are not available for general
use. Table 12-9 shows which features are consumed
by the background debugger.
TABLE 12-9: DEBUGGER RESOURCES
Resource
Description
I/O pins
ICDCLK, ICDDATA
Stack
1 level
Program Memory Address 0h must be NOP
700h-7FFh
For more information, see “MPLAB® ICD 2 In-Circuit
Debugger User’s Guide” (DS51331), available on
Microchip’s web site (www.microchip.com).
*
*
*
To Normal
Connections
* Isolation devices (as required)
DS41288F-page 126
© 2009 Microchip Technology Inc.