Para voce carregar um programa no pic, voce tem que usar um gravador de pic, um exemplo é o ICD 2. Mas existe um jeito de fazer a gravação sem a necesidade de dispor de um gravador de pic. Isso é usando um bootloader. O bootloader é um programa pequeno que roda quando ligar o microcontrolador, ele faz tarefas de inicialização do sistema e depois roda o programa principal. Além disso, o bootloader pode se usar para gravar o proprio pic.
Na imagem temos um exemplo do funcionamiento do bootloader.
O bootloader é um programa (.hex) que tem que ser carregado a primeira vez que você entra em contato com o microcontrolador. Para gravar ele voce precisa um gravador de pic (exemplo ICD 2) e um software.
Neste caso eu usei:
Hardware
*Gravador de pic ICD2 (labtools www.labtools.com.br)
*PIC 18F4550
Software
*MPLab versão 6.XXX (a versão mais nova nao é compativel com o ICD2)
*drivers do ICD2bootloader
* Arquivo .hex que contem o bootloader. O bootloader que usei foi um do projeto USB4Butia (http://www.fing.edu.uy/inco/proyectos/butia/)
Procedimento
Colocar o PIC18F4550 no gravador (ICD2) e colocar os jumpers na posição correta, caso tenha algum (dar atenção de como colocar o pic). Depois conetar o gravador no computador com o cabo USB. Abrir o MPLab e escolher o gravador ICD2 em programer/select programer/ ICD2. Depois file/import e importar o arquivo .hex (o nome de nosso é (Bootloader_HS_1Mbps_Serial.hex) y logo programer/program escolher a opção programar.
Pronto!
Para testar ele, pode usar Linux, colocar o PIC na placa original (em nosso caso USB4Butia), resetar a placa com o botão do modo bootloader apertado e ai no terminal fazer:
lsusb
E no resultado tem que aparecer algo similar:
Microchip Technology, Inc. PIC18F2550 (32K Flashable 10 Channel, 10 Bit A/D USB Microcontroller)
Referencias
Drivers
http://sisko.colorado.edu/ASEN4519/MPLAB%20ICD%202%20USB%20Device%20Driver%20Installation.htm
IDE
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014
Bootloader
Ou