To
program a PIC microcontroller (assuming you have an assembled .hex
file), you'll need two things: a hardware programmer and a software
programmer. A hardware programmer is the circuit that interfaces
between the PIC and your PC's serial or parallel port. The software
programmer is the program that takes the .hex file and controls the
hardware programmer in such a way as to transfer the program to the PIC
chip. There are several free software programmers available on the
Internet, some more capable than others. As for the hardware
programmer, you will either have to buy one or build one. As with the
software, there are numerous free designs available for hardware
programmers, but many have limitations on which PIC chips or other ICs
they can program.
In the past I've only worked with
16F84 chips, which are a bit simpler and smaller and there are about 5
times as many websites dealing with the 16F84/16C84 as there are
dealing with other PIC chips. The first hardware programmer I built was
a JDM stype circuit. It's relatively simple, but made basically just
for the 16F84. A year or two ago I made another hardware programmer
based on a circuit I found online. It's similar to the JDM in design,
but supports more PICs including the 16F87x chips. For the OBDII
project, I decided I might need a 40-pin PIC and didn't know at first
if my other programmer would work with 16F7x chips, so I bought the
P16Pro hardware programmer kit. The sellers of this kit always push
people to use the software programmer PICALL.
Unfortunately, while it's a nice piece of software, it also costs $25
to register and I've found IC-PROG works as well or better for my needs
and is free. I could've built the P16Pro (or a similar design) from
scratch, but $15 is pretty cheap for the PCB & kit and a nice
working programmer.
Hardware programmers
Carl's Electronics -
This is where I got the P16Pro kit fo $14.95. It's a pretty nice kit,
you just need to solder everything together. Also you'll need an
external 17-30VDC or 13-20VAC power supply and 25-pin parallel cable. I
also bought an Aries 40-pin ZIF socket (there are holes for it in the
PCB) to make insertion and extraction of the ICs easier. Carl's item
number for this is CK1702. See picture below.
Nice list of programmers from www.piclist.org
Software programmers
IC-PROG
- This is free (and in my opinion the best) software around for
programming PIC microcontrollers and other ICs. Not only does it
support a huge number of PICs/ICs, but it also supports many different
variants of hardware programmers, including the P16Pro (which it calls
Kit96 or ProPic 2 because that's what the P16Pro is sold as from some
other retailers).
Here's a picture of the three PIC programmers I have.