dknguyen said:
The programmer usually plugs to the PC through a serial cable (not parallel port, takes too many pins and is clunky). Even that is getting replaced by USB now...
Actually, the parallel port was by far the most popular port used for PIC's, although now it's probably been over taken by 'true' serial port programmers and USB programmers.
The parallel port isn't 'clunky', and it doesn't take too many pins, it takes exactly the same as the 'false' serial port programmers.
There are basically THREE types of PIC programmers in common use:
1) Parallel port - from the 'father of PIC programmers' David Tait, uses a few of the port pins to create the required syncronous bi-directional serial interface.
2) 'Serial' port ones (that I called 'false' above), doesn't actually use the serial port at all, it uses the handshake lines to create the required syncronous bi-directional serial interface - just like the parallel port. These are generally the most unreliable and troublesome programmers! - essentially because you can 'cheat' and make a VERY low component count programmer,
IF your serial port is above the RS232 spec.
3) Serial and USB programmers - these have a processor on board, this does the actual programming. The connection to the computer is simply to transfer the data to the processor, these are the most expensive programmers - as they are by far the most complicated.
All official MicroChip programmers are type 3, so are fairly expensive. Luckily they make the firmware available (so you can upgrade them), so a popular project is an ICD2 clone, a programmer and debugger.