• Nenhum resultado encontrado

Guia o MPLAB IDE (v8.92)

N/A
N/A
Protected

Academic year: 2021

Share "Guia o MPLAB IDE (v8.92)"

Copied!
12
0
0

Texto

(1)

Página: 1

Guião MPLAB – IDE (v8.92)

Descrição

Este documento é um guia rápido de utilização do ambiente de desenvolvimento da Microchip para os microcontroladores de oito bits da série 16F6xxx estudados nas disciplinas de Microprocessadores e Microcontroladores.

A utilização do MPLAB-IDE permite:

• Proporcionar ao estudante/programador o desenvolvimento projectos com os microcontroladores da Microchip de forma integrada:

Editor de código fonte próprio Debugger

Ajuda integrada

• Interface ao utilizador do tipo Windows

• Criação de Projectos cujo ambiente de trabalho (WorkSpace) é guardado e recuperado a cada sessão.

Nota: O MPLAB-IDE é um produto de acesso livre da Microchip e pode ser descarregado de: http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_IDE_8_92.zip

Lançamento e comandos básicos

No computador do Laboratório deverá estar instalado o MPLAB-IDE v8.xx. O lançamento poderá ser efectuado das seguintes maneiras alternativas:

• Através da tecla do Windows • Com “Start”-> “Search” - MPLAB • Com “Start”-> “All Programs”

(2)

Página: 2 Após o lançamento deverá aparecer uma janela da aplicação a seguir à apresentação do logo da Microchip, semelhante à da figura seguinte. Para sair do programa, fazer “File” “Exit” na Barra de Comandos (1).

1. New File Source, Open/Save Work Space; Exit;

2. Criação de projectos e várias Opções de Configuração do ambiente 3. Navegador dos recursos do Projecto

4. Ajuda Integrada sobre as ferramentas disponíveis 5. Janela de mensagens

6. Dispositivo seleccionado

Nota: A primeira coisa a fazer é seleccionar o PIC16F627A como Device em

“Configure” “Select Device” PIC16F627A

7. Atalhos para criação de novo projecto, abertura de um projecto existente ou gravação de todo o projecto corrente

(3)

Página: 3 Criação de um Projecto

A criação de um projecto novo envolve a preparação de uma pasta com uma série de ficheiros de configuração, de recursos e de registo. O modo mais fácil de criar um projecto novo é usar a ferramenta “Project Wizard…” na zona (2) do ambiente de trabalho.

Ao aparecer a janela de “Welcome” deverá seleccionar-se a opção “Next” até ao passo “3” onde se terá de atribuir uma pasta (normalmente vazia) onde se irão gerar os diferentes ficheiros necessários ao projecto:

1. Directoria onde vão ficar os projectos

2. Directoria onde fica o projecto que se está a criar 3. Nome do projecto

Finalmente ir carregando em “Next” e “Finish”. O resultado obtido será:

1. Nome do “WorkSpace” – onde se guardam as configurações.

2. Nome do projecto 3. Ficheiro fonte a adicionar

(4)

Página: 4 De seguida, é necessário criar um ficheiro de código fonte com a extensão “.asm” na directoria do projecto, que será adicionada á pasta “Source Files”. Primeiro cria-se um ficheiro “untitled” com “File” ”New” (aparece uma janela com nome “untitled”). Com essa janela seleccionada, fazer de imediato “File” “Save As” e atribuir o nome “nome_projecto.asm” ”Save”:

De seguida adicionar o ficheiro “Source” (*.asm criado previamente) na janela do projecto na pasta “Sources”- Em cima de “Sources”, clicar no botão da direita do rato e adicionar o ficheiro *.asm :

(5)

Página: 5 Fazer a gravação do Ambiente de trabalho (WorkSpace) em “File” “Save WorkSpace” ou utilizando o Atalho correspondente e sair do MPLAB-IDE.

Observando a directoria do projecto poderemos observar:

1. Ficheiro de configuração do Projecto

