Aula_MCLPs_A2_V1
Click here to load reader
-
Upload
felipe-rodrigues -
Category
Documents
-
view
101 -
download
1
Transcript of Aula_MCLPs_A2_V1
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 1
Familiarização com MPLAB IDE
Prof. Paulo EugenioUNIP – Sorocaba
Agosto - 2010Lab A1 (Pratica)
Parte I – Fundamentos Teóricos
23/08/2010 1
Ambientes de Desenvolvimento para o PICCompilador 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 2
Ambientes de Desenvolvimento para o PIC
MCLPs – Microprocessadores e CLPs – Roteiro da Experiência 1 - 23/08/10 2
23/08/2010 3
Fluxo de Desenvolvimento
23/08/2010 4
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 5
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.
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.