Microcontroladores
INTRODUÇÃO
Nessa aula teremos por objetivo a criação de programa padrão para microcontrolador PIC utilizando o ambiente de desenvolvimento MPLAB IDE, e o compilador CCS compiler. Antes de iniciarmos na utilização dos microcontroladores vamos entender como que funciona a elaboração de um projeto completo aonde entra a programação e os programas que vamos utilizar nesse primeiro programa.
Quando se inicia um novo projeto os esforços utilizados tem por objetivo a solução de um problema, para realizar o projeto é feito antes de construí-lo uma solução teórica para a determinada situação e depois se aplica a solução pratica para a execução do projeto, dentro deste contexto nossos conhecimentos …exibir mais conteúdo…
A compilação é um processo mais complexo do que a montagem. Na montagem, uma linha de instrução é traduzida para uma instrução em código de máquina. Já em uma linguagem de programação, não existem linhas de instrução, e sim estruturas de linguagem e expressões. Uma estrutura pode ser condicional, incondicional, de repetição, etc... As expressões podem envolver operandos e operadores mais complexos. Neste caso, geralmente, a locação dos registros de dados da RAM é feita pelo próprio compilador. Por isso, existe a preocupação, por paret do compilador, de demonstrar, após a compilação, o percentual de memória RAM ocupado, pois neste caso é relevante, tendo em vista que cada variável pode ocupar até 8 bytes (tipo double). Para edição e montagem (geração do código HEX) de um programa em assembly, os softwares mais utilizados são o MPASMWIN (mais simples) e o MPLAB. Para edição e compilação em linguagem C (geração do código HEX), o programa mais utilizado é o PIC C Compiler CCS®. Os microcontroladores PIC possuem apenas 35 instruções em assembly para a família de 12 bits (PIC12) e 14 bits (PIC16), descritas nas tabelas abaixo, e 77 instruções para a família de 16 bits (PIC18). A tabela abaixo mostra algumas instruções em assembly.
Como pode ser visto, a família PIC16F (14 bits com aproximadamente 35 instruções) não possui uma instrução em assembly que realize multiplicação ou