Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Microcontrolador 8051, Trabalhos de Automação

trabalho sobre o 8051

Tipologia: Trabalhos

2011

Compartilhado em 07/06/2011

robson-de-medeiros-lacerda-5
robson-de-medeiros-lacerda-5 🇧🇷

5

(2)

2 documentos

1 / 12

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
MICROCONTROLADOR 8051
INTRODUÇÃO
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.
UNIDADE CENTRAL DE PROCESSAMENTO (CPU)
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.
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Microcontrolador 8051 e outras Trabalhos em PDF para Automação, somente na Docsity!

MICROCONTROLADOR 8051

INTRODUÇÃO

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.

UNIDADE CENTRAL DE PROCESSAMENTO (CPU)

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.

PROCESSAMENTO

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.

UNIDADES DE ENTRADA/SAÍDA (I/O)

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.

ARQUITETURA

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.

MICROCONTROLADORES

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.

Descrição da pinagem do 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.

CLOCK E CICLO DE MÁQUINA

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.

RESET

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.