Os microcontroladores da família PIC são dispositivos RISC(Reduced Instruction Set Computer) com arquitetura HARVARD(Barramentos de memória de programa e de memória de dados diferentes) e fluxo de instruções PIPELINE(Enquanto se executa uma determinada instrução, a próxima já está sendo lida) da última geração. Os PICs são muito versáteis, podem possuir de 6 até 66 pinos de I/O, trabalhar em frequências de até 40MHz. O que diferencia os diversos tipos de microcontroladores, são as quantidades de memória interna (programa e dados), velocidade de processamento, quantidade de pinos de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de instruções.
Estes novos chips são fáceis de usar, de programar e de apagar, não necessitam de estar sujeitos aos ultravioletas para apagar o seu conteúdo de memória, são bastante baratos. Podem ser apagados e programados inúmeras vezes. Na página do fabricante MICROCHIP pode verificar as inúmeras funcionalidades do circuito integrado.
- ADCs = Conversores analógico para digital;
- DACs = Conversores digital para analógico;
- Endereçadores de memória externa;
- I/Os seriais;
- Memória EEPROM de dados
Como programar um PIC ?
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 de 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 um qualquer editor de texto.
- Os ficheiros de programas com extensão *.ASM ou *.TXT permitem fazer alterações no seu conteúdo. No final, após criar ou alterar o programa deve salvar com a extensão *.ASM ou *.TXT.
- 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 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 text.
- Na última fase resta-nos programar o PIC já com o ficheiro *.hex preparado.
Dentro de vários programas disponíveis,pode fazer o donload do IC-Prog Prototype Programmer, PonyProg2000, WinPic800.
--------------------------------------------------------------------------------------------------------------------------
Um programador muito simples mas que funciona perfeitamente com PIC'S 16C84 e 16F84.
| |
Ref. | Tipo | Valor |
C1 | Elect. | 100uF |
D1 | Zener | 5V1 |
D2 | D. sinal | 1N4148 |
R1 | 1/4W | 2K2 |
R2 | 1/4W | 22K |
R3 | 1/4W | 2K2 |
R4 | 1/4W | 10K> |
RS1 | DB9RM |
Para programar pode-se utilizar:
IC-Prog Prototype Programmer
Permite programar:
PIC16F818, 16F819, 16F630, 16F676, PIC 18F, PIC18F1320, PIC18F6620, 18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 12C508, 16C84, 16F84, PIC 16F877, 16F74, 24C16, 24C32, 93C46, 90S1200, 59C11, 89C2051, 89S53, 250x0, PIC, AVR , 80C51
PonyProg2000
Suporta I²C Bus, Microwire, SPI eeprom, Atmel AVR e Microchip PIC micro.
WinPic800
Permite programar os novos pics como por exemplo Pic 18F2550
ASM Exemplos
Diversos códigos fonte em assembler. Rotinas que usam Watch Dog Timer, EEPROM de dados, interrupções, multiplicação via software.
Circuitos completos com PICS
Led Flasher (PIC16F84A)
Led Flasher 2 (PIC16F84A)
Display com leds (SignBoard) (PIC16F84A)
Display com leds (SignBoard 2) (PIC16F84A)
Timer Decrescente(PIC16F84A)
Controlador Motor Passo (PIC16F84A)
Controlo Remoto por RF (PIC16F84A)
Controlador Luzes (PIC16F873)
Medidor de ultra-sons (PIC16F873)
Relógio Digital (PIC16F873)
Controlo Velocidade para motores DC (PIC16F873)
Display Remoto (PIC16F873)
Controlo Temperatura Sala (PIC16F873)
Postar um comentário