Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Curso Pratico de PIC, Notas de estudo de Engenharia Informática

O curso é direcionado aos principiantes que desejam ingressar pela primeira vez no fascinante mundo da microeletrônica como tambem para os que tem maiores conhecimentos e queiram aprender rapidamente como desenvolver aplicações para os PICmicro.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 20/08/2010

caio-santos-1
caio-santos-1 🇧🇷

5

(2)

5 documentos

1 / 62

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Pic by example (Português)
Introdução
Lições
Glossario
Diretivas
Instruções
Hardware
Downloads
Curso prático sobre PICmicro™
Realisado por Sergio Tanzilli com a colaboração de Tiziano Galizia para PicPoint
A tradução do Italiano para o Português é editada pôr Marcio Nassorri
PicByExample é um curso de programação elaborado para quem deseja iniciar pela primeira vez em projétos
eletrônicos baseado nos microcontroladores PICmicro produzido pela Microchip Technology Inc.
O curso é direcionado aos principiantes que desejam ingressar pela primeira vez no fascinante mundo da
microeletrônica como tambem para os que tem maiores conhecimentos e queiram aprender rapidamente como
desenvolver aplicações para os PICmicro.
As lições podem ser lidas pagina pôr pagina como se fosse um livro, seguindo-se os argumentos propostos um por um,
ou também selecionando-os diretamente segundo os proprios interesses, descritos no indice de lições.
Os argumentos tratados correspondem aos aspéctos ligados aos projétos do hardware bem como aqueles ligados ao
desenvolvimento do software e são amplamente explicados por exemplos práticos e indicações claras para realização
das aplicações de teste.
A linguagem de programação utilizada no nosso curso e para realização das aplicações de teste é o ASSEMBLER.
O curso esta escrito inteiramente no formato HTML e pode ser consultado por browsers mais difusos. Durante a leitura
será possível acessar através das conecções de hipertexto(link) diretamente ao principal, aos esquemas elétricos e a
especificações mais profundas com um simples click do mouse.
O exemplo prático ilustrado faz refência à placa PicTech disponivel em kit, ou podendo ser feita pôr conta própria
seguindo-se as instruções contidas no curso.
O curso é completamente gratuito e pode ser acessado diretamente pela internet no endereço
http://www.picpoint.com/picbyexample/index.htm . Para quem tiver dificuldade em efetuar o download da pagina, é
possivel receber o curso via e-mail diretamente do autor: Sergio Tanzilli ([email protected]).
BOA LEITURA E
BOM DIVERTIMENTO COM O PICmicro™...!!!
Seremos enormemente gratos aos comentarios, indicações e
conselhos, diretamente ao e-mail do autor:
Sergio Tanzilli ([email protected])
Rome - Italy
Tel. +39 0335 61.52.295
http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/index.htm [04/11/2005 11:36:43]
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e

Pré-visualização parcial do texto

Baixe Curso Pratico de PIC e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity!

Pic by example (Português)

Introdução Lições Glossario Diretivas Instruções Hardware Downloads

Curso prático sobre PICmicro™

Realisado por Sergio Tanzilli com a colaboração de Tiziano Galizia para PicPoint A tradução do Italiano para o Português é editada pôr Marcio Nassorri

PicByExample é um curso de programação elaborado para quem deseja iniciar pela primeira vez em projétos eletrônicos baseado nos microcontroladores PICmicro produzido pela Microchip Technology Inc.

O curso é direcionado aos principiantes que desejam ingressar pela primeira vez no fascinante mundo da microeletrônica como tambem para os que tem maiores conhecimentos e queiram aprender rapidamente como desenvolver aplicações para os PICmicro.

As lições podem ser lidas pagina pôr pagina como se fosse um livro, seguindo-se os argumentos propostos um por um, ou também selecionando-os diretamente segundo os proprios interesses, descritos no indice de lições.

Os argumentos tratados correspondem aos aspéctos ligados aos projétos do hardware bem como aqueles ligados ao desenvolvimento do software e são amplamente explicados por exemplos práticos e indicações claras para realização das aplicações de teste.

A linguagem de programação utilizada no nosso curso e para realização das aplicações de teste é o ASSEMBLER.

O curso esta escrito inteiramente no formato HTML e pode ser consultado por browsers mais difusos. Durante a leitura será possível acessar através das conecções de hipertexto(link) diretamente ao principal, aos esquemas elétricos e a especificações mais profundas com um simples click do mouse.

