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.

microcontrolador

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.

Calculo circuito resistores serie
Microcontrolador PIC16F1828
  • 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

    gravador PICS porta série


Um programador muito simples mas que funciona perfeitamente com PIC'S  16C84  e 16F84.

Ref.TipoValor
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

Esquema simples programador pics

PCB em tamanho real

PCB programador em tamanho tamanho  PCB programador componentes circuito impresso
Programador pics PCB

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 (Windows 32bits)

PonyProg2000 (Windows 64bits)

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 microcontrolador PIC

Efeitos Luz com Leds (PIC16F84)
efeitos Luz com leds
Efeitos Luz com Leds (PIC16F84)
efeitos Luz com leds
Medidor ESR (PIC16F876A)
medidor esr
Temporizador Decrescente (PIC16F84)
temporizador decrescente
Relógio Digital (PIC16F84)
relogio digital

Ficheiros Recentes