Buscar

APOSTILA X ( MICROCONTROLADORES)


Prévia do material em texto

APOSTILA (MICROCONTROLADORES)
Conteúdos: 
- Breve histórico da evolução dos Microcontroladores 
- Bloco básico dos microcontroladores (HARDWARE)
- Entradas e saídas dos microcontroladores 
LINKS: 
- Breve histórico da evolução dos Microcontroladores http://oincrivelmundonerd.blogspot.com/2014/03/a-historia-dos-microcontroladores.html 
- Bloco básico dos microcontroladores (HARDWARE) http://www.mzeditora.com.br/artigos/mic_modernos.htm
- Entradas e saídas dos microcontroladores https://tronicside.wixsite.com/sidetronic/digital-io 
A História dos Microcontroladores
O microcontrolador foi inventado pela Texas Instruments no início da década de 1970. Os primeiros microcontroladores eram basicamente microprocessadores com memória incorporada tal como RAM e ROM. Posteriormente, eles evoluíram para uma vasta variedade de dispositivos adaptados para aplicações específicas de sistemas embarcados tais como carros, telefones sem fio e eletrodomésticos.
	Comment by Sr.David Ruan: 
O primeiro microcontrolador;
Em 1971, o primeiro microcontrolador foi inventado por 2 engenheiros na Texas Instruments, de acordo com o Instituto Smithsoniano. Gary Boone e Michael Cochram criaram o TMS 1000, que era um microcontrolador de 4 bits com ROM e RAM incorporados. Esse microcontrolador era utilizando internamente pela empresa nas suas calculadoras, de 1972 a 1974, e foi melhorado ao longo dos anos. Em 1974, ele foi colocado à venda para as indústrias eletrônicas. O TMS 1000 estava disponível em várias configurações de tamanhos de RAM e ROM. Em 1983, cerca de 100 milhões de dispositivos TMS 1000 haviam sido vendidos.
Microcontroladores Intel;
Além de produzir o primeiro microprocessador, a Intel também desenvolveu muitos microcontroladores importantes, dois deles sendo o 8048 e o 8051. Introduzido em 1976, o 8048 foi um dos primeiros microcontroladores da Intel e foi utilizado como o processador no teclado do computador da IBM. É estimado que mais de um bilhão de dispositivos 8048 tenham sido vendidos. O 8051 o seguiu em 1980, e se tornou uma das famílias mais populares de microcontroladores. Variantes da arquitetura do 8051 ainda são produzidas atualmente, tornando o 8051 um dos projetos eletrônicos mais duradouros da história.
Memória eletricamente apagável;
Durante os anos 90, se tornaram disponíveis microcontroladores com memórias ROM (EEPROM) eletricamente apagáveis e programáveis, tal como a memória flash. Esses microcontroladores poderiam ser programados, apagados e reprogramados utilizando somente sinais elétricos. Antes desses dispositivos eletricamente reprogramáveis, geralmente era necessário programação especializada e hardwares para tal, sendo que o dispositivo tinha que ser removido do circuito, retardando o desenvolvimento de software e tornando-o mais caro. Ao se remover essa limitação, os microcontroladores puderam ser programados e reprogramados enquanto que em circuito, fazendo com que seus dispositivos pudessem ser atualizados com novos softwares sem a necessidade de serem devolvidos ao fabricante. Muitos microcontroladores atuais, como os da Microchip e da Atmel, incorporam a tecnologia de memória flash.
Microcontroladores modernos;
Além de dispositivos de uso geral, microcontroladores especializados estão sendo produzidos para áreas como automotiva, iluminação, comunicação e dispositivos de baixo consumo de energia. Eles também têm se tornado menores e mais potentes. Por exemplo, em 2010, a Atmel anunciou um microcontrolador flash em um pacote medindo 2 mm por 2 mm. Estes dispositivos minúsculos são pequenos e baratos o suficiente para serem utilizados em produtos como brinquedos e escovas de dentes.
Diferenças de microprocessador e mocrocontrolador;
Um microcontrolador difere de um microprocessador de diversas formas. Um microprocessador é  um circuito integrado que realiza funções de cálculo e tomada de decisões do computador, como exemplos temos: Athlon, Sempron, o Pentium, a nova linha icore da intel, entre outros.
Um microprocessador é um circuito muito complexo, em forma de circuito integrado, que pode conter entre alguns milhares a 7 milhões de transistores. Estes transistores internos constituem os mais diversos circuitos lógicos: como contadores, registradores, decodificadores, e centenas de outros. Estes circuitos lógicos são dispostos de maneira complexa, dando ao microprocessador a capacidade de executar operações lógicas, aritméticas, e de controle. 
Para utilizarmos um microprocessador outros componentes como a memória tem que ser conectados ao chip, por meio de circuitos externos que irão prover a comunicação correta entre o microprocessador e o dispositivo. Já um microcontrolador não exige circuitos externos para funcionar, dentro dele se encontram todos os periféricos necessários para o seu correto funcionamento. 
· Os microcontroladores são menos poderosos, mais lentos e possuem um espaço de endereçamento menor que os microprocessadores.
· Microcontroladores permitem a implementação de sistemas mais compactos.
· O conjunto de istruções de um microcontrolador limita-se as instruções mais simples de um microprocessador.
Em um microcontrolador, as mémorias RAM e ROM, conversor AD, temporizadores, controladores serial e paralelo e a CPU em sí são todas integrados em um bloco. Por serem compostos apenas de uma peça, eles tem muito maior confiabilidade, são mais baratos, consomem menos energia, têm a fase de projeto reduzida, além de terem a manutenção facilitada. Ou seja, são muitas as vantagens em relaçao ao uso de um microprocessador com circuito.
 Bloco básico dos microcontroladores (HARDWARE)