O exemplo prático ilustrado faz refência à placa PicTech disponivel em kit, ou podendo ser feita pôr conta própria seguindo-se as instruções contidas no curso.

O curso é completamente gratuito e pode ser acessado diretamente pela internet no endereço http://www.picpoint.com/picbyexample/index.htm. Para quem tiver dificuldade em efetuar o download da pagina, é possivel receber o curso via e-mail diretamente do autor: Sergio Tanzilli ([email protected]).

BOA LEITURA E

BOM DIVERTIMENTO COM O PICmicro™...!!!

Seremos enormemente gratos aos comentarios, indicações e conselhos, diretamente ao e-mail do autor:

Sergio Tanzilli ([email protected]) Rome - Italy Tel. +39 0335 61.52.

http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/index.htm [04/11/2005 11:36:43]

Indice delle lezioni

Indice das lições

Introdução ao PIC

1. O que é o PIC?

2. Realizando um simples lampejador com led

3. Escrita e compilação de um programa em assembler

4. Analisando um codigo assembler

5. Compilando um codigo assembler

6. Programando o PIC

Arquitetura interna do PIC

1. A área de programa e o registrador de arquivo

2. A ALU e o registro W

3. O Programa Counter e o Stack

4. Realisando o "Luzes em sequência"

Introdução aos periféricos

1. A porta A e B

2. Estado de saida da linha de I/O

3. Entrada de teclado

Ocontador TMR0 e o PRESCALER

1. O registro contador TMR

2. O Prescaler

As interrupções

1. Interrupções

2. Exemplo prático de controle de uma interrupção

3. Exemplo prático de controle de mais de uma interrupção

http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/lezioni.htm (1 of 2) [04/11/2005 11:36:52]

Lição 1

Lição 1 Introdução

Introdução ao PIC

Al termino desta lição saiba:

l O que é um PIC. l Como realizar um simples circuito de prova. l Como escrever e compilar um programa em assembler. l Como programar um PIC.

Conteudo da lição 1

1. O Que é um PIC

2. Realisando um simples lampejador com led

3. Escrita e compilação de um programa em assembler

4. Analisando um codigo em assembler

5. Compilando um codigo em assembler

6. Programando o PIC

http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/less1/intro.htm [04/11/2005 11:37:04]

Lição 1 Passo 1/

O que é o PIC?

O PIC é um circuito integrado produzido pela Microchip Technology Inc., que pertence da categoria dos

microcontroladores, ou seja um componente integrado que em um unico dispositivo contem todos os circuitos necessarios para realizar um completo sistema digital programavel.

Como se pode ver na figura,

o PIC (neste caso um PIC16C84) pode ser visto externamente como um circuito integrado TTL ou CMOS normal, mas internamente dispõe de todos os dispositivos tipicos de um sistema microprocessado, ou seja:

l Uma CPU ( C entral P rocessor U nit ou seja Unidade de Processamento Central) e sua finalidade é interpretar as instruções de programa. l Uma memoria PROM ( P rogrammable R ead O nly M emory ou Memória Programavel Somente para Leitura) na qual ira memorizar de maneira permanente as instruções do programa. l Uma memoria RAM ( R andom A ccess M emory ou Memoria de Accesso Aleatório) utilizada para memorizar as variaveis utilizadas pelo programa. l Uma serie de LINHAS de I/O para controlar dispositivos externos ou receber pulsos de sensores, chaves, etc. l Uma serie de dispositivos auxiliares ao funcionamento, ou seja gerador de clock, bus, contador, etc.

A presença de todos estes dispositivos em um espaço extremamente pequeno, da ao projetista ampla gama de trabalho e enorme vantagem em usar um sistema microprocessado, onde em pouco tempo e com poucos componentes externos podemos fazer o que seria oneroso fazer com circuitos tradicionais.

O PIC esta disponivel em uma ampla gama de modelos para melhor adaptar-se as exigencias de projetos especificos, diferenciando-se pelo numero de linha de I/O e pelo conteudo do dispositivo. Inicia-se com modelo pequeno identificado pela sigla PIC12Cxx dotado de 8 pinos, até chegar a modelos maiores com sigla PIC17Cxx dotados de 40 pinos.

