Vous êtes sur la page 1sur 17

Smartlab Desenvolvido por Prof. Hernandes e Prof.

Zamboni
1
TRABALHANDO COM O MPLAB.

Este software foi criado e a cada tempo melhorado pela
Microchip, no intuito de facilitar a vida do programador de
microcontroladores, nas prximas pginas vocs tero noes bsicas de
programao, gravao e simulao com este software.


APRESENTAO DO MPLAB.

Ao baixar este software pela internet ( gratuito) temos que criar uma
pasta para descompact-lo, pois a sua instalao no ocorre
adequadamente se fizermos de outra forma.


Fig.01 Pastas do MPLAB

Dentro da pasta descompactada, teremos os itens da fig.02, clique em
setup e a instalao se inicia.


Fig.02

DIGITANDO E COMPILANDO
UM PROGRAMA
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
2
Aps terminada a instalao, clique no cone do MPLAB IDE e
teremos a tela a seguir:



Fig.03 Tela inicial do MPLAB, sem nenhum programa.

Podemos comear o programa partindo do Zero, mas todos os
programadores possuem um programa padro para no perder tempo
com itens que so repetitivos. Nossa sugesto utilizar um programa
que serve de referncia para os programas que iremos criar, podendo ser
modificado a qualquer momento.
Vejamos agora nosso exemplo de programa padro(parte dele) :


Fig.04 Trecho inicial do programa padro.
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
3

Observe que o trecho do programa modelo possui trs cores que
vem como padro de fbrica, podendo ser alterado ao gosto do usurio.
Se observarmos o Texto em Verde precede de um ponto e
virgula, isto significa que ao inserirmos em uma linha este ponto e
virgula ; o texto aps, ser apenas comentrio do seu
programa, sendo ignorado pelo compilador do MPLAB. O texto em
Vermelho so as diretrizes e labels (Rtulos) do programa, e o texto
em Azul so as instrues e algumas diretivas.
Na lateral esquerda temos uma rgua de linhas para
acompanhamento do programa, ela no vem habilitadas, para inseri-las ou
mudar o tipo de letra, tamanho de texto e cores cliquemos em
EditProperties ASM.File Types para inserir o numero na linhas, ou
Text para mudar a fonte ou tamanho, as cores podem ser mudadas por
itens, veja a tabela em Choose Colors na Fig.05.


Fig.05.

Aps ajustado a seu gosto a tela do programa, inicie a digitao do
seu programa, aps a finalizao vamos fazer a compilao do mesmo.
Obs. No se esquea de finalizar o programa com a palavra END.
Vamos ento compilar um programa simples, como o que se segue
na fig.06, que ao pressionado um boto, ficaro piscando os leds do
PORTB indefinidamente.

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
4

Fig.06

Para compilarmos, vamos primeiramente salvar o programa com outro
nome, pois se compilarmos o programa modificado, ele salvar no
programa atual (Modelo). Ao digitar o novo nome, coloque a exteno
.ASM, seno ele ficar em preto e branco, e no ser compilado, pois ele
no entender como arquivo Assembly. Aps salvar com outro nome em
FILESave As... podemos executar a compilao, para isto v em
ProjectQuick Build...conforme fig.07


Fig.07

Aps acionado o Quickbuild, teremos a fig.08 que se segue:

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
5

Fig.08

Se sua digitao estiver sem erros, aparecer a tela acima com a
mensagem BUILD SUCCEEDED, e ser gerado no endereo que foi
salvo o programa mais 6 sub- pastas, mas se aconteceu algum erro
aparecer a tela da Fig.09, que aponta o erro Opcode Ilegal, neste caso
no existir a compilao, e devemos corrigir o erro. Para isto basta dar
dois cliques na mensagem Error que ele nos levar a linha com o erro
ou asociada ao erro Fig.10, neste caso foi um erro de digitao da
Instruo.


Fig.09


Fig.10 Observamos a seta azul indicando a linha com o erro.

O programa tambm fornece mensagens de Ateno,
principalmente quando o programa no for digitado com o espao de 1
TAB em relao aos Labels ( Rtulos.), conforme fig. 11. Na realidade
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
6
estes Warnings no significam erro, ma sim que o texto no esta escrito
no padro correto, para facilitar o entendimento.



Fig.11 Mensagem dizendo que a instrues no esto colocadas na
coluna1.

