You are on page 1of 11

MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 1

Familiarização com
MPLAB IDE

Prof. Paulo Eugenio


UNIP – Sorocaba
Agosto - 2010
Lab A1 (Pratica)

Parte I – Fundamentos Teóricos

Ambientes de Desenvolvimento para o PIC


Compilador C para o PIC:
• Fabricante CCS
• Modelos:
– PCB para PICs de 12 bits (série PIC12)
– PCM para PICs de 14 bits (séries PIC14 e PIC16)
– PCH para PICs de 16 bits (série PIC18)
– PCWH (todos)
MPLAB:
• Ambiente de Desenvolvimento Integrado (IDE)
• Permite compilar de dentro do ambiente (Necessita compilador CCS).
• Grava o PIC e Depura.
• Download no site da Microchip.
Gravadores:
• McFLASH
• McPLUS
• ICD
Simuladores:
• ISIS - Proteus
• GPSIM (GNU PIC Simulator) – Open Source
• PIC IDE Simulator (Oshonsoft.com)

23/08/2010 1

Ambientes de Desenvolvimento para o PIC

23/08/2010 2
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 2

Fluxo de Desenvolvimento

23/08/2010 3

Sistema Labtools
• O sistema Labtools é formado por:
– Softaware MPLAB IDE
Aplicativo integrador de desenvolvimento para
firmware usando PIC
– Simulador / Gravador ICD2
• 1 ICD2BR – depurador / gravador Microchip;
• 1 McSoc - Soquete para leitura/gravação
(DIP);
• 1 Cabo de ligação entre o ICD2BR o McSoc e
os produtos LabTools;
• 1 Cabo padrão USB;

23/08/2010 4

Sistema Labtools (Cont..)


– Placa de desenvolvimento McLab2:
• A placa utiliza o microcontrolador PIC
18F452 como objeto central.
• Junto ao microcontrolador uma série
de periféricos foram adicionados.
• O objetivo é disponibilizar uma placa
de desenvolvimento onde o usuário
possa testar seus conhecimentos em
software, sem se preocupar com a
montagem do hardware.

23/08/2010 5

Lab 01 - Uso do MPLAB


OBJETIVO: Aprender a usar o Ambiente MPLAB, realizando as operações para:
• Criar e configurar um novo projeto
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 3
• Compilar um arquivo-fonte (programa)

• Simular a execução do programa, acompanhando:

o A execução de cada instrução (Janela do programa)

o O efeito de cada instrução nos Registradores de Dados (Janela Watch)

o A geração de Estímulos Externos (Janela Stimulus)


Procedimento:

ATENÇÃO:

Ao final de cada atividade de laboratório, você será avaliado com uma nota, entre 0 e 10

Você tem 100min para executar todo o procedimento programado para esta atividade.
Administre o seu tempo com sabedoria.

• PASSO I - CRIAR E CONFIGURAR UM NOVO PROJETO NO MPLAB

o Execute o MPLAB

o Crie um novo Projeto, com nome Lab01

o Salve o arquivo-fonte pisca_led.asm na pasta do projeto.

 DICA: Para salvar o arquivo, clique no link acima com o botão direito do mouse.

o Adicione o Arquivo-Fonte ao Projeto

• PASSO II - COMPILAR O PROJETO

o Para compilar o projeto, clique no botão Build All.

• PASSO III - SIMULAR O PROJETO

o Configure o ambiente de Simulação (Debugger)

o Usando o modo Step Into, acompanhe cuidadosamente a execução de cada instrução, e o efeito correspondente
nos registradores (janela Watch)

o Por exemplo:

 ao executar uma instrução movlw, observe o valor correspondente aparecer em WREG

 ao executar uma instrução movwf, observe o valor de WREG ser copiado para o registrador indicado

 ao executar bsf STATUS,RP0, observe na barra inferior do MPLAB, a indicação de que o microcontrolador
selecionou o banco 1 da memória...

 aproveite para observar também outros detalhes importantes nessa barra inferior: pela ordem:

 o modelo do microcontrolador que você está usando,

 o valor atual do PC,

 o valor atual de W,

 os indicadores Z, DC e C do registrador STATUS (minúsculo=0; maiúsculo=1),

 a frequência do oscilador.

 finalmente, o banco de memória que está em uso


