Nova Eletrônica

8051- O Microcontrolador da Intel

Em um artigo anterior comentamos sobre o Intel Galileo, que é uma placa de desenvolvimento e proto plotagem da Intel. Muitos apelidaram de Super Arduíno da Intel, na minha opinião está mais para um super PI Raspberry.  Hoje vamos mostrar neste artigo o mais famoso e talvez principal microcontrolador desenvolvido até hoje, o grande  8051,

O Intel MCS-51, mais conhecido como 8051, é um microcontrolador de 8 bits em um único chip (uC) que foi desenvolvido pela Intel para uso em sistemas embarcados. Se tornou muito popular na década de 80 e início de 90, suas  versões aprimorados continuam populares até hoje.

O microcontrolador MCS-51 da família da Intel (original) foi desenvolvido utilizando tecnologia NMOS , mas as versões posteriores, identificados por uma letra C em seu nome (por exemplo, 80C51) usa tecnologia CMOS e consomem menos energia do que seus antecessores NMOS. Tornando esse microcontrolador mais adequado para dispositivos alimentados por baterias.

A família  do microcontrolador 8051 tem uma arquitetura com infinidades de funções  em um único chip como CPU , RAM , ROM , I / O , interrupção lógica, temporizador , PWM, conversor AD, etc. Abaixo as características básicas:

 

Características do circuito integrado microcontrolador 8051

20 Portas de I/O bidirecionais endereçáveis por bit
1 Canal serial UART com interrupção e 3 modos de operação
2 Timers/Contadores de 8/16 bits com 4 modos de operação cada um
5 Entradas de interrupção com arquitetura nesting
128+128 bytes de memória RAM interna, sendo apenas 128 bytes de uso geral
8 Kbytes de memória PROM interna (desabilitáveis)
Até 64Kbytes de memória RAM externa (não compartilhada)
Até 64Kbytes de memória ROM externa (não compartilhada)
Pino de saída de oscilador de meia onda (1/4 do clock)
Clock de 1 a 120Mhz
8 bancos de registradores
Arquitetura CISC

 

 Pinagem 8051

 

8051/8052

Pinos 1 ao 8 são portas 1, cada um destes pinos pode ser configurado como uma entrada ou uma saída.

Pino 9 é RESET ou RST, um pulso lógico HI (5 Volts) repõe o microcontrolador e ao aplicar um pulso lógico LO (0 Volts) o programa começa a execução a partir do início.

Pinos 10 ao 17  são portas 3, igual à porta 1, cada um desses pinos podem servir como entrada ou saída. Além disso, todos eles possuem funções alternativas:

Pino 10 é RXD Serial entrada comunicação assíncrona ou Serial saída de comunicação síncrona.
Pino 11 é TXD Serial saída comunicação assíncrona ou saída de comunicação serial relógio síncrona.
Pino 12 é INT0 interrupção 0 entrada.
Pino 13 é INT1 Interrupção 1 de entrada.
Pino 14 é T0 Contador 0 clock de entrada.
Pino 15 é  T1 Contador 1 entrada de clock.
Pino 16 é WR Escrita-RAM externo (adicional).
Pino 17 é  RD leitura da RAM externa.

Pinos 18 e 19,  X2, X1 entrada e saída do oscilador interno do microcontrolador.

Pino 20 é o GND / terra -V.

Pinos 21 ao 28 são  “portas 2“,  Se não houver intenção de utilizar memória externa então estes pinos da porta são configurados como entradas / saídas gerais. No caso de memória externa é usado, o byte de endereço mais elevado, isto é, endereços A8-A15 aparece nessa porta. Apesar de memória com capacidade de 64Kb não é usado, o que significa que nem todos os oito bits de porta são utilizados para a sua abordagem, o resto deles não estão disponíveis como entradas / saídas.

Pin 29 é SPEN, se uma ROM externo é usada para armazenar no programas, em seguida, uma lógica zero (0) aparece nele toda vez que o microcontrolador lê um byte de memória.

Pino  30 é  ALE . Antes da leitura da memória externa, o microcontrolador coloca o byte de endereço mais baixo (A0-A7) em P0 e ativa a saída ALE. Depois de receber o sinal do pino ALE, o registro externo (geralmente 74HCT373 74HCT375 ou add-on chip) memoriza o estado de P0 e usa-lo como um endereço de chip de memória. Imediatamente depois disso, o pino ALU é retornado a sua lógica de estado anterior e P0 é agora usado como um barramento de dados. Como se vê, a multiplexação de dados da porta é realizada por meio de um único circuito integrado adicional (e barato). Em outras palavras, esta porta é usada para dados e transmissão de endereço.

Pino 31 é EA . Ao aplicar a lógica zero a este pino, P2 e P3 são utilizados para transmissão de dados e endereço, sem levar em conta se há memória interna ou não. Isso significa que, mesmo um programa escrito para o microcontrolador, não será executado. Em vez disso, o programa escrito para ROM externo será executado. Através da aplicação de uma lógica para o pino EA, o microcontrolador irá usar duas memórias, primeiro interno, em seguida, externa (se existir).

Pinos 32 ao 39  são portas, igual à porta 2 .  se a memória externa não é usada, esses pinos podem ser usados ​​como entradas / saídas gerais. Caso contrário, P0 é configurado como saída de endereço (A0-A7), quando o pino ALE é colocada em alta (1) ou como saída de dados (barramento de dados), quando o pino ALE é puxada para baixo (0).

Pino 40 é alimentação VCC  +5 V.

(Tradução Wiki)

Intel 8051

Programação do 8051

Para a programação do 8051 existem várias linguagens e compiladores disponíveis, entre as linguagens de programação mais usadas estão o  Assembler, C, Asm, Pascal  e Visual Basic.

A mais difundida realmente é o  Assembler, a principal razão é que essa é uma linguagem permitindo ter controle sobre cada registrador e posição de memória do 8051, assim torna mais fácil o programador ter toda a capacidade e eficiência do do microcontrolador 8051.

Mas é claro que as outras linguagens não são desprezadas,  principalmente para programações nenos complexas e sem a necessidade de controle absoluto de registros.

 

A família 8051

A família era, em 1996, continuou com o avançado de 8 bits MCS-151 ea 8 / 16 / 32-bit MCS-251 da família de microcontroladores compatíveis binários.  Enquanto a Intel não fabrica o MCS-51, MCS-151 e família MCS-251, reforçada compatíveis binários derivativos feitas por vários fornecedores continuam populares hoje.

Alguns derivados integrar um processador de sinal digital (DSP). Em adição a estes dispositivos físicos, várias empresas oferecem também  o MCS-51  e seus derivados como núcleos de IP para utilização na FPGA ou ASIC .

O predecessor do 8051, o 8048, foi utilizado no teclado do primeiro IBM PC, onde convertia o sinal das teclas em um sinal serial que era enviado a unidade principal do computador.

O 8031 foi uma versão de custo reduzido do original Intel 8051 que não possui nenhuma memoria interna para programação (ROM). Este fato o torna o microcontrolador mais barato para implementação de projetos.

A grande maioria dos kits didáticos são baseados no 8031. A facilidade de encontrar memórias EPROM e RAM de baixo custo o tornaram o microcontrolador mais utilizado nas universidades e cursos técnicos.

O 8052 foi uma versão melhorada da versão original Intel 8051 que dispõe de 256 bytes de memória RAM interna ao invés dos 128 bytes, 8 kB de ROM ao invés dos 4 kB, e um terceiro timer de 16-bist. O 8032 possui as mesmas características exceto pela memória interna de programa.

Apostila:  A família de microcontroladores 8051

Sair da versão mobile