Você está na página 1de 19

Programação Assembly e C para PIC

Guilherme Luiz Moritz1


1 DAELT - Universidade Tecnológica Federal do Paraná

13 de novembro de 2013

Moritz, G.L. Programação Assembly e C para PIC


Motivação

O que é assembly - programação de microcontroladores


utilizando seu conjunto de instruções - baixo nível
Porque aprender assembly?

Moritz, G.L. Programação Assembly e C para PIC


Vantagens do assembly

A principal vantagem do assembly é também sua principal


desvantagem: A proximidade com a arquitetura
Muito rápida → Muito complexa e difícil de manter
Obrigatória para alteração de alguns registradores de uso
especial (em algumas arquiteturas)

Moritz, G.L. Programação Assembly e C para PIC


Desvantagens do assembly

Nem sempre o código gerado manualmente é mais


otimizado
Difícil de manter e entender
Falta de estruturação dificulta o desenvolvimento de
projetos complexos

Qual a solução adotada? Mesclar C com assembly

Moritz, G.L. Programação Assembly e C para PIC


Desvantagens do assembly

Nem sempre o código gerado manualmente é mais


otimizado
Difícil de manter e entender
Falta de estruturação dificulta o desenvolvimento de
projetos complexos

Qual a solução adotada? Mesclar C com assembly

Moritz, G.L. Programação Assembly e C para PIC


Desvantagens do assembly

Nem sempre o código gerado manualmente é mais


otimizado
Difícil de manter e entender
Falta de estruturação dificulta o desenvolvimento de
projetos complexos

Qual a solução adotada? Mesclar C com assembly

Moritz, G.L. Programação Assembly e C para PIC


Desvantagens do assembly

Nem sempre o código gerado manualmente é mais


otimizado
Difícil de manter e entender
Falta de estruturação dificulta o desenvolvimento de
projetos complexos

Qual a solução adotada? Mesclar C com assembly

Moritz, G.L. Programação Assembly e C para PIC


Programando um Microcontrolador

Moritz, G.L. Programação Assembly e C para PIC


Estrutura de um programa em assembly

Moritz, G.L. Programação Assembly e C para PIC


Declaração de variáveis

Moritz, G.L. Programação Assembly e C para PIC


Subrotinas

Moritz, G.L. Programação Assembly e C para PIC


Conhecendo a IDE do MPLAB

Abrir software e executar exemplo

Moritz, G.L. Programação Assembly e C para PIC


Bits de configuração

Moritz, G.L. Programação Assembly e C para PIC


Osciladores

Moritz, G.L. Programação Assembly e C para PIC


Conjunto de instruções do PIC16

Transferência de dados → MOVWF


Lógica e aritmética → Soma, Subtração, Incremento, E,
OU, XOR...
Operações com Bits → Seta Bit, Limpa Bit
Controle de fluxo de execução → BTFSC, CALL
Onde

f file → registrador
W Registrador W (Working)
b Posição de Bit
d Posição de memória (Padrão: W)

Moritz, G.L. Programação Assembly e C para PIC


Conjunto de instruções

Moritz, G.L. Programação Assembly e C para PIC


Fluxogramas

Moritz, G.L. Programação Assembly e C para PIC


Fluxograma de contagem

Moritz, G.L. Programação Assembly e C para PIC


Rotina de delay

Moritz, G.L. Programação Assembly e C para PIC

Você também pode gostar