• Neste ponto, você já entendeu como funciona o ambiente MPLAB, e como usar os recursos de simulação. Agora é
hora de se concentrar, especificamente, no programa que está sendo executado, e compreender seu
funcionamento.
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 4

Seja paciente e observador!


Use a simulação, passo a passo, para visualizar e compreender como as coisas acontecem...

Seja curioso!
Procure entender a razão por trás de cada operação.
Por exemplo:
• Por que foi necessário fazer CMCON = 00000111 ? (Leia seção 5.5.2 do livro)

• Por que foi necessário selecionar o banco 1, antes de acessar os registradores TRISA e TRISB? (consulte seção 3,2 do livro)

o Leia a Descrição, no cabeçalho do programa. Entenda o que esse programa faz, para daí entender como ele faz.

 Perceba que a descrição do programa prevê um certo número de entradas, e um certo número de saídas.
Em que parte do código isso está sendo configurado?

 Coloque o simulador em modo Animate, ajuste-o para uma velocidade lenta, para que você possa
observar cada instrução, e observe a execução do programa PRINCIPAL... ele vai executar essas 4
instruções, infinitamente.

 Acione os Estímulos (que você já configurou acima) e observe o efeito correspondente em cada bit de
PORTA e de PORTB.

 Entenda o que cada uma dessas 4 instruções está fazendo.

 Agora, responda os Exercícios, no final do programa.

UFA! - Acabou!!!

Para finalizar o MPLAB, não precisa fechar cada janelinha interna - feche o MPLAB diretamente.
Assim, da próxima vez que você abrir esse projeto, todas as janelas já estarão configuradas e organizadas como você as deixou.
Aproveite para copiar seus arquivos em seu pendrive. LEMBRE-SE: você só precisa copiar os arquivos .asm

Criar novo Projeto

• Para criar um novo projeto, clique em: Project | New...


[vai abrir uma janela pedindo o nome do projeto, e a pasta onde será gravado]

IMPORTANTE:

o Cada aluno deve cirar sua pasta pessoal (C:\PIC\SeuNome\)

o Cada novo projeto deve estar em uma pasta separada. Ex: C:\PIC\SeuNome\Projeto01\

o Os nomes das pastas e dos projetos DEVEM CONTER APENAS LETRAS E NÚMEROS. Não use:

 Espaços,

 cedilhas,

 acentuação,

 caracteres especiais de qualquer tipo.


MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 5
• Para configurar o microcontrolador que será usado no projeto, clique em: Configure | Select Device...
[vai abrir uma janela, onde você poderá selecionar o dispositivo (device) a ser usado)

Em nossos projetos, usaremos SEMPRE o microcontrolador PIC 18F452

• Para visualizar o projeto que você acabou de criar, clique em: View | Project
[vai aparecer uma janela, mostrando o projeto com o nome que você criou (extensão .mcw), e várias pastas, ainda vazias,
onde você adicionará os arquivos ao seu projeto]

• Observe que o ambiente criou, automaticamente, dois novos arquivos:

o Lab01.mcw (que contém as configurações do workspace - a área de trabalho do MPLAB)

o Lab01.mcp (que contém as configurações do projeto). Abaixo deste arquivo, estão representadas as várias pastas
do projeto, ainda vazias.

Adicionar Arquivo-Fonte ao Projeto


MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 6

• Para adicionar um arquivo-fonte já existente ao projeto, siga o procedimento abaixo:

o Abra o arquivo-fonte: clique em File | Open...

 LEMBRE-SE: todo arquivo-fonte, na linguagem assembly tem a extensão ".asm"

 O MPLAB vai abrir uma nova janela, onde você pode ver e editar o arquivo-fonte.

o Adicione o arquivo ao Projeto:

 Na janela do editor, clique com o botão da direita do mouse, e selecione Add to Project.

• Observe que, a partir desse momento, o arquivo-fonte passa a constar dentro da pasta "Source Files", na janela do Projeto.

• A fim de formatar corretamente a visualização do arquivo, configurando as colunas do código assembly com a largura
adequada, clique novamente com o botão direito na janela do editor, e selecione Properties...
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 7

Build All

• Para compilar o projeto, clique no botão Build All:

ATENÇÃO:

Na primeira compilação de um projeto, o MPLAB irá perguntar sobre o tipo de código-objeto


