Você está na página 1de 11

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10

Familiarizao com MPLAB IDE

Prof. Paulo Eugenio UNIP Sorocaba Agosto - 2010 Lab A1 (Pratica)

Parte I Fundamentos Tericos


Ambientes de Desenvolvimento para o PIC
Compilador C para o PIC: Fabricante CCS Modelos: PCB para PICs de 12 bits (srie PIC12) PCM para PICs de 14 bits (sries PIC14 e PIC16) PCH para PICs de 16 bits (srie 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

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10

Fluxo de Desenvolvimento

23/08/2010

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/gravao (DIP); 1 Cabo de ligao entre o ICD2BR o McSoc e os produtos LabTools; 1 Cabo padro 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 srie de perifricos foram adicionados. O objetivo disponibilizar uma placa de desenvolvimento onde o usurio 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 operaes para:

Criar e configurar um novo projeto

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10


Compilar um arquivo-fonte (programa) Simular a execuo do programa, acompanhando:

o o o

A execuo de cada instruo (Janela do programa) O efeito de cada instruo nos Registradores de Dados (Janela Watch) A gerao de Estmulos Externos (Janela Stimulus)

Procedimento:

ATENO: Ao final de cada atividade de laboratrio, 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 o o

Execute o MPLAB Crie um novo Projeto, com nome Lab01 Salve o arquivo-fonte pisca_led.asm na pasta do projeto. DICA: Para salvar o arquivo, clique no link acima com o boto direito do mouse.

Adicione o Arquivo-Fonte ao Projeto

PASSO II - COMPILAR O PROJETO

Para compilar o projeto, clique no boto Build All.

PASSO III - SIMULAR O PROJETO

o o

Configure o ambiente de Simulao (Debugger) Usando o modo Step Into, acompanhe cuidadosamente a execuo de cada instruo, e o efeito correspondente nos registradores (janela Watch) Por exemplo: ao executar uma instruo movlw, observe o valor correspondente aparecer em WREG ao executar uma instruo movwf, observe o valor de WREG ser copiado para o registrador indicado ao executar bsf STATUS,RP0, observe na barra inferior do MPLAB, a indicao de que o microcontrolador selecionou o banco 1 da memria...

aproveite para observar tambm 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 (minsculo=0; maisculo=1), a frequncia do oscilador. finalmente, o banco de memria que est em uso

Neste ponto, voc j entendeu como funciona o ambiente MPLAB, e como usar os recursos de simulao. Agora hora de se concentrar, especificamente, no programa que est sendo executado, e compreender seu funcionamento.

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10


Seja paciente e observador! Use a simulao, passo a passo, para visualizar e compreender como as coisas acontecem... Seja curioso! Procure entender a razo por trs de cada operao. Por exemplo:

Por que foi necessrio fazer CMCON = 00000111 ? (Leia seo 5.5.2 do livro)

Por que foi necessrio selecionar o banco 1, antes de acessar os registradores TRISA e TRISB? (consulte seo 3,2 do livro) Leia a Descrio, no cabealho do programa. Entenda o que esse programa faz, para da entender como ele faz. Perceba que a descrio do programa prev um certo nmero de entradas, e um certo nmero de sadas. Em que parte do cdigo isso est sendo configurado? Coloque o simulador em modo Animate, ajuste-o para uma velocidade lenta, para que voc possa observar cada instruo, e observe a execuo do programa PRINCIPAL... ele vai executar essas 4 instrues, infinitamente. Acione os Estmulos (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 instrues est fazendo. Agora, responda os Exerccios, no final do programa. UFA! - Acabou!!!

Para finalizar o MPLAB, no precisa fechar cada janelinha interna - feche o MPLAB diretamente. Assim, da prxima vez que voc abrir esse projeto, todas as janelas j estaro 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 o o

Cada aluno deve cirar sua pasta pessoal (C:\PIC\SeuNome\) Cada novo projeto deve estar em uma pasta separada. Ex: C:\PIC\SeuNome\Projeto01\ Os nomes das pastas e dos projetos DEVEM CONTER APENAS LETRAS E NMEROS. No use: Espaos, cedilhas, acentuao, caracteres especiais de qualquer tipo.

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10


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 (extenso .mcw), e vrias pastas, ainda vazias, onde voc adicionar os arquivos ao seu projeto]

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

o o

Lab01.mcw (que contm as configuraes do workspace - a rea de trabalho do MPLAB) Lab01.mcp (que contm as configuraes do projeto). Abaixo deste arquivo, esto representadas as vrias pastas do projeto, ainda vazias.

Adicionar Arquivo-Fonte ao Projeto

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10


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

Abra o arquivo-fonte: clique em File | Open... LEMBRE-SE: todo arquivo-fonte, na linguagem assembly tem a extenso ".asm" O MPLAB vai abrir uma nova janela, onde voc pode ver e editar o arquivo-fonte.

Adicione o arquivo ao Projeto: Na janela do editor, clique com o boto 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 visualizao do arquivo, configurando as colunas do cdigo assembly com a largura adequada, clique novamente com o boto direito na janela do editor, e selecione Properties...

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10

Build All

Para compilar o projeto, clique no boto Build All: ATENO: Na primeira compilao de um projeto, o MPLAB ir perguntar sobre o tipo de cdigo-objeto a ser gerado (Absoluto ou Realocvel) Escolha SEMPRE cdigo Absoluto

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10


O processo de compilao gera algumas Mensagens (Message) e possivelmente algumas Advertncias (Warning), na janela Output (Sada).

Se o seu arquivo-fonte compilar corretamente, ao final de todas as mensagens aparecer BUILD SUCCEEDED. Mesmo que tenha compilado corretamente, preste ateno aos Warnings - eles podem indicar falhas de lgica em seu programa

Caso contrrio, 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.

Simulao
IMPORTANTE: Procure ler e entender cada mensagem. Sua sobrevivncia depender disso. DICA IMPORTANTE: Tudo que se refere a Simulao est dentro do menu Debugger Investigue, explore, aprenda por si mesmo!

Configurar o ambiente de Simulao:

clique em Debugger | Select Tool | MPLAB SIM Observe o aparecimento de uma nova barra de botes.

Da esquerda para a direita, os botes tm as seguintes funcionalidades: Run: executa o programa em alta velocidade - no mostra a simulao passo a passo Pause: pausa a simulao Animate: executa instruo por instruo, automaticamente. Step Into: executa apenas uma instruo Step Over: executa apenas uma instruo, mas se a instruo 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 finalizao (return) Reset: Reinicia o programa, a partir do endereo 0. Breakpoints: gerencia os pontos de parada (breakpoints).

Clique no boto Reset. Observe o surgimento de uma seta verde, apontando para a primeira instruo do programa. Essa seta corresponde ao valor do PC (Program Counter), logo, ela sempre estar apontando para a prxima instruo a ser executada.

Ajuste a frequncia do clock: Como o PIC pode trabalhar com diversas frequncias de clock (oscilador), o simulador precisa saber qual a frequncia que voc pretende usar em seu projeto. Em TODOS os nossos projetos, usaremos sempre o oscilador RC interno, cuja frequncia 4MHz Para ajustar esse parmetro, clique em Debugger | Settings... e selecione a guia Osc / Trace

MCLPs Microprocessadores e CLPs Roteiro da Experincia 1 - 23/08/10

Voc pode ajustar tambm a velocidade da simulao (Animate step time), para o modo Animate e a velocidade de atualizao 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 preferncia.

Abrir a janela para observar os Registradores:

o o

Clique em View | Watch No campo Symbol Name, digite os nomes dos registradores que voc deseja observar (os registradores usados pelo seu programa): Observe que, ao digitar o nome de cada registrador, a janela automaticamente adiciona o seu endereo (Address), e seu valor, exibido em hexadecimal, decimal e binrio. Se um desses valores no estiver aparecendo, clique com o boto direito sobre a barra "Value", e ative-o.

Abrir a janela para controle dos Estmulos Externos:

o o

Clique em Debugger | Stimulus | New Workbook 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 estmulos 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 Experincia 1 - 23/08/10

10

A janela de estmulo funciona da seguinte forma: Ao clicar no smbolo ">" na coluna "Fire", o simulador ir executar a ao Toggle (inverter) no estado daquele pino. Ex: coloque a simulao 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 simulao, portanto, envolver a observao de tudo o que acontece nessas 3 janelas:

o o o

O cdigo-fonte do programa, com a seta indicando cada instruo a ser executada A janela Watch, mostrando o que acontece em cada registrador, aps a execuo de cada instruo 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 visveis, sem sobreposies, aproveitando ao mximo a rea do monitor, conforme o exemplo abaixo

MCLPs Microprocessadores e CLPs Roteiro da Experincia 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 (cdigo de mquina); 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 mudaro para opes de gravao sempre que a ferramenta for selecionada. Tambm, a janela de sada (output) abrir com mensagens sobre o status de comunicao e aceitao do ICD. Para gravar a aplicao do projeto no componente siga os passos: Selecione Programmer > Blank Check para checar se a memria de programa est apagada. Se no estiver, obrigatrio o processo de apagar (Programmer > Erase Part); Selecione Programmer > Program para inserir seu cdigo no componente ou placa de aplicao ou placa de demonstrao que est conectada no seu ICD2BR; Selecione <Verify> do menu de gravao (Programmer) para verificar se o componente foi gravado corretamente; Gravar o software utilizando ICD2 como gravador; Desfaz conexo entre ICD2 e MCLab2; Desliga e liga MCLab2 e verifique o funcionamento da aplicao.

c.
1)

Responder as questes abaixo:

Anotar as funes testadas pela aplicao de teste carregada no McLAB2:

2)

Seguir as orientaes da Parte I e: a. b. Criar um Novo Projeto de nome Lab1; 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) ;************************************** ;* DEFINIO DAS VARIVEIS * ;************************************** CBLOCK 0X20 ; POSIO INICIAL DA RAM Delay1 ; Reserva byte para varivel Delay1 Delay2 ; Reserva byte para varivel 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 SADA) 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 prxima instruo 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 operao 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 aplicao est funcionando. d. e. Alterar o programa de forma que o tempo de piscar dos LEDs fique com um tempo maior, re-escrever o programa abaixo: Fazer o fluxograma do programa do item b.

Você também pode gostar