Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula MCLPs A2 V1
Aula MCLPs A2 V1
23/08/2010
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
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.
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.
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.
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
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.
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]
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.
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...
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
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!
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
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.
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.
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
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
11
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.
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)
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.