Conceito: (Arquitetura de um Microcontrolador); 
É uma arquitetura de computador que se distingue das outras por possuir duas memórias diferentes e independentes em termos de barramento e ligação ao processador. É utilizada nos microcontroladores PIC. Tem, como principal característica, o acesso à memória de dados de modo separado em relação à memória de programa. Exemplo> 
-Teremos como exemplo também a arquitetura do microcontrolador (8051)
A arquitetura 8051
A arquitetura 8051 especifica os recursos que deverão estar presentes nos microcontroladores compatíveis com esta família. Um ponto interessante nesta arquitetura é que, ao contrário de nossos computadores, ela separa a memória de programa da memória de dados. Essa arrumação da memória em blocos distintos oferece maior versatilidade às aplicações. A imagem a seguir apresenta um diagrama em blocos com a arquitetura 8051. Vemos que está especificada uma CPU de 8 bits, para a qual já foi definido um conjunto mínimo de instruções. O contador de programa (PC) é de 16 bits, o que permite até 64 KB de memória de programa. Um outro registrador de 16 bits é usado para acessar a memória de dados, o que permite 64 KB de dados. Nota-se que existe a possibilidade da memória de programa (ROM 4KB) ser integrada junto com o chip do processador. 
A memória RAM interna tem 256 bytes e está dividida em dois blocos de 128 bits. O bloco inferior destina-se a trabalhar como uma outra memória de dados, enquanto que o bloco superior está dedicado aos registradores especiais que controlam os diversos recursos do microcontrolador.
A arquitetura 8051 oferece quatro portas paralelas de 8 bits, denominadas de P0, P1, P2 e P3. Essas portas são bidirecionais e podem ser usadas para receber ou para gerar sinais digitais. Elas também podem ser acessadas bit a bit, ou seja, cada bit da porta pode ser programado como entrada ou como saída. Quando se usa memória externa ao CI, as portas P0 e P2 são consumidas na construção dos barramentos de endereços e dados. Para a geração de pulsos com duração precisa ou para a medição de intervalos de tempo em sinais digitais, existem dois contadores e temporizadores de 16 bits, denominados de "Timers". O bloco denominado "Controlador de Interrupções" trabalha com cinco interrupções. Duas dessas interrupções podem ser pedidas externamente através dos pinos INT0 e INT1, sendo queoutras duas interrupções podem ser provocadas pelos contadores e temporizadores. 
A quinta interrupção é gerada pela porta serial. Esta arquitetura especifica uma porta serial capaz de atender aos requisitos mais usuais de comunicação, por isso a quantidade de bits e a velocidade é programável, e a porta serial gera uma interrrupçãointerrupção tanto na transmissão quanto na recepção de um byte.
 Núcleo da família 8051.
Entradas e saídas dos microcontroladores 
Os microcontroladores possuem entradas e saídas digitais e essas são totalmente configuráveis e podem receber ou enviar somente dados digitais logicamente, ou 0 ou 1, em outras palavras, podem estar em nível baixo ou em nível alto. Essas portas variam em quantidade e posição de acordo com o microcontrolador usado e portanto faz-se necessário conhecê-lo lendo o seu datasheet. Os pinos digitais são nomeados por letras e números. Para esse tópico usaremos o PIC16F628A. A figura abaixo lista todos os pinos do nosso microcontrolador.
Perceba que logo no pino 1 tem escrito RA2 indicando que ali é o pino digital A2 que pode servir como entrada ou saída, isso veremos mais adiante. Há também descrito nesse pino outras coisas como AN2 que indica o pino analógico 2. Para conhecer todos os pinos e suas funcionalidades leia o datasheet do PIC16F628A que pode ser encontrado facilmente através de uma busca no Google ou no próprio site do fabricante,a MICROCHIP.
​
PROGRAMAÇÃO PARA PINOS DIGITAIS.​
 
A programação para portas digitais conta com alguns comandos básicos, são eles:
 
                  Output_high (nome_pino);  Configura o pino como saída de dados (Output) digitais em nível alto (high).
                  Output_low (nome_pino);  Configura o pino como saída de dados (Output) digitais em nível baixo (low).
 
O campo nome_pino deve ser preenchido com a palavra PIN_ seguida do nome do pino. Exemplo:
 
                  
Output_high (PIN_A0);
 
Dessa forma eu configuro o pino digital A0 para ser saída em nível alto.
 
Da mesma forma acontece com o comando Output_low (...)
​
 
A entrada, ou captura, de dados digitais é realizada por um só comando:
 
                  Input (nome_pino);
 
Esse comando recebe algum valor digital (0 ou 1) e portanto deve possuir alguma variável para captura do mesmo. Exemplo: int X = Input (PIN_A0);
 
 
EXEMPLIFICANDO...
 
 
Vamos a um programa exemplo usando portas digitais? Que tal acender algum LED com o PIC? O programa a seguir faz isso.

​While(TRUE)
{
       Output_high(PIN_A0);
       Delay_ms(1000);
}
 
O esquema de ligações elétricas para esse código será:

Mais conteúdos dessa disciplina