Uma descrição detalhada da tipologia do PIC é disponivel no site da Microchip acessavel via , onde conseguimos

encontrar grandes e variadas quantidades de informações tecnicas, software de apoio, exemplos de aplicações e atualizações disponiveis.

Para o nosso curso usaremos um modelo intermediario de PIC o PIC16C84. Este é dotado de 18 pinos sendo 13

Lição 1 Passo 2/

Realizando um simples lampejador com LED

Apos termos visto brevemente o que é e como é feito um PIC, faremos agora uma simples aplicação pratica.

Iremos fazer um circuito muito simples e seu propósito é fazer lampejar um diodo led. Vejamos como se escreve um programa em assembler, como se compila e como se transfere para o interior da EEPROM do PIC o programa e assim faze-lo funcionar.

O circuito a ser realizado esta representado no seguinte arquivo no formato Acrobat Reader (9Kb): example1.pdf.

Como descrito anteriormente o pino Vdd (pino 14) e Vss (pino 5) servem para fornecer alimentação para o chip e são ligados respectivamente ao positivo e a massa.

O pino MCLR (pino 4) serve para resetar o chip quando este estiver na condição logica zero. No nosso circuito é conectado diretamente ao positivo do programador YAPP!.

O pino OSC1/CLKIN (pino 16) e OSC2/CLKOUT (pino 15) são conectados internamente ao circuito para gerar a frequencia de clock utilizada para temporizar todo o ciclo de funcionamento interno do chip. Desta frequencia depende a maior parte das operações interna e em particular a velocidade com que o PIC processa as instruções do programa. No caso do PIC16C84-04/P tal frequencia pode chegar a um maximo de 4Mhz da qual se obtem uma velocidade de execução das instruções par de 1 milhão de instruções por segundo. No nosso caso para o oscilador de clok usaremos um cristal de quartzo de 4 MHz e dois capacitores de 22pF.

O pino RB0 (pino 6) é uma das linhas de I/O disponivel no PIC. Neste caso esta linha esta conectada a um led por intermédio de uma resitor de limitação de corrente.

Uma vez terminada a apresentação do circuito passemos ao proximo passo para aprender como escrever o programa que o PIC devera executar.

http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/less1/passo2.htm [04/11/2005 11:37:22]

Lição 1 Passo 3/

Escrita e compilação de um programa em assembler

Como em qualquer sistema microprocessado, no PIC tambem é necessário preparar um programa que o faça desenvolver seu trabalho.

Um programa é constituido por um conjunto de instruções em sequência, onde cada uma identificara precisamente a função básica que o PIC ira executar. Onde a instrução é representada por um código operativo (do ingles operation code ou abreviadamente opcode ) podemos memorizar 14 bits em cada locação da memória EEPROM. Esta memória no PIC16C84 dispões de 1024 locações e cada uma devera conter uma só instrução. Um exemplo de opcode em notação

binaria esta escrito a seguir :

00 0001 0000 0000B

é mais provavel que um opcode venha representado na notação exadecimal ou seja:

0100H

que representa exatamente o mesmo valor mas numa forma reduzida. La letra H , escrita no final do valor 0100, indica o tipo de notação (Hexadecimal). O mesmo valor pode ser representado em assembler com a notação 0x100 que é derivado da linguagem C ou H'0100'.

Este codigo, completamente sem sentido para nós humanos, é o que o PIC esta preparado para entender. Para facilitar a compreenção ao programador, se recorre a um instrumento e convenção para tornar a instrução mais compreensivel.

A primeira covenção é a que associa o opcode (um total de 35 para o PIC16C84) a uma sigla mnemonica , ou seja uma inicial que seja facil de recordar o significado da instrução

Voltando ao nosso exemplo o opcode 0100H corresponde a instrução mnemonica CLRW que é a forma abreviada da instrução CL EA R W REGISTER, ou seja zere o registro W (veremos posteriormente o que significa).

Outra convenção consiste na definição, da variavel, da costanti, do label(rótulo) de referencia ao endereço de memoria, etc. O propósito desta convenção é de facilitar a escrita de um programa para o PIC e é chamada linguagem assembler. Um programa escrito em linguagem assembler pode ser escrito em qualquer PC utilizando-se qualquer processador de texto que possa gerar arquivos ASCII(Word,Notpad etc).Um arquivo de texto que contenha um programa em assembler é denominado de source ou codigo assembler.

