Guia de atividades utilizando PIC 12F675, baseado na disciplina "Microcontroladores" ministrada na Universidade Federal da Paraíba (UFPB) - Prof. Dr. Mardson Freitas de Amorim.
Um microcontrolador é um dispositivo compacto e altamente integrado que contém um processador central, memória, periféricos de entrada/saída e, em alguns casos, interfaces de comunicação. Ele é projetado para controlar funções específicas em sistemas embarcados. Ao contrário dos microprocessadores, que geralmente precisam de componentes externos para realizar tarefas específicas, os microcontroladores são projetados para serem autossuficientes.
A função principal de um microcontrolador é processar informações e controlar dispositivos e sistemas de forma autônoma. Ele executa instruções armazenadas em sua memória para realizar tarefas específicas, como controle de motores, leitura de sensores, processamento de sinais, entre outras.
Os microcontroladores podem ser categorizados em dois tipos principais em relação à memória: aqueles com memória embutida e aqueles que requerem memória externa.
Microcontroladores com memória embutida consolidam tanto a memória de programa quanto a memória de dados dentro do mesmo chip. Essa abordagem simplifica consideravelmente o design e a implementação de sistemas embarcados, proporcionando uma solução integrada que facilita o desenvolvimento de aplicações.
Em contraste, microcontroladores que demandam memória externa podem necessitar de espaço adicional para armazenar programas extensos ou dados suplementares. Nesse cenário, a memória principal do microcontrolador pode ser expandida por meio de interfaces externas, permitindo que o dispositivo lide com demandas de armazenamento mais substanciais.
Ademais, as variações de microcontroladores se definem também pelas suas configurações disponíveis — pois existem modelos de 4 bits, 8 bits, 16 bits, 32 bits e até de 128 bits, entre muitos outros. Esses valores se referem aos seus números binários. É importante observar que isso reflete diretamente na capacidade de interpretação das informações, permitindo a aplicação de tarefas mais ágeis e até mesmo mais complexas com o tempo.
Microcontroladores são peças fundamentais em uma diversidade de setores, desempenhando papéis cruciais em uma ampla gama de aplicações. Eles estão presentes em: Eletrodoméstico; Eletrônicos de consumo; Setor automotivo; Sistemas de controle industrial; Equipamentos médicos; Dispositivos de comunicação; Automação residencial.
Eles oferecem uma integração abrangente ao combinar CPU, memória e periféricos em um único chip, simplificando significativamente o design de sistemas embarcados. Essa abordagem compacta contribui para a eficiência no desenvolvimento de dispositivos eletrônicos.
Além disso, a ênfase em baixo consumo de energia destaca-se como uma característica fundamental em muitos microcontroladores, tornando-os ideais para dispositivos alimentados por bateria. Essa eficiência energética contribui para a durabilidade e vida útil estendida de dispositivos portáteis e sistemas embarcados.
A característica de serem componentes de baixo custo amplia ainda mais a atratividade dos microcontroladores. Sua acessibilidade financeira torna-os economicamente viáveis para uma ampla variedade de aplicações, impulsionando a inovação em diversos setores.
A versatilidade é outra vantagem distintiva, pois a programação flexível permite a adaptação dos microcontroladores para diferentes funções e requisitos de sistema. Essa flexibilidade é crucial em ambientes em constante evolução, nos quais a capacidade de adaptação rápida é essencial.
O tamanho compacto do design dos microcontroladores é especialmente benéfico em aplicações com restrições de espaço. Essa característica é valiosa em dispositivos compactos e sistemas onde o espaço é um recurso limitado.
Por fim, o desenvolvimento rápido de protótipos é facilitado por ferramentas dedicadas, como compiladores e ambientes de programação, que aceleram o processo de criação e implementação de sistemas embarcados. Essas ferramentas contribuem para a eficácia no desenvolvimento de novas soluções e produtos.
O PIC12F675 é um microcontrolador de 8 bits fabricado pela Microchip Technology. Sua arquitetura de processador opera em instruções de 8 bits, sendo adequado para tarefas mais simples e aplicações de controle de baixo a médio nível. Possui uma memória de programa Flash de 1 KB para armazenamento de código, além de 64 bytes de memória RAM para armazenamento temporário de dados durante a execução do programa.
Figura 2: Microcontrolador PIC12F675
Os periféricos integrados incluem timers/counters, módulo PWM (Pulse Width Modulation), comparadores analógicos e um número limitado de portas de entrada/saída (I/O), facilitando a implementação de diversas funções sem a necessidade de componentes externos em muitos casos. Apesar de sua simplicidade em comparação com modelos mais avançados, o PIC12F675 suporta comunicação serial síncrona (SPI - Serial Peripheral Interface) para facilitar a interação com outros dispositivos.
Projetado para aplicações de baixo consumo de energia, o PIC12F675 é uma escolha popular em sistemas alimentados por bateria ou em situações onde a eficiência energética é crucial. Seu encapsulamento padrão é geralmente de 8 pinos (DIP-8), conferindo-lhe um tamanho compacto e tornando-o adequado para aplicações com restrições de espaço.
É importante notar que, devido à sua simplicidade, o PIC12F675 é mais apropriado para aplicações menos complexas. Para projetos mais avançados, microcontroladores de séries superiores da família PIC ou de outras famílias podem ser mais apropriados. Programação para o PIC12F675 geralmente é feita utilizando linguagens como Assembly ou linguagens de alto nível suportadas por compiladores específicos para a arquitetura PIC.
Utiliza-se da IDE MPLAB X para executar e visualizar os exercícios propostos. Para criar um novo projeto siga o passo-a-passo abaixo:
-
Acesse o Link de Download para adquirir a versão 4.20 do software (Verificado em 02/02/2024).
-
Após instalado, clique na seção no canto superior esquerdo
File
e emNew Project
. -
Depois disso siga o percurso:
Standalone Project
-> o aparelho que será trabalhadoPIC12F675
-> o debbug headerAC162050
->Simulator
->mpasm
. -
Por fim, clique na opção
Souce Files
dentro do seu projeto (localizado na esquerda) eAdd Existing Item
, adicionando o arquivo que deseja trabalhar (Caso deseje implementar um projeto do início, utilize como base o arquivoVazio.ASM
localizado neste repositório).
Figura 5: Adicionar arquivo no projeto
Para rodar o programa e realizar a verificação de sinal, tempo ou valor das variáveis:
• Rodar o programa: Primeiramente Clique em Clean and Build for Debuggin Main Project
, depois em Launch Debugger Main Project
, depois utilizando a tecla F7 será possível verificar cada linha do código. Caso deseje observar apenas um trecho do código, clique no número da linha para adicionar um breakpoint, podendo pular diretamente para ele utilizando a tecla F5.
Figura 6: Compilar e rodar o projeto
• Para visualizar variáveis: Clique com o botão direito do mouse no nome do projeto, nisso aparecerá um menu. Selecione a opção Properties
-> Surgirá a janela Project Properties
-> Selecione a opção mpasm (Global Options)
-> Habilite a opção Build in absolute mode
-> Depois, Apply
e OK
(Recompile o projeto para que as alterações sejam habilitadas).
Figura 7: Visualizar valor das variáveis
•Para visualizar sinal ou tempo: Clique em Window e selecione Debuggin
(para escolher Stopwatch e visualizar o tempo) ou Simulator
(para escolher Logic Analyser e visualizar a onda referente ao sinal).
Figura 8: Seção para visualizar tempo ou sinal
- Atividade 1: Conversão de hexadecimal para BCD
- Atividade 2: Divisão de 2 números e resultado com uma casa decimal
- Atividade 3: Ligar e desligar led com timer
- Atividade 4: Sete notas musicais, de DÓ a SI (261,63 Hz a 493,88 Hz)
- Atividade 5: Manuseando GP2 por interrupção e estímulo externo
- Atividade 6: Semáforo de trânsito
Laura de Faria |
---|
github.com/lauradefaria |