2. Ficheiro que guarda o aspecto do ambiente de trabalho (WorkSpace) 3. Ficheiro do Código Fonte

4. Ficheiro com objectivo desconhecido..

Lançar agora o MPLAB a partir da directoria do projecto clicando em qualquer dos “Icons” Microchip. O MPLAB deverá arrancar na mesma situação do último “Save”, mantendo o ambiente de trabalho.

Notas:

• Se aparecer uma mensagem a pedir para indicar o tipo de código gerado, escolher “Absolute”.

• O MPLAB pode ser lançado do “Start” do Windows abrindo o projecto com “Project” “Open”, ou em alternativa, “File” ”Recent Workspaces”.

Codificação e Assemblagem

Com o Projecto aberto, assegurar-se que tem um ficheiro de código fonte adicionado (1). Assemblar com “Build All” (2).

(6)

Página: 6 Se não existir nada no ficheiro fonte deverá aparecer na janela “Output” uma

indicação de erro (3) com “BUILD FAILED”. A partir deste momento, teremos de introduzir o código no ficheiro – linguagem assembly do microcontrolador, além de directivas ao programa assemblador. Por exemplo, a directiva “END” indica ao programa de assemblagem que a codificação introduzida e a interpretar finalizou.

Com o Projecto aberto, introduzir o seguinte código no ficheiro fonte (*.asm):

; primeiro - teste -> comentário inicia-se com um ";" VAR1 EQU 0x20 ; Zona de memória do utilizador em 20H

VAR2 EQU 0x21 ; EQU - "Equal" - o assemblador substitu VAR2 por 0x21 no código clrw ; WREG = 0 - WREG é o acumulador

movwf VAR1 ; Mover o conteúdo de WREG para a VAR1 (20H) inc ; label/etiqueta/endereço

incf VAR1, 1 ; Incrementar o conteúdo de VAR1 e gravar em VAR1 goto inc

END

Nota: Reparar que o editor é “esperto” – muda a cor do texto introduzido sempre

que reconhece palavras chave (intruções, directivas e outras).

Após a introdução do código fazer “Buil All” – Deverá aparecer “BUILD SUCCEEDED” na janela de “Output”

Ficheiros gerados pelo Assemblador

Nesta altura poderemos fazer uma inspecção à directoria do Projecto:

1. Código Fonte.

2. Ficheiro que indica os erros ou avisos que ocorreram na assemblagem. 3. Ficheiro com a imagem do código – a enviar para o microcontrolador, no

(7)

Página: 7 4. Ficheiro com a demonstração do trabalho do Assemblador.

5. Estatísticas várias sobre a utilização dos recursos do microcontrolador.

Nota: Os restantes ficheiros são ficheiros intermédios necessários à geração

da imagem *.HEX.

O ficheiro realmente importante é o “*.lst” – Listing:

1. Valores em Hex atribuídos aos Símbolos “VAR1” e VAR2”.

2. Endereços da memória de programa “FLASH” onde estão os CODOPs das instruções.

3. CODOPs das instruções (relacionar com a pág 118 do manual do PIC 16F627A).

4. Linhas no ficheiro de Código Fonte (*.asm)

5. Aviso – o assemblador não aprecia particularmente que esta directiva esteja na coluna 1 do ficheiro fonte – colocar um TAB antes e o aviso desaparece. 6. Table com os Símbolos e respectivos valores atríbuidos.

7. Estatística da memória usada.

(8)

Página: 8 Despistagem de Erros e Simulação

A despistagem de erros, simulação e teste do funcionamento do código é fundamental na fase de desenvolvimento de um projecto envolvendo

microcontroladores. No MPLAB-IDE existe um simulador do funcionamento do

microcontrolador, permitindo fazer a depuração dos erros lógicos e aprimorar o código antes de realizar a programação do dispositivo e partir para os testes de campo, o que tem importância relevante em termos de ganhos de tempo no desenvolvimento.

1.

Comandos Básicos

Para activar o Simulador fazer “Debugger” ”Select Tool” ”4 MPLAB SIM” , pelo que deverá aparecer a barra:

