19
Programação Assembly e C para PIC Guilherme Luiz Moritz 1 1 DAELT - Universidade Tecnológica Federal do Paraná 13 de novembro de 2013 Moritz, G.L. Programação Assembly e C para PIC

Programação Assembly e C para PIC - UTFPR

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação Assembly e C para PIC - UTFPR

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

Page 2: Programação Assembly e C para PIC - UTFPR

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

Page 3: Programação Assembly e C para PIC - UTFPR

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

Page 4: Programação Assembly e C para PIC - UTFPR

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

Page 5: Programação Assembly e C para PIC - UTFPR

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

Page 6: Programação Assembly e C para PIC - UTFPR

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

Page 7: Programação Assembly e C para PIC - UTFPR

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

Page 8: Programação Assembly e C para PIC - UTFPR

Programando um Microcontrolador

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

Page 9: Programação Assembly e C para PIC - UTFPR

Estrutura de um programa em assembly

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

Page 10: Programação Assembly e C para PIC - UTFPR

Declaração de variáveis

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

Page 11: Programação Assembly e C para PIC - UTFPR

Subrotinas

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

Page 12: Programação Assembly e C para PIC - UTFPR

Conhecendo a IDE do MPLAB

Abrir software e executar exemplo

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

Page 13: Programação Assembly e C para PIC - UTFPR

Bits de configuração

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

Page 14: Programação Assembly e C para PIC - UTFPR

Osciladores

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

Page 15: Programação Assembly e C para PIC - UTFPR

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

Page 16: Programação Assembly e C para PIC - UTFPR

Conjunto de instruções

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

Page 17: Programação Assembly e C para PIC - UTFPR

Fluxogramas

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

Page 18: Programação Assembly e C para PIC - UTFPR

Fluxograma de contagem

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

Page 19: Programação Assembly e C para PIC - UTFPR

Rotina de delay

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