Aula 02 - Estrutura de um Programa em C para PIC
Nesta aula vamos entender como um programa em C para microcontrolador PIC é organizado. Antes de controlar LEDs, botões, sensores ou relés, precisamos compreender a estrutura básica do código.
1. Estrutura básica
Um programa em C para PIC normalmente possui algumas partes principais: inclusão de bibliotecas, configuração do microcontrolador, definição da frequência de trabalho, função principal e laço infinito.
#include <xc.h>
#define _XTAL_FREQ 4000000
void main(void)
{
while(1)
{
// Código principal do programa
}
}
2. Biblioteca #include <xc.h>
A linha #include <xc.h> adiciona ao programa a biblioteca principal do compilador XC8. Essa biblioteca permite que o código acesse os registradores internos do PIC.
Sem essa biblioteca, o compilador não reconheceria muitos nomes usados para configurar portas, registradores, bits e periféricos do PIC.
3. Definição da frequência com #define _XTAL_FREQ
A linha #define _XTAL_FREQ 4000000 informa ao compilador a frequência do oscilador usado pelo PIC. Neste exemplo, estamos usando 4 MHz.
#define _XTAL_FREQ 4000000
Essa definição é muito importante quando usamos funções de atraso, como:
__delay_ms(1000);
Se a frequência estiver errada, o tempo de atraso também ficará errado. Por exemplo, um atraso de 1 segundo poderá ficar mais rápido ou mais lento.
4. Função principal main()
A função main() é o ponto de partida do programa. Quando o PIC é ligado ou reiniciado, o programa começa a executar a partir dessa função.
void main(void)
{
// Início do programa
}
A palavra void indica que a função não retorna nenhum valor. Em microcontroladores, o programa normalmente não termina, então a função principal fica rodando continuamente.
5. Laço infinito while(1)
O comando while(1) cria uma repetição infinita. Isso é essencial em microcontroladores, porque o PIC precisa ficar verificando entradas e atualizando saídas o tempo todo.
while(1)
{
// Tudo aqui será repetido continuamente
}
Dentro desse laço podemos colocar leituras de sensores, acionamento de relés, controle de motores, comunicação serial e várias outras rotinas.
6. Comentários no código
Comentários são textos usados para explicar o funcionamento do programa. Eles não são executados pelo microcontrolador.
// Este é um comentário de uma linha
/*
Este é um comentário
com várias linhas
*/
Usar comentários ajuda muito na manutenção do código, principalmente em projetos industriais ou didáticos.
7. Exemplo completo comentado
#include <xc.h> // Biblioteca principal do compilador XC8
#define _XTAL_FREQ 4000000 // Frequência do oscilador: 4 MHz
void main(void) // Função principal do programa
{
while(1) // Laço infinito
{
// O código principal será executado repetidamente aqui
}
}
8. Resumo da aula
- #include <xc.h> permite acessar os recursos do PIC.
- #define _XTAL_FREQ informa a frequência do oscilador.
- main() é onde o programa começa.
- while(1) mantém o programa rodando continuamente.
- Comentários servem para explicar o código.
Exercícios de Fixação
- Para que serve a linha #include <xc.h>?
- O que significa _XTAL_FREQ?
- Por que um programa para PIC geralmente usa while(1)?
- Qual é a diferença entre código executável e comentário?
- Explique com suas palavras a função main().