This discussion of PIC's is for the beginner and will focus on the PIC 16F84.  One way to program PIC's is shown below.  It may not be the best way but it works for me.        

                           

You will need the following:                                
1. PIC 16F84, crystal, 2 capacitors            
2. ProgrammerProgrammer
3. Programming software
4.Compiler

The crystal you use will be determined by the PIC's speed either 4 or 10 Mhz for the 16F84..  The caps are 22 picofarad.

The programmer (picture right) is the hardware that the PIC is plugged into when being 'burned'.   The programming software works with the programmer to transfer your code into the PIC.  The compiler is used to convert your code to assembly language and/or Machine Language (HEX) that the programmer software can then load into the PIC. 

The crystals and the two caps are used for PIC timing.  This is explained in the datasheet....read it. 

Seem complicated?  Its not really.  Here's how I do it.

1. I write my code using PICBasic that I bought from www.rentron.com for $100.  I know Basic, I don't know C, I don't know assembly, I don't know fourth.  I know Basic.
2. Compile the code into Assembly language and then into HEX using the PICBasic Compiler.
3. Insert the PIC into the programmer that I purchased from www.electronics123.com for $22.50
4. Use the free software that came with the programmer to load the HEX into the PIC (or use PICALL if your programmer didn't come with software)
5. Open beverage of choice and marvel at today's technology.

Get the datasheet for the PIC 16F84 here or at www.microchip.com

UPDATE: New free compiler at www.letbasic.com for the 16F84

or

Try a compiler before you buy at
 http://compilespot.com 

Email me if you still have questions.