Como gravar PIC 18F4550 com Pickit3
No nosso último post sobre PIC nós vimos Como gravar um PIC usando o Pickit 3, onde mostramos o uso do Gravador PIC USB PicKit3 para programar o PIC16F84A. Agora neste post vamos usar o mesmo processo para gravar um microcontrolador PIC18F4550:
O Pickit3 é um gravador muito fácil de usar, já que a gravação do chip é feita de forma direta utilizando o software MPLAB. Todas as etapas de instalação do MPLAB você encontra no post Programando PIC16F628A para piscar um led. As etapas para instalação do compilador XC, gratuito da Microchip, você encontra no post anterior sobre o Pickit3, mencionado anteriormente.
Circuito com Pickit3 e PIC18F4550
Antes de criar o projeto no MPLAB, monte o circuito abaixo, já que vamos transferir o programa diretamente do MPLAB para o microcontrolador. O circuito utiliza o microcontrolador PIC18F4550 (datasheet), um resistor de 1K e um led comum. Nesse circuito não vamos utilizar um cristal, já que o 18F4550 possui oscilador interno:
A ligação do Pickit3 ao PIC18F4550 é feita conectando os pinos Vpp/MCLR, Vdd, Vss, PGD e PGC aos pinos correspondentes do CI. A alimentação do PIC pode ser feita de forma externa ou pelo próprio Pickit. O pino 6 do Pickit3 não é utilizado.
Criação do projeto no MPLAB
Na tela principal do MPLAB, selecione o menu FILE, depois NEW PROJECT. Na tela NEW PROJECT, selecione Standalone Project:
Na tela seguinte vamos selecionar o microcontrolador. Selecione Advanced 8-bit MCUs, e PIC18F4550:
Clique em NEXT e na tela seguinte selecione Pickit3:
Selecione agora o compilador XC8:
Na última tela, dê um nome ao projeto. Vamos utilizar Led_Blink_PIC18F4550:
Clique em finish para voltar à tela principal do MPLAB, com o projeto criado e a sua estrutura mostrada no lado esquerdo da tela:
Vamos adicionar o programa que vai controlar o LED clicando em Source Files, depois em NEW, e finalmente em C SOURCE FILE:
Na tela seguinte defina um nome para o arquivo em C. Pode ser o mesmo nome do projeto. Após clicar em FINISH, será aberta uma tela em branco no lado direito, onde vamos digitar/copiar o programa abaixo:
//Programa: Led Blink com Pickit3 e 18F4550 //Autor: FILIPEFLOP #include <xc.h> //BEGIN CONFIG #pragma config FOSC = INTOSC_EC //internal oscillator #pragma config PLLDIV = 4 //divide by 5 to give 4MHz to PLL #pragma config FCMEN = OFF //no fail safe clock monitor #pragma config IESO = OFF //oscillator switchover disabled #pragma config PWRT = ON //oscillator power up timer enabled #pragma config BOR = OFF //hardware brown out reset #pragma config WDT = OFF //watchdog timer disabled #pragma config MCLRE = ON //MCLR pin enabled #pragma config LPT1OSC = ON //timer1 low power operation #pragma config PBADEN = OFF //portB 0to 4 digital - not analogue #pragma config LVP = OFF //low voltage programming disabled #pragma config CCP2MX = OFF //portc1 = CCP2 #pragma config XINST = OFF //do not allow PIC18 extended instructions #pragma config STVREN = ON //stack overflow will cause reset //END CONFIG void delay_ligado(void); void delay_desligado(void); void main(void) { TRISB = 0; OSCCON = 0xF2; //internal oscillator, 8MHz while (1) { LATBbits.LATB0 = 1; delay_ligado(); LATBbits.LATB0 = 0; delay_desligado(); } } void delay_ligado(void) { int i, j; for(i=0;i<5000;i++) { for(j=0;j<20;j++) {} } } void delay_desligado(void) { int i, j; for(i=0;i<5000;i++) { for(j=0;j<20;j++) {} } }
Feito isso, você terá uma tela parecida com essa:
Antes de transferir o programa para o microcontrolador, vamos configurar o MPLAB para que o Pickit3 forneça a tensão de alimentação necessária para o CI. Para isso, clique com o botão direito no nome do projeto, no lado esquerdo da tela (na imagem acima, Led_Blink_PIC18F4550), e selecione PROPERTIES. Na janela Project Properties, selecione Conf: Pickit 3 -> Power, e selecione a opção Power Target Circuit from Pickit3, conforme a imagem abaixo:
Pressione F6 para que o programa seja transferido para o Pickit3 e gravado no microcontrolador. Durante o processo de gravação, o led Status do Pickit pisca em vermelho, retornando ao verde quando a gravação for finalizada.
Para testar o circuito, conecte o Vdd do Pickit3 ao pino 1 (MCLR/Vpp) do PIC18F4550, e o led começará a piscar em intervalos de 1 segundo.
Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!
Site: Blog FILIPEFLOP