Roteiro ● Conjunto de Instruções no PIC ● Desenvolvimento de Aplicações no MPLAB ● Exemplo ● Criação de um Programa em Assembly ● Técnicas de Programação ● Introdução ● Exercícios de Aplicação Instruções no PIC ● Operação: ● Conjunto de bits armazenados na memória de programa do microcontrolador ● Formato das Instruções ● Código de Operação: campo que especifica a tarefa a ser executada pelo MCU. Identificado por um mnemônico ● Operando: informação associada à operação, quando necessário. Tipos: – Registrador (F) – Bit de um registrador (B) – Dado (L) Instruções - PIC Instruções - PIC Formato das Instruções ● 35 operações, divididas em 4 grupos ● Registradores ● Bits ● Literais ● Controle Termos Utilizados ● W: work ou acumulador. Pode ser representado no operando da instrução pelo número 0. Embora não tenha endereço real, é imprescindível, pois não é possível escrever um dado em um registrador sem que antes ele passe por W. ● F: file. Representa uma posição de memória de dados (ou registrador). Pode ser representado no operando da instrução pelo número 1. ● L: literal. Valor numérico que pode ser representado em base 2, 8, 10, 16 ou código ASCII Termos Utilizados ● D: destino. Local para onde será enviado o resultado de uma operação matemática, ou uma determinada informação. Os destinos são do tipo F ou W. ● B: bit. Indica um bit dentro de um byte. ● T: teste. Indica um teste para verificar se um bit é 0 ou 1. ● S: skip. A próxima linha será pulada se determinada condição for satisfeita. ● S: set. Determinado bit será forçado (setado) a assumir valor 1. ● C: clear. Determinado bit será forçado (setado) a assumir valor 0. ● Z: zero. O resultado da última operação matemática foi 0. Mnemômicos ● ADD ● IOR ● AND ● MOV ● CLR ● RL ● COM ● RR ● DEC ● SUB ● INC ● SWAP ● XOR Significado das Instruções
Páginas 139-144 no datasheet
Elementos Básicos do Assembly
1) LABEL – string para indicar o início de uma
subrotina 2) MNEMÔNICO - texto especificador da tarefa a executar 3) OPERANDO – registrador, constante, valor numérico ou variável 4) COMENTÁRIO 5) DIRETIVAS – para controle do Assembly; não são convertidas em .hex Criação de um Programa em Assembly Passos ● Título, nome do ● Identificação de pinos projetista de I/O ● Arquivos include ● Vetor de reset (modelos do MCU ou ● Vetor de interrupção personalizados) ● Configuração dos ● Paginação de SFR memória ● Inicialização das ● Variáveis variáveis ● Identificação de Flags ● Rotina principal ● Constantes ● Sub-rotinas Desenvolvimento de Aplicações Passos ● Fluxograma ● Programa .asm ou código fonte (editor) ● Programa .hex ou código objeto (montador) ● Programa em linguagem de máquina no PIC (programador) Demonstração no MPLAB ● Distribuição gratuita pela Microchip Technology Técnicas de Programação ● Inicialização de Variáveis ● CLRF, MOVLW, MOVWF Técnicas de Programação ● Desvio no Programa ● GOTO, PCL, PCLATH, CALL, desvio condicional, interrupção Técnicas de Programação ● Desvio no Programa ● GOTO, PCL, PCLATH, CALL, desvio condicional, interrupção Técnicas de Programação ● Desvio no Programa ● GOTO, PCL, PCLATH, CALL, desvio condicional, interrupção Técnicas de Programação ● Cálculos Matemáticos ● Soma, Comparação e Subtração Técnicas de Programação ● Cálculos Matemáticos ● Soma, Comparação e Subtração Técnicas de Programação ● Cálculos Matemáticos ● Soma, Comparação e Subtração Técnicas de Programação ● Cálculos Matemáticos ● Soma, Comparação e Subtração Técnicas de Programação ● Cálculos Matemáticos ● Soma, Comparação e Subtração Técnicas de Programação ● Funções Lógicas ● IOR, AND ● Técnicas de Programação ● Funções Lógicas ● IOR, AND ● Técnicas de Programação ● Operações com bytes ● COMF, SWAPF, RRF, RLF Técnicas de Programação ● Operações com bytes ● COMF, SWAPF, RRF, RLF Exercícios ● Soma ● Subtração ● Ordenação ● Instrução for ● Instrução switch