Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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 microcontroladoresutilizando seu conjunto de instruções - baixo nívelPorque aprender assembly?
Moritz, G.L. Programação Assembly e C para PIC
Vantagens do assembly
A principal vantagem do assembly é também sua principaldesvantagem: A proximidade com a arquiteturaMuito rápida → Muito complexa e difícil de manterObrigatória para alteração de alguns registradores de usoespecial (em algumas arquiteturas)
Moritz, G.L. Programação Assembly e C para PIC
Desvantagens do assembly
Nem sempre o código gerado manualmente é maisotimizadoDifícil de manter e entenderFalta de estruturação dificulta o desenvolvimento deprojetos 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 é maisotimizadoDifícil de manter e entenderFalta de estruturação dificulta o desenvolvimento deprojetos 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 é maisotimizadoDifícil de manter e entenderFalta de estruturação dificulta o desenvolvimento deprojetos 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 é maisotimizadoDifícil de manter e entenderFalta de estruturação dificulta o desenvolvimento deprojetos 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 → MOVWFLógica e aritmética → Soma, Subtração, Incremento, E,OU, XOR...Operações com Bits → Seta Bit, Limpa BitControle de fluxo de execução → BTFSC, CALL
Onde
f file → registradorW Registrador W (Working)b Posição de Bitd 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