Datasheet
PIC16C505
DS40192D-page 38 1999-2012 Microchip Technology Inc.
7.12 In-Circuit Serial Programming
The PIC16C505 microcontrollers can be serially
programmed while in the end application circuit. This is
simply done with two lines for clock and data, and three
other lines for power, ground, and the 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 RB1 and RB0 pins low while raising the
MCLR
(VPP) pin from VIL to VIHH (see programming
specification). RB1 becomes the programming clock
and RB0 becomes the programming data. Both RB1
and RB0 are Schmitt Trigger inputs in this mode.
After reset, a 6-bit command is then supplied to the
device. Depending on the command, 14 bits of program
data are then supplied to or from the device, depending
if the command was a load or a read. For complete
details of serial programming, please refer to the
PIC16C505 Programming Specifications.
A typical in-circuit serial programming connection is
shown in Figure 7-15.
FIGURE 7-15: TYPICAL IN-CIRCUIT SERIAL
PROGRAMMING
CONNECTION
External
Connector
Signals
To N o r m a l
Connections
To N o r m a l
Connections
PIC16C505
V
DD
VSS
MCLR/VPP
RB1
RB0
+5V
0V
V
PP
CLK
Data I/O
V
DD