3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

Understanding ICSP for PIC Microcontrollers

Step 2What is ICSP?

What is ICSP?
«
  • 12f683.jpg
  • 16f628.jpg
  • 18f2550.jpg
  • 18f6627.jpg
Five connections are needed to program a PIC while attached to an application circuit. I add a 5 pin header to my circuit boards to make this connection quick and easy.

The basics of PIC programming.
Five connections are required to program a PIC. Power, ground, a programming voltage, clock, and data.

+ (Vdd)/-(Vss) These are the power & ground connections (Vdd, Vss). Pretty standard. If you are using a programmer with 'real' voltage levels (NOT a JDM2!), your application can run from its own power supply when programmed, eliminating these connections.

Vpp This is the programming voltage. PICs enter programming mode when ~13 volts are placed on the MCLR/Vpp pin (usually pin 1 on modern PICs, more on that below).

Clock/Data or PGC/PGD The clock and data lines are used to write and read the PIC firmware. These are usually the same pins as PORTB6 & PORTB7.

Exercise: Identify the ICSP connection points on the PICs in the pictures below.

If the PIC fits, wear it.
I get a lot of questions about my JDM2 design on instructables. The most frequent is "Will it program PIC X?'"' - here is how you can tell:

1) Look at the data sheet. Find the 'Pin Diagram' that looks something like the picture below.
2) Identify the location of the pins that must be connected for programming (Vpp, Vdd, Vss, Data, & Clock).
3) Look at the socket connection on the programmer. Can you match the required pins with a socket on the programmer?

« Previous StepDownload PDFView All StepsNext Step »
2 comments
Feb 9, 2010. 12:23 PMchawla_mohali says:
Bravo!
:D
Oct 27, 2007. 6:40 PMhayley.mann says:
lost me already.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
128
Followers
30
Author:ian(DangerousPrototypes.com)