Quando o programa mostra Sucesso, aparecer na Pasta onde ele
foi salvo, mais 6 sub-pastas, alm da pasta .ASM, ver Fig.12


Fig.12 Arquivos criados aps o QuickBuild.


GRAVANDO UM PROGRAMA

Agora com o programa pronto, vamos passar para a agravao do
Cdigo Hexa para o Microcontrolador, mas para isto voc precisar saber
Como o processo de gravao da sua placa. Se ela for um gravador do
tipo JDM, ser necessrio possuir um programa de gravao do tipo IC-
PROG, ou outro similar. No nosso exemplo vamos gravar diretamente
Numa placa compatvel com PICkit2 da Microchip, bastando para isto
com a placa conectada a Entrada USB seguir o roteiro abaixo:

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
7

Fig.13 Parcial do MPLAB 8.50



Conecte a placa e clique em Programmer Select Programmer 7
PICKit2. ( Modelos mais antigos no possuem esta opo.)


Fig.14 Habilitando o Kit.

Uma observao importante a verificao na tela inferior ao MPLAB,
se o PIC configurado o mesmo a ser utilizado. Veja figura abaixo.


Fig.15 Rodap do MPLAB, indicando o PIC configurado.


Para mudar o Microcontrolador siga a Fig.16 :
Configure Select Device Device... e escolha o pic correto.



Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
8
Fig.16 Escolha do PIC a ser utilizado.


Feita a habilitao do PICKit2 dever aparecer o texto da figura 17:


Fig. 17 Texto de inicializao, verificando o PIC utilizado, tenso
aplicada, microcontrolador e a frase pronto para uso.


Caso voc coloque outro modelo de microcontrolador, compatvel, por
exemplo o 16F628A, observe o que ocorre.


Fig.18 A escolha de um pic similar.


Observe na Fig.18 que caso voc coloque outro pic similar, mas no o
especificado,aparecer uma mensagem de ateno, dizendo que o
microcontrolador no o especificado, pedindo para ser verificado. Na
realidade por serem compatveis o 16F648A e o 16F628A , a gravao
vai funcionar, mas aparecer sempre esta mensagem ( Warning).

Com o programa j copilado no MPLAB ( Quick Build), podemos
fazer a gravao de duas formas:

1. Clicando na seqncia: ProgrammerProgram, conforme Fig.19

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
9

Fig.19



Mas tambm podemos configurar para que ele grave sozinho aps a
compilao ser feita com sucesso. Para isto vamos ajustar os
parmetros: Programmer Settings e aparecer a tela da Fig.20


Fig.20

Observe que temos varias opes, a primeira j vem habilitada, caso
voc a desabilite, ao conectar a placa ele no ir reconhece-la, portando
no desabilite esta funo. A segunda opo diz que o PIC ser gravado
aps a compilao ser feita com sucesso, vamos ento habilitar esta
funo.
Aps a compilao ele j grava automaticamente, e teremos no MPLAB a
tela da Fig.21.

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
10

Fig.21 Gravando um programa no PIC automaticamente.



SIMULANDO NO MPLAB

Este software possui um simulador muito bom, e pouco
complicado para trabalhar. Vamos a partir de agora simular um
programa para entender seu funcionamento. Algumas pagina atrs criamos
e compilamos um programa de simplesmente pressionado um boto fica
piscando os leds do PORTB; vamos utiliz-lo neste exemplo, para isto
clique em DebuggerSelect Tool 5 MPLAB SIM,conforme fig.22.


Fig.22
Aps clicar, aparecer na margem superior do MPLAB (Fig.23)
uma nova barra de ferramentas.


Fig.23

Podemos utilizar os cones desta barra, ou trabalhar as teclas de Funo.
Observando o programa em Assembly e pressionando a tecla F6 teremos
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
11
o RESET do programa, ou seja ele ir procurar a linha de inicio no
programa, que ser a linha 0X00, veja na fig.24


Fig.24
Toda vez que pressionarmos a tecla F6 o programa ira para o
RESET. Agora vamos pressionar a tecla F7, e veremos que o programa
executa linha aps linha ( Step by Step), podemos ver a situao de cada
linha executada.
No nosso programa temos um boto para iniciar o processo,
portanto ao pressionarmos F7 varias vezes ele ficara travado ali, pois ele
interpreta inicialmente o boto como nvel zero, para sair desta condio
deveremos impor nvel 1. Para isto vamos criar um boto artificial para
mudar a condio do programa, como segue na Fig.25, a seqncia ser:
DebuggerStmulusNew Workbook, e teremos a tela da Fig.26




