English
Language : 

PIC16F636-I Datasheet, PDF (149/234 Pages) Microchip Technology – 8/14-Pin, Flash-Based 8-Bit CMOS Microcontrollers with nanoWatt Technology
PIC12F635/PIC16F636/639
12.15 In-Circuit Serial Programming
The PIC12F635/PIC16F636/639 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
• 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 hold-
ing the RA0 and RA1 pins low, while raising the MCLR
(VPP) pin from VIL to VIHH. See the “PIC12F6XX/16F6XX
Memory Programming Specification” (DS41204) for
more information. RA0 becomes the programming data
and RA1 becomes the programming clock. Both RA0
and RA1 are Schmitt Trigger inputs in this mode.
After Reset, to place the device into Program/Verify
mode, the Program Counter (PC) is at location 00h. 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 on
whether the command was a load or a read. For
complete details of serial programming, please refer to
the “PIC12F6XX/16F6XX Memory Programming
Specification” (DS41204).
A typical In-Circuit Serial Programming connection is
shown in Figure 12-11.
FIGURE 12-11:
TYPICAL IN-CIRCUIT
SERIAL PROGRAMMING
CONNECTION
External
Connector
Signals
To Normal
Connections
*
PIC16F636
+5V
VDD
0V
VSS
VPP
MCLR/VPP/RA3
CLK
Data I/O
RA1
RA0
12.16 In-Circuit Debugger
Since in-circuit debugging requires the loss of clock,
data and MCLR pins, MPLAB® ICD 2 development with
a 14-pin device is not practical. A special 20-pin
PIC16F636 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.
Use of the ICD device requires the purchase of a
special header. On the top of the header is an
MPLAB ICD 2 connector. On the bottom of the
header is a 14-pin socket that plugs into the user’s
target via the 14-pin stand-off connector.
When the ICD pin on the PIC16F636 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
Stack
Program Memory
ICDCLK, ICDDATA
1 level
Address 0h must be NOP
700h-7FFh
For more information, see the “MPLAB® ICD 2 In-Circuit
Debugger User’s Guide” (DS51331), available on
Microchip’s web site (www.microchip.com).
FIGURE 12-12:
20-Pin PDIP
20-PIN ICD PINOUT
In-Circuit Debug Device
NC
1
ICDMCLR/VPP
2
20
ICDCLK
19
ICDDATA
VDD
3
18
VSS
RA5
4
17
RA0
RA4
5
16
RA1
RA3
6
15
RA2
RC5
7
14
RC0
RC4
8
13
RC1
RC3
9
12
RC2
ICD
10
11
ENPORT
***
To Normal
Connections
*Isolation devices (as required).
© 2007 Microchip Technology Inc.
DS41232D-page 147