![Microchip Technology PIC12F1501 Manual Download Page 291](http://html1.mh-extra.com/html/microchip-technology/pic12f1501/pic12f1501_manual_1785833291.webp)
PIC16(L)F1508/9
DS40001609E-page 292
2011-2015 Microchip Technology Inc.
27.0
IN-CIRCUIT SERIAL
PROGRAMMING™ (ICSP™)
ICSP™ programming allows customers to manufacture
circuit boards with unprogrammed devices. Programming
can be done after the assembly process allowing the
device to be programmed with the most recent firmware
or a custom firmware. Five pins are needed for ICSP™
programming:
• ICSPCLK
• ICSPDAT
• MCLR/V
PP
• V
DD
• V
SS
In Program/Verify mode the program memory, user IDs
and the Configuration Words are programmed through
serial communications. The ICSPDAT pin is a bidirec-
tional I/O used for transferring the serial data and the
ICSPCLK pin is the clock input. For more information on
ICSP™ refer to the “
PIC12(L)F1501/PIC16(L)F150X
Memory Programming Specification
” (DS41573).
27.1
High-Voltage Programming Entry
Mode
The device is placed into High-Voltage Programming
Entry mode by holding the ICSPCLK and ICSPDAT
pins low then raising the voltage on MCLR/V
PP
to V
IHH
.
27.2
Low-Voltage Programming Entry
Mode
The Low-Voltage Programming Entry mode allows the
PIC
®
Flash MCUs to be programmed using V
DD
only,
without high voltage. When the LVP bit of Configuration
Words is set to ‘
1
’, the ICSP Low-Voltage Programming
Entry mode is enabled. To disable the Low-Voltage
ICSP mode, the LVP bit must be programmed to ‘
0
’.
Entry into the Low-Voltage Programming Entry mode
requires the following steps:
1.
MCLR is brought to V
IL
.
2.
A 32-bit key sequence is presented on
ICSPDAT, while clocking ICSPCLK.
Once the key sequence is complete, MCLR must be
held at V
IL
for as long as Program/Verify mode is to be
maintained.
If low-voltage programming is enabled (LVP =
1
), the
MCLR Reset function is automatically enabled and
cannot be disabled. See
for more
information.
The LVP bit can only be reprogrammed to ‘
0
’ by using
the High-Voltage Programming mode.
27.3
Common Programming Interfaces
Connection to a target device is typically done through
an ICSP™ header. A commonly found connector on
development tools is the RJ-11 in the 6P6C (6-pin,
6-connector) configuration. See
.
FIGURE 27-1:
ICD RJ-11 STYLE
CONNECTOR INTERFACE
Another connector often found in use with the PICkit™
programmers is a standard 6-pin header with 0.1 inch
spacing. Refer to
1
2
3
4
5
6
Target
Bottom Side
PC Board
V
PP
/MCLR
V
SS
ICSPCLK
V
DD
ICSPDAT
NC
Pin Description*
1 = V
PP
/MCLR
2 = V
DD
Target
3 = V
SS
(ground)
4 = ICSPDAT
5 = ICSPCLK
6 = No Connect