a ser gerado (Absoluto ou Realocável)
Escolha SEMPRE código Absoluto
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 8
• O processo de compilação gera algumas Mensagens (Message) e possivelmente algumas Advertências (Warning), na
janela Output (Saída).

o Se o seu arquivo-fonte compilar corretamente, ao final de todas as mensagens aparecerá BUILD SUCCEEDED.

 Mesmo que tenha compilado corretamente, preste atenção aos Warnings - eles podem indicar falhas de
lógica em seu programa

o Caso contrário, aparecerá BUILD FAILED.

 Nesse caso, concentre-se nas mensagens de Erro (Error).

 Ao clicar em cima da mensagem qualquer, o MPLAB te mostrará exatamente a linha do seu programa a
que ela se refere.

 Corrija todos os erros, até que seu programa compile corretamente.

Simulação

IMPORTANTE:

Procure ler e entender cada mensagem. Sua sobrevivência dependerá disso.

DICA IMPORTANTE:

Tudo que se refere a Simulação está dentro do menu Debugger


Investigue, explore, aprenda por si mesmo!

• Configurar o ambiente de Simulação:

o clique em Debugger | Select Tool | MPLAB SIM


Observe o aparecimento de uma nova barra de botões.

o Da esquerda para a direita, os botões têm as seguintes funcionalidades:

 Run: executa o programa em alta velocidade - não mostra a simulação passo a passo

 Pause: pausa a simulação

 Animate: executa instrução por instrução, automaticamente.

 Step Into: executa apenas uma instrução

 Step Over: executa apenas uma instrução, mas se a instrução for um call, ele executa toda a subrotina,
sem mostrar detalhes, e retorna.

 Step Out: se estiver dentro de uma subrotina, executa rapidamente até sua finalização (return)

 Reset: Reinicia o programa, a partir do endereço 0.

 Breakpoints: gerencia os pontos de parada (breakpoints).

o Clique no botão Reset.

 Observe o surgimento de uma seta verde, apontando para a primeira instrução do programa.

 Essa seta corresponde ao valor do PC (Program Counter), logo, ela sempre estará apontando para a
próxima instrução a ser executada.

o Ajuste a frequência do clock:

 Como o PIC pode trabalhar com diversas frequências de clock (oscilador), o simulador precisa saber qual a
frequência que você pretende usar em seu projeto.

 Em TODOS os nossos projetos, usaremos sempre o oscilador RC interno, cuja frequência é 4MHz

 Para ajustar esse parâmetro, clique em Debugger | Settings... e selecione a guia Osc / Trace
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 9

o Você pode ajustar também a velocidade da simulação (Animate step time), para o modo Animate e a velocidade de
atualização dos dados (Realtime watch update), para o modo Run.

 Para isso, clique em Debugger | Settings... e selecione a guia Animation / Realtime Updates.

 Esses valores podem ser ajustados de acordo com a sua preferência.

• Abrir a janela para observar os Registradores:

o Clique em View | Watch

o No campo Symbol Name, digite os nomes dos registradores que você deseja observar (os registradores usados
pelo seu programa):

o Observe que, ao digitar o nome de cada registrador, a janela automaticamente adiciona o seu endereço (Address), e
seu valor, exibido em hexadecimal, decimal e binário.

 Se um desses valores não estiver aparecendo, clique com o botão direito sobre a barra "Value", e ative-o.

• Abrir a janela para controle dos Estímulos Externos:

o Clique em Debugger | Stimulus | New Workbook

o Nessa janela, você vai configurar cada pino de ENTRADA, correspondente ao programa que você estiver
simulando.

 Por exemplo: para o programa inversor.asm, todos os pinos do RA7 até RA0 foram configurados como
entradas, você deverá preencher a tabela de estímulos conforme a figura abaixo:

 Na coluna Comments / Message, você pode digitar um texto qualquer, que identifique cada uma dessas
entradas
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 10

o A janela de estímulo funciona da seguinte forma:

 Ao clicar no símbolo ">" na coluna "Fire", o simulador irá executar a ação Toggle (inverter) no estado
daquele pino.

 Ex: coloque a simulação em modo Animate.

 Clique sucessivamente no > correspondente ao RA0

 Observe o efeito na janela Watch: O bit 0 do registrador PORTA alternará entre 0 e 1 a cada click
do mouse.

