Microcontrolador
Os microcontroladores (Abrev: µC, uC, MCU); são circuitos integrados que têm no seu interior as funções básicas de um computador (processador, memória e entrada/saída de dispositivos). Diferem dos processadores convencionais porque, para além dos dispositivos lógicos e aritméticos comuns nos processadores, têm também integrados elementos adicionais memória de leitura e escrita, memória apenas de leitura, PROM para armazenamento permanente de dados e dispositivos de interligação e conversão de dados. A principal diferença, atualmente, entre o microcontrolador e o processador é inclusão de conversores digital-analógico (DAC) e analógico-digital (ADC) nos seus circuitos.
O microcontrolador é constituído por:
- CPU: Interpretação das instruções de programação;
- PROM: Memória programável apenas para leitura, memoriza de forma permanente as instruções de programação;
- RAM: Memória de acesso aleatório utilizada para guardar dados quando em funcionamento;
- I/O: Linhas de entrada e saída de dados destinadas a receber e enviar dados para elementos externos;
- DAC e ADC: Convertem sinais analógicos em digitais(ADC) e digitais em analógicos(DAC);
- Dispositivos auxiliares: Elementos adicionais para funcionamento (Clock, BUS, Counter ...).
Lançado em 1978 pela INTEL com a sigla 8048 surgindo posteriormente o 8051 e o 8096. Atualmente, uma grande quantidade de fabricantes comercializam estes dispostivos, National com o COP8, Zilog com o Z8, Motorola 6811 e Microchip com os PIC.
PIC (Peripheral Interface Controllers)
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 diretamente 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 selecionar 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", seleciona-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.
Programador de PICS e memórias pela porta série
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 |
PCB em tamanho real
Para programar pode-se utilizar:
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
Suporta I²C Bus, Microwire, SPI eeprom, Atmel AVR e Microchip PIC micro.
Permite programar os novos pics como por exemplo Pic 18F2550
Diversos códigos fonte em assembler. Rotinas que usam Watch Dog Timer, EEPROM de dados, interrupções, multiplicação via software.
Circuitos completos com microcontrolador PIC
Efeitos Luz com Leds (PIC16F84)Efeitos Luz com Leds (PIC16F84)
Medidor ESR (PIC16F876A)
Temporizador Decrescente (PIC16F84)
Relógio Digital (PIC16F84)