Compilador MPLAB XC8 – Escreva seu primeiro programa

Tempo de leitura: 7 minutes

MPLABX com XC8 – Introdução e seu primeiro programa: Neste post, explicamos como escrever seu primeiro compilador MPLAB XC8 e também demonstramos como escrever e executar nosso primeiro programa para microcontrolador pic16f877a .

Primeiro, veremos como criar um novo projeto no compilador MPLAB XC8. Depois disso, escreveremos um programa de exemplo para que você possa aprender como compilar código e gerar um arquivo hexadecimal. No final, aprenderemos a fazer upload do código para o microcontrolador Pic usando MPLAB X IPE.

 

Baixe e instale o MPLAB IDE e o compilador XC8

Microchip fornece gratuitamente o ambiente de desenvolvimento integrado MPLAB (IDE). Podemos usar este IDE para programar microcontroladores Pic e AVR. Além disso, podemos usá-lo junto com os compiladores XC8, XC16 e XC32 para programar as séries de microcontroladores PIC10F, PIC12F, PIC16, PIC18, PIC24, PIC32 e Dspic. Neste post, veremos como usar MPLAB com compilador XC8, mas você pode seguir as mesmas instruções para usar este IDE com compiladores.

 

Baixe MPLAB X IDE

Em primeiro lugar, faremos o download do IDE MPLAB X a partir do seguinte link:

BAIXE MPLAB X IDE 

Abra este link e vá para o final da página. Você encontrará muitas opções de acordo com a versão e os sistemas operacionais. Este IDE está disponível para três sistemas operacionais populares, como sistemas operacionais Windows, MAC e Linux. Baixe a última versão de acordo com seu sistema. Depois disso, clique no arquivo de instalação e siga as instruções para instalar o IDE. Não vamos explicar o processo de instalação. Porque é muito simples.

Baixar Compilador XC8

Na última seção, apenas baixamos e instalamos o IDE. MPLAB IDE por padrão não inclui nenhum compilador. Podemos usá-lo para escrever programas em linguagem assembly sem a necessidade de qualquer compilador. Mas se quisermos escrever código em linguagem C incorporada, precisamos instalar um compilador separadamente. Acesse este link e baixe o compilador XC8:

BAIXAR COMPILADOR XC8

Acesse este link e vá até o final da página. Clique no menu de download do compilador e clique no compilador XC8 para fazer o download. Novamente certifique-se de baixar o compilador de acordo com o sistema operacional que você está usando. Depois disso, instale o compilador XC8 clicando no arquivo de instalação. Depois de concluir o processo de instalação, você não precisa fazer nada. O XC8 foi vinculado ao MPLAB IDE automaticamente.

Criar novo projeto com o compilador MPLAB XC8

Para criar um novo projeto siga estas etapas:

Crie um novo projeto

Primeiro, abra MPLAB X IDE clicando em seu ícone e depois no menu, selecione Arquivo >> Novo Projeto. Além disso, você pode abrir projetos existentes, fechar projetos e importar a partir deste menu.

Depois disso, esta janela aparecerá. Na opção de categorias, selecione “MicroChip Embedded” e na janela Projetos, selecione “Projeto independente”. Depois disso, clique no botão Avançar.

Selecione Microcontrolador

Agora vamos selecionar um microcontrolador alvo que queremos usar. Você deve selecionar um microcontrolador que deseja usar. Digite o nome do microcontrolador de imagem na janela do dispositivo. Por exemplo, usaremos o microcontrolador PIC16F877A, digitamos PIC16F877A.

 

Ferramenta de Hardware do Programador

Agora da opção de ferramenta de seleção de formulário, podemos selecionar as ferramentas de hardware, como programadores, depurador ou outras ferramentas. Por exemplo, se você estiver usando o programador PICKit3 para fazer upload do código para o microcontrolador pic, selecione PICKit3. Caso contrário, você pode selecionar outras opções disponíveis. Além disso, se você não estiver usando nenhum hardware e apenas quiser usar um simulador, pode selecionar uma opção de simulador.

Seleção do Compilador MPLAB

Como mencionamos anteriormente, o MPLAB IDE oferece suporte a muitos compiladores. Em conjuntos de ferramentas do compilador, selecione o compilador que deseja usar. No momento, ele está mostrando apenas o compilador XC8 e o mpasm. Porque instalamos apenas o compilador XC8 e o MPASM está disponível por padrão no MPLAB. Mas se você instalou vários compiladores, todos serão exibidos aqui. Agora selecione o compilador XC8 e clique no botão seguinte.

Salvar Localização do Projeto Compilador MPLAB XC8

Nesta última etapa, selecionaremos o local onde queremos armazenar um projeto PIC16F877A em nosso sistema. Digite um nome para o projeto no campo Nome do projeto. Clique em Navegar para definir a localização dos arquivos do projeto. Para diferenciar o projeto atual no IDE (quando existem vários projetos) como o projeto principal, clique em “Definir como projeto principal”.

Agora clique no botão finalizar, ele criará um novo projeto e você verá uma janela de projeto no MPLAB conforme mostrado abaixo:

Escreva o primeiro programa com o compilador MPLAB XC8

Antes de escrever o primeiro programa com o compilador MPLAB XC8, precisamos adicionar um arquivo fonte ou arquivo C no projeto. A maneira mais fácil de adicionar vontade de origem é por meio de uma opção de janela de projeto. Clique com o botão direito em Select New >> C Source File.