Fig.25

Clique na linha de baixo de Pin/SFR e escolha a porta em que esta
ligado seu boto no programa. ( PORTA,2), depois clique ao lado setando
a ao do boto. (TOGGLE muda o estado do boto a cada click).
Pronto o boto est criado,vamos agora colocar a tela de disparo ao
lado do programa fonte conforme fig.27.


Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
12


Fig.26 Criando um boto para simulao.

Com a tecla F7 mudando linha a linha, v at o quadro Stmulus e
pressione a tecla Fire quando o boto estiver travado no programa.

Fig.27

Voc ver agora o programa seguir em frente e a prxima instruo
move um valor para o Worker (Acumulador) (Fig.28). Como podemos ver
isto acontecendo dentro dos SFR, bit a bit? Simples vamos ver como fazer
para visualizar estes SFR.


Fig.28
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
13
Para podermos visualizar estes bits e bytes vamos no MPLAB na
funo ViewWatch conforme Fig.29


Fig.29

Nesta pasta teremos que colocar os registros que nos interessam,
mas primeiro vamos colocar os valores que sero lidos em outros
formatos, conforme fig.30, clicando com o Mouse do lado direito no Value,
e ticando os valores em Hexa, Decimal ou Binrio conforme seu gosto.


Fig.30

Vamos agora colocar alguns registros que podemos verificar a
atuao, como por exemplo W, PORTA, PORTB, TEMP1,TEMP2, ou que
o que se fizer necessrio, para isto observamos a seqncia das Figuras 31
a 33,podemos notar que escolhemos o registro e clicamos em ADD SFR, e
pronto, mas quando for uma varivel vamos no registro ao lado
escolhemos a varivel e clicamos em ADD Symbol.
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
14

Fig.31 Escolhendo o PORTA


Fig.32 Colocando o PORTA na linha do Watch



Fig.33 Inserindo TEMP1

Agora com tudo inserido vamos voltar para a simulao, conforme
Fig 34, agora colocamos tudo de forma a se adequar ao nosso espao da
tela. Vamos teclando F7 e observando os bits correspondentes as
instrues se modificando. Podemos visualizar tudo que se passa dentro
de cada SRF.

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
15

Fig.34



SAINDO OU DESVIANDO DE UMA SUB-ROTINA

Muitas vezes quando simulamos, queremos pular certas sub-rotinas
pois no vo modificar a compreenso do programa, e para isto temos na
tela alguns cones na barra de ferramentas do MPLAB SIM.
So elas :

Fig.35
Isto muitas vezes nos ser til, quando desejamos pular por exemplo uma
rotina de tempo ( delay), mas por falar em rotina de Tempo ( Delay), temos
tambm um relgio contador que cronometra o tempo e o numero de
instrues de uma parte ou de um todo de um programa. Para isto vamos
conhecer esta ferramenta, clicando em DebuggerStopwatch, e teremos a
seguinte figura:

Fig.36 Frequencia com valor errado
Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
16
Observe que a freqncia do microcontrolador esta em 20kHz, para muda-
la v em DebuggerSettings e altere a freqncia para o valor correto.


Fig.37 Frequncia com valor correto

Uma vez ajustada a freqncia, v para o programa e com a tecla F7
v at a linha que deseja iniciar a contagem ou tempo. Zere o cronmetro,
e clique duas vezes na linha em que deseja parar; aparecer um circulo
vermelho com a letra B, indicando um Breakpoint ( Ponto de
parada).Clique na linha de inicio e tecle F9, ou a seta RUN da barra de
ferramentas.



Fig.38


Quando a seta ficar dentro do circulo vermelho, voc ter o tempo exato e
as instrues gastas para este trecho que voc demarcou. No nosso
exemplo vamos verificar o tempo deste delay, na Fig.38 mostra o preparo,
clicamos em F9 e vemos agora na fig.39 o resultado.


Fig.39 A seta indicando final, e o tempo de 300ms no cronmetro.

Smartlab Desenvolvido por Prof. Hernandes e Prof. Zamboni
17

Vous aimerez peut-être aussi