Uma vez preparado o nosso codigo assembler (veremos mais adiante), iremos precisar de um programa para traduzir as instruções mnemonicas e todas as outras formas convencionais com que escrevemos o nosso codigo em uma serie de numeros (o opcode) reconhecivel diretamente pelo PIC. Este programa se chama compilador assembler ou assemblador.

Na figura seguinte esta esquematizado o fluxograma de operações e arquivos que devera ser realizado para passar um um codigo assembler a um PIC a ser programado.

O proximo passo é a compilação do codigo, ou seja a transformação em opcode do codigo mnemonico ou instruções assembler deste conteudo.

O compilador assembler que utilizaremos é o MPASMWIN.EXE produto da Microchip e disponivel no site internet; é

possivel também conseguir uma cópia nas paginas de downloads.

Como é possivel ver adiante, alem do nosso codigo com extenção .ASM é necessario fornecer ao compilador um segundo arquivo produto da Microchip com extensão .INC diferente do tipo que estamos utilizando. No nosso caso o arquivo é o P16F84.INC. Este codigo contem algumas definições da qual dependi o tipo de chip utilizado e que veremos

mais adiante.

Durante a compilação do codigo, o compilador assembler gera uma serie de arquivos com nome identico ao codigo mas com extensões diferentes:

l .HEX é o arquivo que contem o codigo de operação o qual sera enviado ao PIC via programador. l .LST é um arquivo de texto na qual vem reportado por inteiro o codigo assembler e a correspondente tradução em opcode. Não é utilizavel pela programação do PIC mas é extremamente util para verificar o processo de compilação que o compilador fez. l .ERR contem uma lista de erro de compilação que mostra o numero da linha do codigo na qual esta com erro no codigo assembler.

O arquivo .LST, .ERR é utilizado somente para controle da compilação. Somente o arquivo .HEX sera utilizado realmente para programar o PIC. Vejamos como.

O arquivo.HEX não é um arquivo no formato binario e não reflete diretamante o conteudo que devera ter a EEPROM do PIC. Mas os formatos refletirão diretamente quando forem transferidos ao PIC em uma forma legivel e com algumas instruções a mais.

Sem entrar em detalhes é util saber que tal formato é diretamente riconhecido pelo programador do PIC que promovera durante a programação a converção em binario e contem, outro opcode outras informações que serão adcionadas aos endereços na qual vamos transferir o opcode.

No proximo passo analisaremos o nosso primeiro codigo assembler e veremos um boa parte da convenção utilizada na

linguagem assembler.

Lição 1 Passo 4/

Analisando um codigo assembler

Analisaremos agora linha por linha o conteudo do nosso codigo LED.ASM. Se voce dispõe de uma impressora é util

efetuar uma copia do codigo para poder seguir melhor a nossa explicação. Em alternativa é preferivel que voce visualize o codigo em uma janéla separada de maneira a poder seguir simultaneamente o codigo e a relativa explicação.

Partiremos da primeira linha de codigo:

PROCESSOR 16F

PROCESSOR é uma diretiva do compilador assembler que indica a definição de qual microprocessador esta escrito o

nosso codigo. A diretiva não é uma instrução mnemonica que o compilador traduz no respectivo opcode, mas sim uma simples indicação enviada ao compilador para determinar o funcionamento durante a compilação. E neste caso informamos ao compilador que a instrução que acabamos de colocar no nosso codigo é relativa a de um PIC16C84.

RADIX DEC

A diretiva RADIX serve para informar o compilador que o numero sem a notação, sera entendido como numero

decimal. Ou seja se quisermos especificar, por exemplo o numero hexadecimal 10 (16 decimal) não podemos escrever somente 10 porque ele sera interpretado como 10 decimal, neste caso ecrevemos10h ou 0x10 ou H'10'.

INCLUDE "P16F84.INC"

Veja uma outra diretiva. Desta vez indicamos ao compilador a nossa intenção de incluir no codigo um segundo arquivo denominado P16C84.INC. O compilador se limitará a substituir a linha contendo a diretiva INCLUDE com o conteudo do arquivo indicado e vai efetuar a compilação como se fosse ante disso parte do nosso codigo.

LED EQU 0

Mais diretiva! Mas quando veremos as instruções? Calma tenha um pouco de paciência.

