English
Language : 

PIC16F684T-I Datasheet, PDF (116/192 Pages) Microchip Technology – 14-Pin, Flash-Based 8-Bit CMOS Microcontrollers
PIC16F684
12.10 In-Circuit Serial Programming
The PIC16F684 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 micro-
controller 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
“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 Program/Verify mode.
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
*
PIC16F684
+5V
VDD
0V
VSS
VPP
MCLR/VPP/RA3
CLK
Data I/O
RA1
RA0
***
To Normal
Connections
* Isolation devices (as required)
12.11 In-Circuit Debugger
Since in-circuit debugging requires access to three
pins, MPLAB® ICD 2 development with a 14-pin device
is not practical. A special 20-pin PIC16F684 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 PIC16F684 device. The
debugging adapter is the only source of the ICD device.
When the ICD pin on the PIC16F684 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).
FIGURE 12-12: 20-PIN ICD PINOUT
20-Pin PDIP
In-Circuit Debug Device
NC
ICDMCLR/VPP
VDD
RA5
RA4
RA3
RC5
RC4
RC3
ICD
1 20
2 19
3 18
4 17
5 16
6 15
7 14
8 13
9 12
10 11
ICDCLK
ICDDATA
Vss
RA0
RA1
RA2
RC0
RC1
RC2
NC
DS41202F-page 114
© 2007 Microchip Technology Inc.