Programação de Microcontrolador PIC18 em C — Guia Passo a Passo
Como Programar um Microcontrolador PIC18 em C — Tutorial Passo a Passo (Visualização Gráfica)
Como Programar um Microcontrolador?
Programar microcontrolador significa codificar para diferentes propósitos em software especial. Existem muitos softwares para escrever códigos para microcontroladores e CIs. Discutiremos como programar um microcontrolador.
Neste tutorial, programaremos um código simples para microcontrolador PIC18 em C, onde "C" é linguagem amplamente usada e é a única suportada (além de assembly) atualmente para PICs de 8 e 16 bits.
Classificação PIC por Bits:
- 8 bits: PIC10, PIC12, PIC16, PIC18
- 16 bits: PIC24, dsPIC30, dsPIC33
- 32 bits: PIC32
Como Gravar Programa no Microcontrolador?
Gravar (burn) microcontrolador = transferir programa codificado do compilador (software onde escrevemos, analisamos, testamos e depuramos) para memória do microcontrolador.
Código para microcontrolador é geralmente em Assembly/C; compilador gera arquivo .hex entendido pelo microcontrolador. Arquivo hex contém instruções especiais a serem transferidas à memória; então o microcontrolador executa a função para qual foi projetado.
Após programar, precisamos gravar o programa na memória. Para isso, precisamos de hardware que leia o arquivo hex no PC via software. Conectamos hardware via USB/serial ao PC e transferimos o código para memória do microcontrolador.
Programando PIC18 em C
Controlador Alvo: PIC18F452
Microchip Technology é 2ª maior indústria de eletrônicos e fabricação de CIs. Vende microcontroladores de 6 pinos (PIC10F2xx) a 144 pinos (PIC32). Séries anteriores: PIC12, PIC16, PIC18.
PIC18F452 — Comum da série PIC18. Microcontrolador 8 bits, 40 pinos, 32KB memória de programa, opera até 40 MHz. Adequado para muitas aplicações.
- Pode drenar/fornecer até 25mA — não precisa transistor para acionar LED.
- 3 pinos de interrupção externa, dois timers 16 bits, um timer 8 bits.
- Módulo de captura e comparador.
- Conversor A/D interno — não precisa ADC externo.
- Módulos de comunicação: RS232, I2C, 1-Wire, Porta Escrava Paralela.
- Dispositivo bem projetado para iniciantes, hobbistas e profissionais.
Ambiente de Programação: MikroC para PIC
IDE totalmente equipada com bibliotecas integradas e interface fácil. Inclui calculadoras (hex-binário-decimal) que ajudam na programação. Tamanho pequeno, fácil instalar/usar. Sintaxe diferente do MPLAB, mas recomendo MikroC pela sintaxe legível e muitas bibliotecas. Reduz tempo de programação; não precisa construir funções comuns do zero (delay, LCD, RS232, etc.).
Nota: MikroC não é gratuito; MPLAB X IDE e compilador XC8 da Microchip são gratuitos e oferecem muitas bibliotecas livres.
Criando Novo Projeto no MikroC
- Clique duas vezes no ícone MikroC no Desktop.
- Vá ao botão "Project" no canto superior direito → "New Project".
- Clique "Next", selecione MCU alvo, clock speed, nome do projeto e diretório.
- Clique "Next" nas janelas restantes. Ambiente de programação abre para escrever e compilar código.
Escrevendo Código para PIC18
PIC18F452 tem 5 portas: quatro de 8 bits, uma de 4 bits. Usaremos porta de 8 bits.
Definindo Porta como Entrada ou Saída:
Cada porta tem registrador TRISX (X = A, B, C, D, E, F). Ex: TRISB.
- Saída: 0x00 no TRISX
- Entrada: 0xFF no TRISX
- Pinos independentes: ex: 0x09 no TRISB → RB0 e RB3 como entrada, demais saída.
Função de Delay:
No MikroC, biblioteca de delay selecionada → use Delay_ms(). Ex: Delay_ms(1000) = 1000ms.
Primeiro Código Simples — Toggle Bits da Porta:
void main() {
TRISB = 0x00; // Define PORTB como saída
while(1) { // Loop infinito
PORTB = 0x00;
Delay_ms(500);
PORTB = 0xFF;
Delay_ms(500);
}
}
Após escrever, clique em "Build All" para compilar e gerar .hex na pasta do projeto. Grave o hex no PIC18F452 usando hardware PICkit ou teste no Proteus.
É isso para este primeiro tutorial; fique atento para próximos posts!
Posts Relacionados:
- Diferença entre Microprocessador e Microcontrolador
- Diferença entre 8085 e 8086 Microprocessador — Comparação
- MAX232: Construção, Operação, Tipos e Aplicação
- Protocolo RS232 Comunicação Serial e Como Funciona?
- Circuito Chave Palmeira (Clap Switch) Usando Timer 555
- 10+ Ferramentas de Projeto e Simulação para Engenheiros Elétricos/Eletrônicos Online
- Códigos SMD Resistor: Como Encontrar Valor de Resistores SMD
Tecnologia industrial
- Desenvolvendo um Programa Robusto de Manutenção Elétrica: Guia Prático
- Lançando um Programa de Confiabilidade: Um Roteiro Comprovado
- Lançando um Programa de Aprendizagem de Fabrico Bem-Sucedido: Um Guia Prático
- Como Construir um Programa Robusto de Manutenção de Equipamentos para Reduzir Tempo de Inatividade
- Dominando a Soldagem de Alumínio: Um Guia Completo de Especialista
- Guia Especialista para Soldagem de Ferro Fundido: Técnicas Comprovadas para Juntas Fortes e Duráveis
- Dominando a Brasagem de Alumínio: Técnicas e Dicas de Especialistas
- Dominando a Brasagem de Alumínio: Técnicas de Especialistas e Guia Prático
- Guia Especialista para Soldagem de Cobre: Técnicas, Dicas e Melhores Práticas
- Projetando um Programa Confiável de Manutenção Elétrica para Impulsionar Segurança e Produção