A diretiva EQU é muito importante quando si trata de definir com ela uma costanti simbolica dentro do nosso codigo. Em particular a palavra LED da qui em diante no codigo sera equivalente ao valor 0. O ponto principal da existência da diretiva EQU é se não tornar o codigo mais legivel e podermos colocar um valor costanti em um unico ponto do codigo

É importante notar que a palavra LED não identifica uma variavel mas semplesmente um nome simbolico valido durante a compilação. Não será nunca possivel inserir instruções do tipo LED = 3 dentro do codigo quando a determinação dinamica de um valor e de uma variavel é uma operação que recebe a intervenção da CPU do PIC e que sempre deve ser expressa com instrução e não diretiva.

reservado.

O proximo parametro RP0 esta definido tambem no arquivo P16C84.INC com valor 05H e corresponde ao numero do bit que se quer colocar em um. este registrador de arquivo tem 8 bits e coméça pelo numero 0 (bit menos significativo) e vai até o numero 7 (bit mais significativo)

Esta instrução na pratica coloca em 1 o quinto bit do registrador de arquivo STATUS. Esta operação é necessaria, como veremos na proxima lição, para acessar o registrador de arquivo TRISA e TRISB.

movlw 00011111B

Esta instrução significa: MOV E L ITERAL TO W REGISTER (passar o literal para W) ou seja mover um valor constante para o acumulador W. Como haveremos de ver mais adiante, o acumulador, é um registro particular utilizado pela CPU em todas as cituações em viérmos efetuar uma operação entre dois valores ou em operações de deslocamento entre locações da memória. Na pratica é um registro de apoio utilizado pela CPU para memorizar temporariamente um byte toda vez que houvér necessidade.

O valor costante para memorizar no 'accumulador é 00011111B ou seja um valor binario de 8 bits onde o bit mais da

direita representa o bit 0 ou o bit menos significativo.

Na proxima instrução temos:

movwf TRISA

o valor 00011111 esta memorizado no registro TRISA (como para o registro STATUS o TRISA tambem é definido atravéz de uma diretiva EQU) a sua função é senão a de definir o funcionamento da linha de I/O do PORTA. Este bit é em particular um bit do registro TRISA e determina em leitura(entrada) sua rispectiva linha do portA , se estivesse em 0 determinaria em escrita(saida).

Na tabela seguente esta descrito configuração que assumirão os pinios do PIC quando executar esta instrução:

N.bit registro TRISB Linha porta A N.Pino Valor Estado

0 RA0 17 1 Entrada

1 RA1 18 1 Entrada

2 RA2 1 1 Entrada

3 RA3 2 1 Entrada

4 RA4 3 1 Entrada

5 - - 0 -

6 - - 0 -

7 - - 0 -

Como é possivel se ver o bit 5, 6 e 7 não correspondem a nenhuma linha de I/O e seus valores nada influenciam.

As duas proximas instruções indicam o funcionamento do portB do PIC:

movlw B'11111110'

movwf TRISB

e neste caso a definição da linha sera a seguinte:

N.bit registro TRISB Linha porta B N.Pino Valor Estado

0 RB0 6 0 Saida

1 RB1 7 1 Entrada

2 RB2 8 1 Entrada

3 RB3 9 1 Entrada

4 RB4 10 1 Entrada

5 RB5 11 1 Entrada

6 RB6 12 1 Entrada

7 RB7 13 1 Entrada

Notou como o valor 0 no bit 0 do registro TRISB determina a configuração em escrita(saida) da respetiva linha do PIC. Na nossa aplicação esta enfatisado que esta linha sera usada para controlar o LED e faze-lo lampejar.

Aviamos visto que a instrução movwf TRISB transferia o valor contido no acumulador(inicializado anteriormente com a instrução movlw 11111110B ) no registro TRISB. O significado de movwf é MOV E W TO F ILE REGISTER ( passe o valor de W para o registrador de arquivo).

bcf STATUS,RP

Ésta instrução é similar a bsf vista anteriormente, com a diferença de coloca-lo em zero. E(bcf) significa neste caso B IT C LEAR F ILE REGISTER.

Do ponto de vista funcional esta instrução permite o acesso ao registro interno do banco 0 ou seja da qual faz parte o portA e portB, e banco 1 da qual faz parte TRISA e TRISB. Uma descrição mais detalhada veremos mais a frente neste curso.