Depois de clicar no arquivo main.c, esta janela será aberta. Dê a este arquivo de origem um nome útil, pois atribuímos a ele o nome “pic16f877aLED” e selecione a extensão ‘c’. Da mesma forma, podemos adicionar arquivos de cabeçalho também. Mas para arquivos de cabeçalho, selecione a extensão ‘h’ no menu.

Depois disso, clique no botão “Concluir”. Isso criará um novo arquivo de origem. Este arquivo “pic16f877aled” com seu nome especificado também aparecerá na janela do projeto. O arquivo contém este código mínimo. Este é o ponto de partida do seu primeiro projeto com o MPLAB XC8 Compiler.

#include <xc.h>

void main(void) 
{
return;
}

#include <xc.h> este arquivo de cabeçalho contém a definição de todos os registros do microcontrolador PIC16F877A. Este arquivo de cabeçalho apresenta características específicas do microcontrolador.

Como compilar o código com o compilador MPLAB XC8

Depois de terminar de escrever seu primeiro programa, você precisará compilar o código para gerar o arquivo hexadecimal e ver se há um erro no código. Para compilar o código, clique no botão de um projeto de construção. Se não houver erro no código, será exibida uma mensagem de construído com sucesso e gerará um arquivo hexadecimal.

Você pode carregar este arquivo hexadecimal para o seu microcontrolador. Você pode ler este tutorial sobre como fazer upload de código para o microcontrolador pic usando o programador PICKit3:

Se você estiver usando o proteus, pode obter um arquivo hexadecimal da pasta do seu projeto e enviá-lo para o proteus.

Exemplo do compilador MPLAB XC8

Nesta seção, pegaremos um código de exemplo e compilaremos esse código. Depois disso, faremos o upload do arquivo hexadecimal para o arquivo proteus e veremos como funciona.

Como gerar arquivo de bits de configuração?

Em primeiro lugar, precisamos gerar um arquivo de bits de configuração com o compilador MPLAB XC8. O arquivo de bits de configuração define as principais características do microcontrolador de imagem, como configuração do oscilador, cronômetro de watchdog, reinicialização da inicialização, configurações de detecção de brownout, etc.

Para gerar o arquivo de bits de configuração, vá para a janela >> visões da memória de destino >> Bits de configuração e clique nele.

Depois disso, você verá este campo de configurações de bits de configuração. Clique em “Generate Source Code to Output”. Ele irá gerar um arquivo. Copie esse arquivo e adicione-o ao seu projeto. Outra forma possível de adicionar esse arquivo ao projeto é por meio de um arquivo de cabeçalho. Crie um arquivo de cabeçalho e adicione esse arquivo ao seu código principal.

Adicionamos este arquivo de configuração dentro do código principal.

// Configurações de bits de configuração PIC16F877A // 

// declarações de configuração da linha de origem 'C' 

// CONFIG 
#pragma config FOSC = EXTRC // Bits de seleção do oscilador (oscilador RC) 
#pragma config WDTE = ON // Bit de habilitação do temporizador de watchdog (WDT habilitado) 
#pragma config PWRTE = OFF // Bit de habilitação do temporizador de inicialização (PWRT desabilitado) 
#pragma config BOREN = ON // Bit de habilitação de redefinição de Brown-out (BOR habilitado) 
#pragma config LVP = ON // Low-Voltage (Single-Supply ) Bit de habilitação de programação serial em circuito (o pino RB3 / PGM tem função PGM; programação de baixa tensão habilitada) 
#pragma config CPD = OFF // Bit de proteção de código de memória EEPROM de dados (proteção de código EEPROM de dados desligada)
#pragma config WRT = OFF // Bits de habilitação de gravação de memória de programa Flash (proteção contra gravação desligada; toda a memória de programa pode ser gravada pelo controle EECON) 
#pragma config CP = OFF // Bit de proteção de código de memória de programa Flash (proteção de código desligada) 

// As instruções de configuração / #pragma devem preceder as inclusões de arquivos de projeto. 
// Use enums do projeto em vez de #define para ON e OFF. 

#include <xc.h> 
#include <xc.h> 

void main (void) 
{ 
return; 
}

Não vamos explicar como esse código funciona. Porque este tutorial é apenas um guia de introdução. O objetivo deste tutorial é ensinar como criar seu primeiro projeto e compilar código com o compilador MPLAB XC8.

 

Exemplo de LED de microcontrolador PIC piscando

Nesta seção, veremos um exemplo de LED piscando. Por exemplo, usamos um LED com pino RB0 do microcontrolador PIC16F877A. Conectamos um LED com o pino 0 do PORTB através de um resistor limitador de corrente.

Agora copie este código para seu projeto MPLAB e gere um arquivo hexadecimal.

// Configurações de bits de configuração PIC16F877A 
// Declarações de configuração da linha de origem 'C' 
// CONFIG 
#pragma config FOSC = EXTRC 
#pragma config WDTE = ON 
#pragma config PWRTE = OFF 
#pragma config BOREN = ON 
#pragma config LVP = ON 
#pragma config CPD = OFF 
#pragma config WRT = OFF 
#pragma config CP = OFF 

#define _XTAL_FREQ 8000000
#include <xc.h>

void main(void) 
{
TRISB=0x00;
while(1)
{
RB0 = 1 ;
__delay_ms(500);
RB0 = 0 ;
__delay_ms(500);

}
return;
}

Este código de exemplo piscará um LED com um atraso de meio segundo. O LED acenderá por meio segundo e permanecerá apagado por meio segundo.