Como programar um PIC? |
Por: CT2HPM e CT2HGF |
Esta página pretende abordar de uma forma simples a programação dos mais baratos e simples microprocessadores da Microchip, os PIC (Peripheral Interface Controllers), que são o caso dos PIC16C84 e PIC16F84.
Estes novos chips são fáceis de usar, de programar e de apagar, pois não precisam de estar sujeitos aos ultravioletas para apagar o seu conteúdo de memória, e acima de tudo, são bastante baratos. Estes chips podem ser apagados e programados vezes sem conta (cerca de 1.000.000!!!).
Até à bem pouco tempo a versão mais comum destes chips era o 16C84, contudo foi largamente ultrapassado com o mais recente e moderno 16F84. Neste chip a memória eprom passou a ser flash e de maior capacidade, existindo várias versões. Operacionalmente os dois são muito similares, têm os pinos compatíveis, contudo o 16F84 tem mais memória e também é mais barato (cerca de 7 Euros), custando perto de metade do seu antecessor.
Com eles poderá encontrar algum circuitos de fácil construção e bastante úteis para os radioamadores e não só!.
Como programar um PIC ?
O programador utilizado para o 16C84 ou 16F84 é bastante simples de construir. A sua conexão ao computador é feita através da porta série COM1 ou COM2. O circuito e placa está nesta página em projecto->PIC
Em termos gerais vamos tentar explicar como programar um PIC :
1º Fase
Em primeiro lugar teremos de
criar ou modificar o ficheiro que contém o programa para programar o PIC,
chamado programa fonte. Existem dois tipos distintos destes ficheiros: os
hexadecimais e os de texto.
Os primeiros estão aptos a serem lidos directamente pelo
programa que vai gravar o ficheiro no PIC mas não permitem qualquer alteração
do seu conteúdo.
Os segundos, tem normalmente uma extensão *.ASM (assembler)
ou *.TXT (texto). Estes já permitem alterar o conteúdo do programa com o
qual pretendemos programar o PIC. Para tal utilizamos o NOTEPAD do Windows ou um
qualquer outro editor de texto.
Os ficheiros de programas com extensão *.ASM ou *.TXT
são os mais desejados por quem anda nesta lides, pois permitem fazer alterações
no seu conteúdo como por exemplo, modificar os dizeres de uma mira.
No final de criar o programa ou altera-lo pelo editor de
texto deve salva-lo com extensão *.ASM ou *.TXT.
2º Fase
Depois de criar ou alterar o ficheiro com que pretendemos programar o PIC, tem de usar o MPASM, programa do fabricante do PIC que compila o ASM (assembler) ou TXT para hexadecimal. Este programa pode ser descarregado, do site da MICROCHIP ou desta página MPASM
Com o programa aberto devemos
seleccionar o microprocessador manualmente que desejamos programar. A opção
"Default" que aparece no arranque do programa, "lê" qual o
PIC que está no programador e funciona com a maioria dos PIC16F84 mas na versão
PIC16F84A por vezes não resulta o que nos pode levar a pensar que o PIC ou o
programador esta avariado, como por exemplo uma resistência aberta.
Seguidamente no botão "Browse", selecciona-se o
ficheiro que criamos ou modificamos, depois de seleccionado, vamos ao botão
"Assembler" e é só aguardar que MPASM faça a compilação do
ficheiro.
Se porventura ocorrerem erros na compilação aparecerá na
janela essa informação, será então gerado pelo MPASM um ficheiro referente a
esses mesmos erros que poderá ser lido num editor de texto.
3ª Fase
Nesta 3ª e última fase
resta-nos programar o PIC já com o ficheiro *.hex preparado.
Dentro de vários programas disponíveis, podemos usar o PIX,
este software é bastante fácil de usar e permite variadas funções, desde
apagar o próprio PIC até ler o seu conteúdo e salvá-lo noutro formato. Um
outro para ambiente WINDOWS e que funciona também muito bem é o
ICPROG,
ambos disponíveis neste site para download.
O PIX é um programa de DOS, contudo funciona na perfeição em ambiente Windows. Para
o pôr a funcionar com o programador através da porta série, primeiro deve
editar o ficheiro PIX.CFG que vem com o programa. Encontre as duas
linhas que dizem:
PortLPT1
Programmer = Shaer
Coloque um ";" no princípio de cada uma, que ficam com o seguinte aspecto:
; PortLPT1 e Programmer = Shaer
; Programmer=Ludi
depois procure a linha que diz:
; Port=COMx (x é o numero da COM que vai utilizar).
Que deverá ficar com seguinte aspecto:
Port=COM2
NOTA: O programa existente para download neste site já tem estas configurações feitas.
Depois é só ligar o
programador à COM2, tendo em atenção que esta ligação deve ser feita com um
cabo série curto ou de preferência colocando o programador ligado directamente
à porta série.
Quando correr o programa provavelmente aparecerá, MODEM
DETECTED ou NO/BAD HARDWARE. NOT TRUE CONTINUE, pressione YES e ENTER, o
programa entrará.
Se o PIC for usado deve fazer ERASE (F7) para que o conteúdo existem em memória seja totalmente apagado. Se for novo, logicamente, esta operação é desnecessária.
Depois à que ler o ficheiro que
criamos, para tal fazemos FILE (F3), com a tecla "D"
seleccionamos a drive A:, C: ... onde está guardado o ficheiro *.HEX. Depois de
seleccionado o ficheiro fazemos BLOW (F9) e aguardamos que o programa grave o
ficheiro na memório EEPROM do PIC.
Finalmente e se tudo correr normalmente, poderemos fazer READ
(F4) para verificar se a informação está registada no PIC. Para termos esta
indicação bastas lermos a janela "Program Dump" e verificarmos
por ex. se o endereço "0000:" tem um registo diferente de
"3FFF". A leitura "000: 3FFF 3FFF..." significa que o
PIC está com a memória vazia.
Após todas estas operações, resta testar o PIC no circuito e boa sorte...
Se pretender ler o código hexadecimal de um PIC já programado sem a opção "FUSE F8", (esta opção impede que se faça a leitura do PIC) converte-lo para linguagem assembler (ASM)
Para qualquer esclarecimento poderão fazê-lo através do nosso e-mail.
|
||
Os artigos são da responsabilidade de quem os escreveu. Os restantes conteúdos de - © Radioamadores.net |
||
Página "Como Programar um Pic?" actualizada em: 01-04-2008 | ||
|Home Page | |