Esta barra de comandos permite fazer a execução do código “passo a passo” além de outras funcionalidades, que serão explicadas com maior detalhe mais à frente neste Guião. Para se verificar o funcionamento do nosso código será preciso introduzir no ambiente de trabalho (“Work Space”) mais três janelas:

1 . “View” ”Program Memory” (memória FLASH onde estão os nossos CODOPs) 2. “View” ”File Registers” (Memória RAM onde estão os registos internos do microcontrolador (de 00h até 1Fh), e as nossas variáveis (a partir de 20h).

3. “View” ”Special Function Registers”

Nota: Existem outros endereços na memória alocados a outros registos internos do

microcontrolador (SFRs). Ajustar o ambiente de trabalho como na figura seguinte:

(9)

Página: 9 Comandos mais Importantes:

1. Reset (F6) – Coloca o programa no Início (endereço 0000h) 2. Step Into (F7) – Faz a execução Instrução a Instrução 3. Step Over (F8) – faz a execução Linha a Linha

4. Break Point - Clicar duas vezes na linha à esquerda no código fonte – coloca um ponto de espera

5. Run (F9) – Executa rapidamente até ao(s) Break Point (s)

Observe as alterações que provoca nas diferentes janelas quando executa passo a passo o programa:

• Quando existe uma alteração, o elemento alterado fica a vermelho. • O endereço da memória 20H vai sendo incrementado

• O endereço 02H mantêm-se em 02/03. Porquê?

• É possível alterar uma posição de memória arbitrária na janela “File Registers”

• Na janela “Programa Memory” é possível alterar o CODOP ou a respectiva MNEMÓNICA (dar “ENTER” depois de alterar).

2. Comandos Avançados

A partir de agora apresenta-se o ambiente de trabalho típico usado no desenvolvimento de projectos com o microcontrolador:

1. Retire as janelas “Progam Memory”, “SFR” e “File Registers” 2. Inclua as janelas “Watch” (View Watch) e “Stopwatch”

(Debugger StopWatch)

3. Em Debugger Settings, altere a frequência de trabalho para 4 MHz 4. Introduza os SFRs “WREG”, “PCL” e “STATUS”. Introduza o Symbol “VAR1”

(10)

Página: 10 Explore agora a simulação com esta nova configuração do ambiente de trabalho:

• Pode alterar alguns valores nas janelas

• Verifique o tempo de execução na janela “Stopwatch”

• PCL – Contador de programa – aponta para a instrução a executar

Teste do programa KITT

Na directoria “primeiro” renomeie o ficheiro “primeiro.asm” para “primeiro_1.asm”. Introduza agora o ficheiro “primeiro_2.asm” e copie-o para “primeiro.asm”. Lance o projecto em MPLAB. Na janela “Watch” terá de remover a linha da “VAR1” e introduzir o SFR PORTB.

Tente fazer a exploração deste novo projecto: Assemblagem, testes passo a passo, compreensão da rotina “delay...”, uso de“Breakpoints”, etc. Meça o tempo de execução de vários troços de programa.

Procure finalmente reduzir o tamanho do programa utilizando outras instruções/métodos. 21-04-2016

Procure no site oficial o Ficheiro Comprimido “projectos_pic” e descarregue-o para a área de trabalho do seu computador. Abra o ficheiro e arraste para a área de trabalho (DeskTop) a directoria “projectos_pic”. Fica assim com acesso a vários projectos MPLAB.

Atenção: o MPLAB não funciona sobre ficheiros comprimidos.

Na directoria “primeiro”, encontra um ficheiro “source” - primeiro_2melhorado.asm – copie-o para primeiro.asm e abra o respectivo projecto. Pode agora simular e tentar compreender como se conseguiu melhorar o programa “Kitt”, nomeadamente com a utilização de “tabelas”.

(11)

Página: 11 Codificação de Fluxogramas. A janela de “Estímulos”

Na directoria de projectos PIC, pode encontrar um projecto sobre codificação em assembly do PIC de Fluxogramas.

Abra o projecto “Fluxograma” e tente perceber o mesmo, com o objectivo de desenhar o fluxograma que descreve um automatismo. Apage a janela “Stimulus” e acrescente uma janela “Stop Watch” com a frequência a 4 MHz (a partir de Debugger Stop Watch, e Settings...).

Tente fazer “Build All”. Vai verificar que existem erros na assemblagem. O troço de código que apresenta erros (quais?) foi usado para explicar os desvios condicionais. Apague esse troço de código e prossiga com a assemblagem.

Utilize agora a ferramenta de simulação para perceber o

funcionamento do programa: F6 – reset ; F7 - “passo a passo”; Janela “Watch” – registos PCL, WREG e PORTB.

Deve conseguir a seta verde com PCL=0 – micro a iniciar o código no endereço “00” da memória de programa (FLASH). Com F7, execute passa a passo e verifique o funcionamento do programa na janela “Watch”: o WREG a ser carregado com os valores definidos com “EQU” e passados ao PORTB. Note que primeiro foi feita a inicialização e configuração dos Portos de entrada/saída do microcontrolador: PORTA – INPUT; PORTB – OUTPUT.

(12)

Página: 12 “estado_0”. Porquê? Porque K1 – definido como “PORTA, 0”, bit 0 do PORTA como entrada, se mantém a “0”, e portanto, a instrução “btfss” não faz o salto. Para vermos evoluir o programa para os outros estados é necessário actuar nas entradas K1 e Z1.

Repare que tentando modificar os respectivos bits em PORTA na janela “Watch” (K1 – bit0, Z1 – bit 1) não funciona. Este método só funciona para as saídas.

Introduza agora a janela “Stimulus”: Debugger Stimulus New WorkBook:

Preenchendo os respectivos campos, introduza sucessivamente “RA0 – para o K1”; RA1 – para o Z1”; as acções como “Toggle” e a descrição no campo “Coments”.

Comece novamente a simulação a partir do início do programa com “reset” (F6).

Agora, quando o programa estiver no “estado_0”, faça um click em “Fire” (>) de K1. Após a execução de uma instrução, deverá aparecer na janela “Watch” a modificação no bit 0 do PORTA (K1). A acção “Toggle” permite trocar o bit.

Simule o programa, com a utilização da janela “Stimulus”, para verificar o funcionamento do automatismo: Perante as entradas K1 e Z1, assim teremos várias situações diferentes (“estados”) com as saídas respectivas.

Compreendendo o funcionamento do programa e utilizando as ferramentas de simulação será possível desenhar o respectivos Fluxograma:

INIT 0 K1 0 Z1 Z1 1 2 3 0 0 11 10 00 01

Referências

Documentos relacionados

Em sua tradução decolonial, humanista e marxista, na luta pela coerência dialética entre a reflexão crítica sobre a realidade concreta e a ação crítica sobre

Pesando nisso, a LIPFLAP possui em sua equipe os profissionais de Assistência Social para orientação dos trâmites regulares/administrativos junto ao INSS e

O presente trabalho teve como objetivo avaliar a produção de porta-enxerto de limão cravo (Citrus limonia Osbeck), em resposta a aplicação em cobertura, de doses de

Os pacientes foram encaminhados ao Laboratório de Citogenética do HU- UFSC provenientes do ambulatório de genética, centro obstétrico (natimortos e fetos.. mortos),

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São

Os resultados deste estudo mostram que entre os grupos pesquisados de diferentes faixas etárias não há diferenças nos envoltórios lineares normalizados das três porções do

Considerando que essa despesa foi utilizada para fins de gerenciamento de resultados visando alinhá-lo a previsão dos analistas, espera-se que o efeito da mudança da ETR do quarto

Posteriormente, o mesmo autor, Viveiros de Castro, pro- pôs o termo perspectiva, para estabelecer que, muito resumidamente, tudo depende da posição singular de onde o