bsf PORTB,LED

Com esta instrução sera efetuada a primeira operação na qual veremos o resultado do lado de fora do PIC. Particularmente ira acender o led conectado a linha RB0. PORTB é uma constante definida no P16C84.INC e faz

SetToZero

bcf PORTB,LED

goto MainLoop

Estas duas instruções simplesmente apagam o led e retornam o programa a inicio do ciclo de lampejamento.

A subrotina Delay

Como descrito anteriormente esta subrotina coloca um retardo de cerca de um segundo e pode ser chamada atravéz do programa com instrução call Delay.

Vejamos como funciona:

Delay

clrf Count

clrf Count+

DelayLoop

decfsz Count,

goto DelayLoop

decfsz Count+1,

goto DelayLoop

retlw 0

END

Delay e DelayLoop são dois label. Delay identifica o indereço de inicio da subrotina e sera utilizado pela chamada atraves do corpo do programa principal. DelayLoop sera chamado internamente pela subroutina e serve como ponto de entrada para o cilclo(do ingles loop) de retardo.

Na pratica o retardo é conseguido executando-se milhares de instruções que não fazem nada!

Este tipo de retardo se chama retardo software ou retardo de programa. É o tipo de retardo mais simples de implementar e pode ser utilizado quando não se deseja que o PIC faça-o.

clrf Count

clrf Count+

CL EA R FILE REGISTER zeramento de duas locação da ram reservada anteriormente com a instrução:

Count RES 2

Esta duas locações são adjacentes a partir do endereço referenciado pelo label Count.

decfsz Count,

A instrução DEC REMENT F ILE REGISTER, S KIP IF Z ERO ou seja decremente o conteudo do registro e pule a proxima instrução se for zero(e neste caso Count pula a proxima instrução se o valor devolvido for zero). Se o valor devolvido for diferente de zero executara a proxima instrução:

goto DelayLoop

Que manda a execução ao cilclo de retardo. Uma vez zero o contador Count ira a proxima instrução:

decfsz Count+1,

goto DelayLoop

Que decrementara o registro seguinte até que este chegue a zero. O registro Count+1 em particular sera decrementado de um até 256 decrementos de Count.

Quando então Count+1 chegar ao valor zero a instrução

return

que significa RETURN FROM SUBROUTINE determinara a saida da rotina de retardo e retornara a execução da instrução imediatamente após call Delay.

E por fim a diretiva END que indica ao compilador o final do codigo assembler.

No proximo passo compilaremos o codigo LED_1.ASM e programaremos o PIC com o codigo gerado pelo compilador

assembler.

Pressionamos uma tecla como requisita o MPASM e vamos ver que arquivo nos foi gerado. Se tudo deu certo deveremos ver os seguintes novos arquivos:

LED.HEX

LED.LST

LED.ERR

LED.COD

O conteudo dos arquivos já foi visto no passo 3 então prosseguiremos com programação do PIC utilizando um só

arquivo o LED.HEX que contem o arquivo compilado no formato Intel Hex 8.

Lição 1 Passo 6/

Programemos o PIC

Para programar o PIC nessa lição faremos referencia ao programador YAPP contido no hardware PicTech fornecido com a versão comercial deste curso. A documentação do software para realização tanto do PicTech quanto do YAPP! esta descrita em nossa pagina hardware de suporte ao curso.

Para a programação do chip com outro tipo de programador deve-se ver a relativa documentação.

Copiamos no nosso diretório de trabalho C:\PICPRG o arquivo YAPP.EXE, e começamos a execução do YAPP com o seguinte comando no prompt do DOS:

YAPP LED.HEX /COM2 /XT

com qual enviamos ao YAPP (conectado, por exemplo, na porta serial COM2) o arquivoLED.HEX contendo nosso programa compilado e programaremos o PIC para funcionar com um cristal de quartzo externo.

Para maior informação sobre a sintaxe do programa YAPP.EXE veja a ducumentação relativa.

Se a placa PicTech esta corretamente conectada deveremos ver aparecer o opcode hexadecimal das intruções sem nenhum erro.

Terminada a programação deveremos ver o LED 1 lampejar na placa PicTech, como escrito no programa.

http://www.ime.eb.br/~pinho/micro/apostila/pic/cursopic/brasiliano/less1/passo6.htm [04/11/2005 11:38:04]