






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
trabalho sobre o 8051
Tipologia: Trabalhos
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Com o avanço da tecnologia e a utilização da eletrônica digital por grande parte das empresas, o emprego de microcontroladores vêm sendo muito requisitado para um melhor desenvolvimento da produção, diminuindo os custos e trazendo benefícios para as empresas que utilizam esse sistema. É importante salientar que, considerando a relação custo/benefício, os microcontroladores podem não só ser usados em empresas de médio/ grande porte, como também pode ser utilizado em vários projetos de eletrônica, na substituição de vários componentes digitais, obtendo-se assim no final do projeto um melhor acabamento, pois um microcontrolador ocuparia um menor espaço físico, e uma maior eficiência e praticidade, uma vez que todos os comandos seriam executados via software.
Antes de um aprofundamento no assunto microcontroladores, é importante conhecermos um pouco da história desses componentes desde as suas origens. Na década de 70 começaram a ser utilizados microprocessadores em computadores para uma maior eficiência no processamento de dados. O microprocessador Intel foi um dos precursores e, a partir daí, houve uma preocupação em melhorar cada vez mais o sistema de processamento de dados através desses componentes. Baseado na arquitetura de um microprocessador e seus periféricos foi criado um componente que (fisicamente em uma unidade) comportasse todo um sistema que equivalesse a um microprocessador e seus periféricos; assim surgiu o microcontrolador. Todas as informações e explicações citadas neste trabalho baseiam-se nos microcontroladores 8051 e 8031 da Intel.
A unidade central de processamento controla todas as funções realizadas pelo sistema.
A CPU de qualquer sistema de computador contém os seguintes grupos de unidades funcionais:
- Registradores e contadores
Os registradores e contadores são unidades funcionais usadas para o armazenamento temporário de bits dentro da CPU.
- Unidade Lógica e Aritmética (ULA)
A unidade lógica e aritmética é a unidade funcional da CPU que executa operações lógicas e aritméticas entre palavras binárias, gerando outra palavra na saída.
- Unidade de controle e sincronização
A unidade de controle e sincronização coordena e controla todas as unidades funcionais em uma seqüência lógica e sincronizada.
O processador ou unidade central de processamento (CPU) é a parte do sistema que faz o processamento das informações para que as instruções sejam executadas; as instruções devem estar armazenadas na memória de programa em seqüência, formando assim o programa. A CPU possui um registrador chamado de contador de programa (PC) que contém o endereço da próxima instrução que deve ser executada.
Toda vez que uma instrução é retirada da memória pela unidade central de processamento, automaticamente o contador de programa é incrementado para que, após o processamento desta instrução, quando a CPU for buscar a próxima instrução, basta usar o endereço contido no contador de programa. Toda vez que a CPU é ligada ou resetada, automaticamente o seu contador de programa é zerado, desta forma, a primeira tarefa que a CPU irá realizar é a execução da instrução contida na posição de memória de endereço “0000”. Cada instrução possui duas fases distintas: o ciclo de busca e o ciclo de execução. Durante o ciclo de uma instrução a CPU faz com que o conteúdo do contador de programa seja colocado no barramento de endereços, endereçando, desta maneira, a posição de memória que contém a instrução que deve ser executada.
As unidades de entrada/saída são os meios pelos quais o usuário se comunica com o sistema. Essas unidades possuem interfaces que permitem a conexão com dispositivos chamados de periféricos, tais como teclado, monitores, LCD´s, etc.
O desempenho do microcontrolador depende da sua arquitetura interna, ou seja, do modo em que o microcontrolador foi projetado tanto para o hardware como para software. No hardware apresentaremos a arquitetura Von-Neumann, na qual se refere o software CISC.
- Arquitetura Von-Neumann
Na arquitetura Von-Neumann, os barramentos de dados e endereços são compartilhados entre memórias de programas e memórias de dados
Acesso aleatório: as memórias que utilizam esse tipo de acesso são as que permitem que seja acessado qualquer dado em qualquer endereço sem a necessidade de ter que passar por outros endereços intermediários.
- Volatilidade
Memórias voláteis : são aquelas que perdem as informações quando é cortada sua alimentação. São memórias que geralmente usam como elemento de memória o flip-flop.
Memórias não voláteis : são memórias que mesmo desligando-se sua alimentação, não perdem as informações armazenadas. Dentre essas se destacam as magnéticas e as eletrônicas ROM, PROM, EPROM, EEPROM, e outras.
- Memórias de escrita/leitura ou somente Leitura
Escrita/leitura : são memórias que podem ser acessadas pela CPU tanto para leitura quanto para escrita; elas são usadas para armazenar dados que serão utilizados durante a execução do programa (memórias RAM´s, EEPROM´s).
Somente leitura : são as memórias que armazenam o programa, ou seja, são as memórias que só serão lidas pela CPU e que já vêm gravadas para o sistema (memórias
(ROM´s, PROM´s, etc.)
- Tipo de armazenamento
Estáticas : memórias estáticas são aquelas nas quais as informações permanecem armazenadas enquanto não houver escrita ou não faltar energia.
Dinâmicas : memórias dinâmicas são memórias que perdem informações armazenadas mesmo com alimentação. Na RAM dinâmica (ou DRAM) isso acontece porque cada célula tem um transistor MOSFET e um capacitor que armazena um dado (1bit).
- Tipos de memórias
Veremos a seguir alguns tipos de memórias existentes no mercado e que são muito utilizadas:
Memórias RAM (Random Acces Memory)
Essas memórias são de acesso aleatório, que podem ser acessadas a qualquer momento e em qualquer endereço. Elas podem ser estáticas ou dinâmicas e também podem ser gravadas pelo sistema com a tensão de 5V. São memórias consideradas voláteis.
Memórias ROM (Ready Only Memory)
Essas memórias são utilizadas no sistema somente para a leitura.
Memórias PROM (Programmable Ready Only Memory)
Essas memórias são utilizadas no sistema somente para a leitura; geralmente usadas como memórias de programa, só podem ser gravadas com gravadores específicos e só uma vez. São as memórias não voláteis;
Memórias EPROM (Erasable Programmable Ready Only Memory)
Essas memórias são utilizadas no sistema somente para a leitura, também empregadas como memórias de programa e só podem ser gravadas com gravadores específicos. Podem ser apagadas por raios ultravioleta e regravadas por muitas vezes. São chamadas memórias não voláteis.
Memórias EEPROM ou E²PROM (Electrically Erasable Programmable Ready Only Memory)
Essas memórias podem ser usadas no sistema tanto para leitura como para escrita, podem ser gravadas com gravadores específicos ou pelo sistema; são apagadas eletricamente e regravadas por muitas vezes; são consideradas memórias não voláteis.
Memórias PEROM (Programmable Erasable Ready Only Memory)
Uma linha de memórias programáveis e apagáveis apenas para leitura, de 3V e 5V, apenas dentro do sistema. Fabricadas com a avançada tecnologia CMOS, não voláteis, suas características incluem:
· Operação de leitura e programação em apenas 3V e 5V
· Proteção de dados de software e hardware
· Operação de programação por setor
· 1000 ciclos de programa
· Retenção de dados de 10 anos
Memórias Seriais
Estes dispositivos são de tamanho reduzido podendo ser ligados a um barramento serial I²C (Inter-Integrated Circuit Bus) ou SPI (Serial Peripheral Interface) junto com outros dispositivos seriais, com muitas vantagens em relação às memórias paralelas.
Existem no mercado muitos tipos de microcontroladores, sendo o 8051 o mais popular. O microcontrolador também é conhecido com microcomputador de um só chip reunindo num único componente vários elementos de um sistema, antes baseado em microprocessador e que eram desempenhados por vários componentes independentes tais como RAM, ROM, comunicação serial, etc. A memória de programa pode ser ROM, FLASH ou outro tipo. No caso do microcontrolador 8051 ele pode funcionar como um microcontrolador ou como um microprocessador. Na figura 2 mostrado o diagrama de blocos do 8051. A ATMEL possui uma enorme família de componentes com as mesmas características do 805, alguns até com as mesmas pinagens dos registradores; outros com pinagens diferentes, mas com o mesmo set de instruções, com clock de 12 MHz até aproximadamente 35 MHz. Falaremos um pouco mais dessa família mais adiante. A DALLAS Semiconductor tem um microcontrolador de alta performance, de até 90MHz, compatível com 8051.
Do pino 1ao pino 8 temos:
O port P1 , que vai de P1.0 a P1.7. Estes pinos são bidirecionais, podendo ser endereçáveis individualmente ou como porta de 8 bits; possuem resistores de pull-up internos, forçando assim nível lógico alto. Cada pino pode acionar até 4 portas TTL-LS.
Pino 9
RST/VPD. Estes pinos resetam o sistema com a aplicação de um nível lógico alto por, pelo menos, dois ciclos de máquina, tendo um resistor de pull-down interno permitindo que se use apenas um capacitor externo para obter o reset por power-on.
Do pino 10 ao pino 17 temos:
O port P3 , que vai de P3.0 a P3.7 tem as mesmas características de funcionamento do port P1, tendo também outras funções especiais que estão descritas abaixo.
pino 10 = P3.0 RXD/ Data : entrada de dados serial.
pino 11 = P3.1 TXD/Clock: saída de dados serial.
pino 12 = P3.2 INT0: interrupção externa de número 0, ativo em nível lógico baixo.
pino 13 = P3.3 INT1: interrupção externa de número 1, ativo em nível lógico baixo.
pino 14 = P3.4 T/C0 : entrada externa para o temporizador/contador de eventos.
pino 15 = P3.5 T/C1: entrada externa para o temporizador/ contador de eventos.
pino 16 = P3.6 WR: strobe (sinalizador) de escrita de dados externo
pino 17 = P3.7 RD : strobe (sinalizador) de leitura de dados externo
Obs. : estas funções serão mais detalhadas na continuação da apostila
Os pinos 18 e 19 são:
XTAL 1 (18)
XTAL 2 (19)
Pino 20:
Se o sinal que estiver na via de dados for “1” e o flip-flop receber um clock, a saída Q terá um sinal de nível alto, e Q/ terá um sinal de nível baixo que entrará no gate do transistor deixando-o em corte e, então, o sinal no pino será o do resistor, ou seja , nível “1”. Agora, se o sinal que estiver na via de dados interna for nível baixo e novamente o flip-flop receber um clock, na saída Q teremos um sinal de nível baixo, e na saída Q/ um sinal de nível alto que levará o transistor à saturação e com isso o pino terá um nível baixo. Quando se quer ler um pino, o microcontrolador deve enviar um sinal para o buffer “lê pino”, que pega o sinal que estiver nele e envia para via de dados interna; quando se quer ler o flip-flop, o sinal é enviado para o buffer “lê latch” que libera o sinal da saída Q para a via de dados interna.
No microcontrolador existem algumas instruções responsáveis pela leitura do flip-flop, e
outras do pino. Para que se possa ler um sinal externo no pino, deve se primeiro escrever nele um nível alto evitando assim que o transistor conduza e mande um sinal baixo no
pino, pois se for entrar um sinal de nível alto no pino, o transistor não poderá estar
saturado, senão entrará em conflito prejudicando a leitura. Isso acontece em todos os
PORT’s do microcontrolador.
Quando estão sendo usado os pinos de I/O como PORT’s (empregando somente
as memórias internas, é necessário
o uso de resistores de pull-up no port P.
O microcontrolador é um circuito dinâmico, e para o seu funcionamento necessita de um sinal de clock (relógio) para sincronização de suas operações. Este sinal de clock é gerado por um oscilador que fornece um seqüência ininterrupta de pulsos com períodos constantes. O chamado ciclo de máquina é uma quantidade de pulsos de clock que o processador requer para fazer suas funções; e o ciclo de instrução é a quantidade de ciclos de máquina que são necessários para a execução de uma instrução.
Um exemplo genérico de uma instrução: suponhamos que um processador qualquer leve
para a execução de uma instrução 5 (cinco) ciclos de máquina, e que cada ciclo de
máquina desse processador seja igual a 2 (dois) clocks. Para executar essa instrução o
processador levará 10 (dez) clocks; supondo também que desses 5 (cinco) ciclos de
máquina, 2(dois) seriam para a busca da instrução na memória de programa e os outros 3 (três) para a execução dessa instrução, como mostra o gráfico abaixo (figura 5).
No microcontrolador 8051 um ciclo de máquina corresponde a 12 períodos, e as instruções levam de 1 (um) a 3 (três) ciclos de máquina para ser realizadas dependendo da instrução. Conforme o componente, o ciclo de máquina pode ser em maior ou menor número de períodos, outros microcontroladores têm os ciclos de máquina diferentes. O 8051 possui internamente um circuito oscilador com um inversor linear de estágio simples, oferecendo duas possibilidades de clock distintas, sendo um externa e outra interna. Para o uso de oscilador externo deve-se aterrar o pino 19 e injetar o sinal externo no pino 18 que, desta forma, não atuará no gerador interno. Para usarmos o clock gerado internamente devemos intercalar entre os pinos 18 e 19 um cristal com filtro cerâmico na freqüência desejada, como mostra na figura 6.
O reset não é bem uma interrupção, mas às vezes o chamamos assim por sua ação
semelhante a uma interrupção, já que ele interrompe o processo e reinicia o sistema. No
8051 o reset é ativo quando o pino 9 permanecer em nível alto por pelo menos 2 ciclos de
máquina. Quando os pinos do 8051 estiverem todos em tri-state, e enquanto estiver no
processo de reset, os pinos permanecerão em alta impedância. Quando
acontece uma interrupção por reset, a CPU
se reorganiza e inicializa com os seguintes
valores nos registradores.
O 8051 pode ser automaticamente resetado toda vez que for ligado (POWER-ON),
colocando um resistor e um capacitor no pino 9
(RESET) como mostra a figura 7 abaixo. O
auto-reset é usado para que se tenha um
tempo para a fonte se estabilizar e, assim, todos os componentes do sistema serão alimentados
corretamente evitando níveis de tensões
errados. Outro modo de se obter o reset é através
de um “push-button” ligado ao pino 9, em
paralelo com o capacitor (‘reset forçado’). Desse modo o reset pode ser dado a qualquer
instante sem a necessidade de
desligar o sistema.