• O ambiente total de simulação, portanto, envolverá a observação de tudo o que acontece nessas 3 janelas:

o O código-fonte do programa, com a seta indicando cada instrução a ser executada

o A janela Watch, mostrando o que acontece em cada registrador, após a execução de cada instrução

o A janela Stimulus, onde você poderá controlar eventos e sinais externos

IMPORTANTE:

Organize o seu ambiente de trabalho, de forma que todas as janelas fiquem visíveis, sem sobreposições,
aproveitando ao máximo a área do monitor, conforme o exemplo abaixo
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 11
Parte II – Roteiro Experimental
a. Carregando Software de teste do hardware
Utilizado para testar as funcionalidades de quase todos os recursos da placa McLab 2:
• Fornecido apenas o arquivo .HEX (código de máquina);
• Selecione o Device instalado na MCLab2, usar: <Configure> <Select Device...> e selecionar 18F452;
• Importar o arquivo modulo2.hex,usar: <File> <Import> no menu do MPLAB IDE;
b. Utilizando ICD2 como gravador
Mudando ICD2 para gravador:
• Clique em Debugger > Select Toll > e selecione None;
• Clique em Programmer > Select Programmer > MPLAB ICD2 para habilitar o ICD2BR como gravador;
• O menu do gravador e o MPLAB mudarão para opções de gravação sempre que a ferramenta for selecionada. Também, a janela de
saída (output) abrirá com mensagens sobre o status de comunicação e aceitação do ICD.

Para gravar a aplicação do projeto no componente siga os passos:


• Selecione Programmer > Blank Check para checar se a memória de programa está apagada. Se não estiver, é obrigatório o processo de
apagar (Programmer > Erase Part);
• Selecione Programmer > Program para inserir seu código no componente ou placa de aplicação ou placa de demonstração que está
conectada no seu ICD2BR;
• Selecione <Verify> do menu de gravação (Programmer) para verificar se o componente foi gravado corretamente;
• Gravar o software utilizando ICD2 como gravador;
• Desfaz conexão entre ICD2 e MCLab2;
• Desliga e liga MCLab2 e verifique o funcionamento da aplicação.
c. Responder as questões abaixo:
1) Anotar as funções testadas pela aplicação de teste carregada no McLAB2:

2) Seguir as orientações da Parte I e:


a. Criar um Novo Projeto de nome Lab1;
b. Adicionar o arquivo fonte abaixo ao projeto:
#include <p18F452.inc>
CONFIG WDT=OFF; disable watchdog timer
CONFIG DEBUG = ON; Enable Debug Mode
CONFIG LVP = OFF; Low-Voltage programming disabled (necessary for debugging)
;**************************************
;* DEFINIÇÃO DAS VARIÁVEIS *
;**************************************
CBLOCK 0X20 ; POSIÇÃO INICIAL DA RAM
Delay1 ; Reserva byte para variável Delay1
Delay2 ; Reserva byte para variável Delay1
STATUS_LEDS ; ARMAZENA O ESTADO DOS LEDS
ENDC
org 0; start code at 0
Start:
MOVLW B'11110000' ; PREPARA MASCARA
ANDWF TRISB,F ; EXECUTA MASCARA (TORNA RB0 ATE RB3 SAÍDA)
ANDWF PORTB
CLRF Delay1
CLRF Delay2
MainLoop:
BTG PORTB,RB0 ;Inverter PORT B PIN 0
BTG PORTB,RB1 ; Inverter PORT B PIN 1
BTG PORTB,RB2 ; Inverter PORT B PIN 2
BTG PORTB,RB3 ; Inverter PORT B PIN 3
Delay:
DECFSZ Delay1,1 ;Decrementa Delay1 de 1, pula próxima instrução se Delay1 é 0
GOTO Delay
DECFSZ Delay2,1
GOTO Delay
GOTO MainLoop
END
c. Compilar o projeto, clique no ícone BUILD ALL (para maiores detalhes desta operação veja na Parte I). Siga os passos do item b
acima para gravar o programa compilado no MCLAB2 e verifica seu funcionamento. O professor deve verificar que a aplicação
está funcionando.
d. Alterar o programa de forma que o tempo de piscar dos LEDs fique com um tempo maior, re-escrever o programa abaixo:
e. Fazer o fluxograma do programa do item b.

You might also like