Você está na página 1de 21

COMPLEXO ESCOLAR POLITÉCNICO GIRASSOL

ESTABELECIMENTO PRIVADO DO ENSINO SECUNDÁRIO

TÉCNICO PROFISSIONAL
EM PERFURAÇÃO E PRODUÇÃO; REFINAÇÃO E GÁS; MINAS; INFORMÁTICA; ELECTRÓNICA E TELECOMUNICAÇÕES;
INSTRUMENTAÇÃO; CONSTRUÇÃO CIVIL; MECÂNICA; ELECTROMECÂNICA; FINANÇAS; E CONTABILIDADE E GESTÃO

Disciplina: Automação e Instrumentação


Curso: Instrumentação
Classe: 10a
Professor: Eng0. Francisco Joaquim Capassola
Email: franciscokapassola@gmail.com

Capítulo 3: ARQUITECTURA DE COMPUTADORES (MICRONTROLADORES)

Sumário: 1. INTRODUÇÃO A TERMINOLOGIA BÁSICA


2. UNIDADE CENTARL DE PROCESSAMENTO (CPU)
3. ARQUITECTURAS HARVARD versus VON NEUMAN
4. SISTEMA DE MEMÓRIA
5. APLICAÇÕES DOS MICROCONTROLADORES
6. OS MICROCONTROLADORES DA FAMILIA 8051

Objetivos:
• Conhecer arquitectura interna do microcontrolador;
• Descrever as memorias do microcontrolador;
• Saber diferenciar arquitectura Harvard e Von Neuman.

1. INTRODUÇÃO A TERMINOLOGIA BÁSICA


A evolução da informática foi caracterizada pelo desenvolvimento de computadores com características
as mais diversas, traduzidas pelos diferentes parâmetros, cada vez mais conhecidos da maioria de
usuários de computador: a CPU adotada, a capacidade de memória, a capacidade do disco rígido, a
existência de memória cache e outros menos conhecidos. A definição destes parâmetros e a forma como
os diversos componentes de um computador são organizados, define aquilo que é conhecido por
arquitetura de computador e vai determinar aspectos relacionados à qualidade, ao desempenho e à
aplicação para a qual o computador vai ser orientado.

1.1. Apresentação da arquitectura


Apesar da existência de uma grande diversidade em termos de arquiteturas de computador,
pode-se enumerar, num ponto de vista mais genérico os componentes básicos desta classe de
equipamentos.
A figura 1.1 apresenta um esquema de um computador, destacando os elementos que o
compõem. Apesar da grande evolução ocorrida na área de informática desde o aparecimento
dos primeiros computadores, o esquema apresentado na figura 1.1 pode ser utilizado tanto para

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


descrever um sistema computacional atual como os computadores da década de 40, projetados
por engenheiros como John Von Neuman.

Figura 1.1. Elementos básicos do computador

Os principais elementos do computador são:

• O processador (ou microprocessador) é responsável pelo tratamento de informações


armazenadas em memória (programas em código de máquina e dos dados);
• A memória é responsável pela armazenagem dos programas e dos dados;
• Periféricos, que são os dispositivos responsáveis pelas entradas e saídas de dados do
computador, ou seja, pelas interações entre o computador e o mundo externo. Exemplos
de periféricos são o monitor, teclados, mouses, impressoras, etc;
• Barramento, que liga todos estes componentes e é uma via de comunicação de alto
desempenho por onde circulam os dados tratados pelo computador.

1.2. Conhecendo os microcontroladores


Os Microcontroladores são circuitos integrados que possuem em seu interior todos os
componentes necessários ao seu funcionamento dependendo unicamente da fonte de
alimentação externa. Pode-se dizer que os microcontroladores são computadores de um único
chip. A figura 1.2 ilustra os componentes de um microcontrolador tópico.

Figura 1.2. Componentes de um Microcontrolador

Principais componentes de um Microcontrolador: CPU, Frequência de Clock, Memória ROM,


Memórias RAM, Memórias Flash, Memória EEPROM, Temporizadores/Contadores, PWM

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


(modulação de largura de pulso), Conversor AD, Canais de Comunicação e Conversores
Analógico-Digitais.
Esta característica diferencia os sistemas baseados em microcontroladores daqueles baseados
em microprocessadores, onde normalmente se utilizam vários componentes para implementar
essas funções. Com isso, os microcontroladores permitem a implementação de sistemas mais
compactos e baratos do que aqueles baseados em microprocessadores.
Em contrapartida, as CPUs dos microcontroladores são, menos poderosas do que os
microprocessadores. Seu conjunto de instruções costuma se limitar às instruções mais simples,
sua frequência de clock é mais baixa e o espaço de memória endereçável costuma ser bem
menor. Vê-se daí que o campo de aplicação dos microcontroladores é diferente daquele dos
microprocessadores, e que um sistema que possa ser controlado por um microcontrolador tende
a ter menor complexidade e menor custo do que um sistema que exija a capacidade de
processamento de um microprocessador.
A programação dos microcontroladores é mais simples do que a dos microprocessadores. Isto
acontece porque os periféricos on-chip dos microcontroladores são acessados de uma forma
padronizada e integrada na própria linguagem de programação, dispensando o conhecimento
de detalhes externos. Não se deve pensar, porém, que isto simplifique a tarefa do programador
em todos os níveis: é necessário que ele conheça bem o hardware conectado ao
microcontrolador para poder produzir programas que funcionem corretamente.
1.2.1. Origem dos microcontroladores
Os microcontroladores surgiram como uma evolução natural dos circuitos digitais devido ao
aumento da complexidade dos mesmos. Chega um ponto em que é mais simples, mais barato
e mais compacto, substituir a lógica das portas digitais por um conjunto de processador e
software.

Figura 1.3. Microcontrolador PIC12F675 Figura 1.4. Microcontrolador INTEL 8051

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 utilizado 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.
O microcontrolador da empresa Intel foi lançado pela primeira vez em 1977 e recebeu a sigla
“8048”. Com a sua posterior evolução, deu origem à família “8051” (figuras 1.3 e 1.4). O 8048
foi um dos primeiros microcontroladores da Intel e foi utilizado como o processador no teclado
do computador da IBM. O chip 8051 é programado em linguagem Assembly e possui um
3

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


poderoso conjunto de instruções. Por ser um dos precursores, é utilizado em muitas aplicações
de automação em diversas áreas do mundo. É 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.
O microcontrolador possui internamente os seguintes dispositivos:
a) Uma CPU (Central Processor Unit ou Unidade de Processamento Central), cuja fi
nalidade é interpretar as instruções de programa.
b) Uma memória PROM (Programmable Read Only Memory ou Memória Programável
Somente de Leitura) na qual são gravadas as instruções do programa.
c) Uma memória RAM (Random Access Memory ou Memória de Acesso Aleatório)
utilizada para memorizar as variáveis utilizadas pelo programa.
d) Um conjunto de LINHAS de I/O para controlar dispositivos externos ou receber
impulsos de sensores, interruptores, etc.
e) Um conjunto de dispositivos auxiliares ao funcionamento, ou seja, gerador de clock,
contadores, UASART para comunicação, etc.
A figura 1.5 apresenta o diagrama de blocos de um microcontrolador, mostrando os principais
elementos descritos até aqui.

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 1.5. Diagrama de blocos PIC12F675

Atualmente, os principais fabricantes de microcontroladores são: Intel, Zilog, National,


Microchip, Motorola, Analog Devices e microconverter.
2. UNIDADE CENTARL DE PROCESSAMENTO (CPU)
O processador ou Unidade Central de Processamento (CPU) é o responsável pelas atividades
de processamento do Microcontrolador. Os processadores atuais são fabricados de modo que,
num único invólucro (pastilha ou chip) são inseridos todos os elementos necessários à
realização de suas funções.
O processador (CPU) é composto por várias partes distintas, entre elas: Unidade Lógica
Aritmética (ULA), Unidade de Controle (UC) e Registradores. Por isso, neste manual sobre
o estudo do processador (CPU) começa com uma visão geral da unidade lógica e aritmética,
passando pela unidade de controle e chegando por fim aos registradores.
2.1. Unidade Lógica e Aritmética (ULA)
Assim, como todos os demais elementos de um microcontrolador, a ULA é baseada em
dispositivos lógicos digitais simples, capazes de armazenar números binários e efetuar
operações aritméticas e lógicas.
A Unidade Lógica e Aritmética (ULA) é a unidade responsável por realizar as operações
lógicas e aritméticas.

Figura 2.1. Estrutura geral de funcionamento da ULA

Na figura 2.1, se pode observar a interação e o funcionamento com o restante do sistema


computacional. Os dados são fornecidos à ULA através dos registradores. Os registradores são
áreas de armazenamento temporário dentro da CPU, que se conectam a ULA através de
caminhos de sinal. A unidade de controle (UC) controla a transferência de dados entre a ULA
e os registradores.

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 2.2. Interação dos Registradores com a ULA

Na figura 2.2, se pode observar o MBR (Memory Buffer Register ou Registrador Temporário
de Dados), que contém uma palavra com dados a ser armazenada na memória ou é utilizado
para receber uma palavra da memória. Já o AC (Accumulator ou Acumulador) e o MQ
(Multiplier Quotient ou Quociente de Multiplicação) são registradores utilizados para
armazenar temporariamente os operandos e os resultados das operações efetuadas na ULA.

2.2. Unidade de Controle (UC)

A Unidade de Controle (UC) é a parte do processador que controla a execução de instruções.


Ela gera sinais de controle externos ao processador para comandar a transferência de dados
entre o processador e a memória ou os módulos de E/S. Ela também gera sinais de controle
internos ao processador para mover dados entre registradores, para comandar a ULA na
execução de uma determinada função e para controlar outras operações internas. As entradas
para a unidade de controle consistem do registrador de instrução, bits de condição e sinais de
controle gerados por fontes externas, por exemplo, sinais de interrupções.

Figura 2.3. Modelo de uma Unidade de Controle

Observando a figura 2.3, se pode tratar da interação da unidade de controle e os demais


elementos do processador (Tabela 1) a seguir.

Tabela 1. Descrição das Entradas e Saídas da UC

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Para exemplificar a figura 2.3 e observar como é feito o controle pela UC, se considera um
ciclo de busca:
a) A UC mantém informação sobre o passo do ciclo de instrução que está sendo
executado;
b) Em um momento, ela saberá que o próximo ciclo a ser executado é um ciclo de busca;
c) O primeiro passo é transferir o conteúdo do registrador PC (Program Counter) para o
registrador MAR (Memory Address Register ou Registrador de Endereço de
Memória). Isso é feito quando a UC ativa o sinal abrindo as portas lógicas entre PC e
MAR;
d) O próximo passo é ler a palavra (dado) da memória para o registrador MBR (Memory
Buffer Register) e depois incrementar o PC.
Para o passo (d), os seguintes sinais de controle são enviados um:
1. Sinal para abrir as portas lógicas, que permite transferir o conteúdo do registrador MAR
para o barramento de endereço;
2. Sinal de leitura na memória, colocado no barramento de controle;
3. Sinal para abrir as portas lógicas, que permite que o conteúdo do barramento de dados
seja transferido para o registrador MBR;
4. Sinal de controle para comandar a operação de somar 1 ao conteúdo do PC,
armazenando o resultado no próprio PC (incremento).

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


2.3. Registradores e sua Organização
O Registrador é um tipo de memória de pequena capacidade, porém muito rápida, contida no
CPU, utilizada no armazenamento temporário durante o processamento.
Os registradores estão no topo da hierarquia (um sistema de computação possui uma hierarquia
de memória, nos níveis mais altos dessa hierarquia, a memória é mais rápida, mais cara e
menor), sendo assim, são o meio mais rápido e caro de se armazenar um dado e como se sabe,
está localizado dentro da CPU. Os registradores podem ser:
a) Registradores visíveis para o usuário: permite ao programador fazer acesso;
b) Registradores de controle e de estado: usados pela UC para controlar a operação da
CPU e por programas privilegiados do sistema operacional.
Um tipo importante de registradores visíveis ao usuário é o registrador de dados. Como o nome
indica, ele não pode conter valores empregados no cálculo de endereços de operandos, apenas
de dados.
Para que um dado possa ser transferido para ULA é necessário que ele permaneça armazenado
em um registrador. Além disso, o resultado de uma operação feita na ULA precisa ser
armazenado, de modo que possa ser reutilizada ou transferida para a memória.

Figura 2.4. Registradores de dados na área funcional do processador

Na figura 2.4, os registradores de dados estão representados por REG 0 até REG N (R0 até
R7). Já os registradores de controle e estado são os vários registradores da CPU que são
empregados para controlar a operação da CPU. Quatro destes registradores são essenciais para
a execução de instruções:
a) Contador de Programa (PC): contém o endereço da instrução a ser buscada;
b) Registrador de Instrução (IR): contém a última instrução buscada;
c) Registrador de Endereçamento à Memória (MAR): contém o endereço de uma
posição de memória;
d) Registrador de Armazenamento Temporário de Dados (MBR): contém uma
palavra de dados a ser escrita na memória ou a palavra lida mais recentemente.
O Contador de Programa (PC) é atualizado pela CPU depois de cada busca de instrução, de
modo que ele sempre indique a próxima instrução a ser executada e instrução buscada é
8

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


carregada no registrador de instrução (IR). A troca de dados com a memória é feita usando o
MAR e o MBR. O MAR está conectado diretamente ao barramento de endereços e o MBR,
ao barramento de dados.

Figura 2.5. Fluxo dos dados usando os registradores.

Observe a figura 2.5. O contador de programa (PC) contém o endereço da próxima instrução a
ser buscada. Esse endereço é movido para o MAR e colocado no barramento de endereço. A
UC requisita uma leitura na memória, e o resultado é colocado no barramento de dados e
copiado no MBR e então movido para o IR.
3. ARQUITECTURAS HARVARD versus VON NEUMAN
As arquiteturas Harvard e Von Neumann dizem respeito à forma como a memória é conectada
ao microprocessador.
Quando um sistema de processamento de dados (processadores e microcontroladores) possui
uma única área de memória na qual ficam armazenados os dados (variáveis) e o programa a ser
executado (software), se diz que esse sistema segue a arquitetura de Von Neuman.
No caso em que os dados (variáveis) ficam armazenados em uma área de memória e o programa
a ser executado (software) fica armazenado em outra área de memória, dizemos que esse
sistema segue a arquitetura Harvard.
A máquina proposta por Von Neuman é composta pelos seguintes componentes (Figura 3.1):
• Memória;
• Unidade de controle;
• Unidade Lógica e Aritmética (ULA);
• Registradores;
• Periféricos de entrada e saída.

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 3.1. Arquitetura Von Neuman

Conforme pode ser observado na figura 3.1, não existe separação entre dados e programa, uma
vez que há uma única área de memória. Dessa forma, o processador deve executar uma única
ação por vez: ou acessa os dados ou executa uma instrução.
Na arquitetura Harvard (figura 3.2) observamos dois barramentos distintos: um para acessar
a memória de dados e outro para acessar a memória de programas. Dessa forma, o processador
pode buscar e executar uma instrução ao mesmo tempo em que acessa a memória de dados
para ler ou para gravar algum valor. Veja a figura 3.2; nela é possível observar o barramento
de dados (Data Bus), em vermelho, partindo da memória RAM e seguindo até a Unidade
Lógica e Aritmética (ALU, em inglês). Na mesma figura, observa-se o barramento de programa
(Programm Bus) em azul, que parte da memória de programa e chega na ALU.
Devido à separação entre dados e programa, um processador da arquitetura Harvard executará
um programa em menor tempo do que um processador da arquitetura Von Neuman de mesmo
clock.

Figura 3.2. Arquitetura Harvard

10

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


3.1. Diferença entre Microcontrolador e Microprocessadores
Ambos realizam algumas operações que são, buscar as instruções da memória e executar estas
instruções (operações aritméticas ou lógicas) e o resultado dessas execuções são usados para
servir a dispositivos de saída. As instruções eletrónicas representadas por um grupo de bits são
sempre obtidas a partir de sua área de armazenamento, que se chama memória.
Portanto, o microprocessador é um circuito integrado responsável pelo processamento de
dados, como uma unidade lógica e aritmética, com diversos registradores especiais, mas precisa
receber ordens externas e ter outros componentes externos para funcionar.
Já o microcontrolador é um microprocessador, memória RAM, memória ROM,
temporizadores, contadores, porta serial, conversores e portas de I/O em um só circuito
integrado, ou seja, um microcomputador-de-um-só-chip.

4. SISTEMA DE MEMÓRIA
Como já foi estudado mais acima, através de dispositivos eletrônicos como os registradores,
podemos armazenar uma palavra de “n” bits. Memórias são dispositivos utilizados para
armazenar palavras binárias na ordem de centenas de milhares. Podem-se utilizar flip-flop’s
para o armazenamento em memórias ou outro dispositivo qualquer que sirva para este fim. Os
circuitos de memória normalmente têm as seguintes entradas e saídas:
• Algumas vias de entrada para gravação e/ou saídas para leitura (que fisicamente podem
ser as mesmas);
• Algumas vias para endereçamento, que selecionará qual registrador será lido/escrito,
de acordo com um código (endereço de memória);
• Um pino que habilita o circuito (Chip Select - CS). Se o circuito não estiver habilitado,
as saídas permanecem em alta impedância;
• Um pino de leitura/escrita, que habilita uma destas duas operações ou apenas leitura,
dependendo do tipo de memória.

4.1. Memória interna (ou primária)


As memórias em um computador estão dispostas de forma hierárquica, assim como acontece
nos barramentos. No topo dessa hierarquia estão os registradores do processador. Logo abaixo,
estão os níveis das memórias cache, variavelmente, divididos em L1, L2, L3 ou mais,
dependendo da arquitetura do processador. E por fim, estão as memórias de acesso aleatório,

11

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


muitas vezes chamada de memória principal. Essas são as memórias internas de um sistema de
computação.
a) Memória principal
O processador pode acessar imediatamente uma instrução após a outra, pois elas estão
armazenadas na memória. A memória especificada para armazenar o programa e os seus dados
é chamada de Memória Principal.
Uma característica importante das memórias RAM (memória de acesso aleatório) é a sua
volatilidade. Isso quer dizer que ela requer o fornecimento de energia constante para que os
dados fiquem armazenados na sua estrutura. Então, se diz que essa memória é utilizada para
armazenamento temporário de dados.
Existem duas tecnologias de memórias RAM que merecem ser citadas. São elas:
1. Memórias RAM dinâmicas ou DRAM: feitas de células que armazenam dados com
carga de capacitores. A ausência de carga no capacitor indica um bit 0 e a presença de
carga, bit 1. Um capacitor descarrega-se naturalmente, sendo necessário um circuito
especial que faz a regeneração periódica de seu conteúdo (chamado de refresh);
2. Memórias RAM estáticas ou SRAM: os valores binários são armazenados usando
flip-flops, mantendo seus dados enquanto houver fornecimento de energia.

b) Memória ROM
Com relação à volatilidade apresentada no texto, há uma pequena porção da memória principal
não volátil chamada de ROM, onde são armazenadas pequenas instruções executadas quando
o computador é ligado.
Em contraste com a memória RAM, existe a memória apenas para leitura (ROM ou Read Only
Memory). Esta memória contém um padrão permanente de dados que não pode ser alterado.
Uma ROM é fabricada como qualquer outra pastilha, cujos dados são gravados durante o
processo de fabricação. Esse processo é relativamente ruim, pois qualquer erro pode fazer com
que o lote gravado seja inutilizado. As memórias ROMs evoluíram no sentido de permitir
alterações pelas gravações por processos especiais.
Assim, surgiram os vários tipos de ROMs, que são:
Ø PROM (ROM Programável): é uma alternativa mais barata, uma vez que após o
processo de fabricação, o fornecedor ou o cliente pode gravar seu conteúdo (apenas
uma única vez, pois seu processo é irreversível) por um processo elétrico;
Ø EPROM (ROM Programável e Apagável): nela, os dados podem ser lidos e gravados
eletricamente, mas é utilizada uma luz ultravioleta para apagar seu conteúdo e permitir
uma nova escrita, contudo, para permitir a regravação do seu conteúdo, todos os dados
devem ser apagados antes de iniciar uma nova gravação;
Ø EEPROM (ROM Programável e Apagável Eletricamente): essa é uma memória
mais atraente por facilitar as regravações. Quaisquer dados podem ser gravados nessa
memória sem que seja necessário apagar todo o seu conteúdo, já que apenas os bytes
endereçados são atualizados;

12

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Ø Flash-ROM: é um tipo específico de memória EEPROM, em que são reprogramados
grandes blocos de dados. Nesse tipo de memória, todo o conteúdo é apagado antes de
haver uma nova reprogramação. O nome flash foi imaginado devido à elevada
velocidade de apagamento dessas memórias em comparação com as antigas EPROM e
EEPROM.

c) Memória cache
Uma memória principal possui característica de possuir grande capacidade, porém seu acesso
é relativamente lento. Dessa forma, essa memória é combinada com uma memória cache,
menor é mais rápida. Assim, na pirâmide da memória, logo abaixo dos registradores,
encontram-se as memórias cache.
O elo entre a memória principal (RAM) e a CPU tem um ponto frágil o ciclo de instrução é
muito mais rápido do que o ciclo de memória. Durante o ciclo de refresh nenhum dado pode
ser lido ou gravado na memória principal (RAM).
Na busca pela solução do problema do gargalo de congestionamento na comunicação entre o
processador e a memória principal, criou-se o mecanismo de memória cache, que tem por
função acelerar a velocidade de transferência entre CPU e memória principal.
Quando o processador deseja ler uma palavra da memória, é realizado um teste para verificar
se a palavra está na memória cache. Se estiver, ela é fornecida ao processador. Caso contrário,
um bloco de dados da memória principal (RAM) é lida para a memória cache.

Figura 4.1. Fluxo de dados entre memória cache e principal

Figura 4.2. Pirâmide de organização dos parâmetros das memórias

Observando a figura 4.2, podem concluir o seguinte:


13

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


a) Os registradores são as memórias mais rápidas, porém de menor capacidade;
b) A memória cache são mais rápidas do que a memória principal, porém menos rápidas
do que os registradores. Possuem também alta velocidade de acesso e baixa capacidade
de armazenamento nos níveis mais altos da hierarquia;
c) Na organização da memória interna, a memória principal tem a maior capacidade de
armazenamento e a menor velocidade de acesso;
d) A memória externa (representada pelos discos magnéticos e ópticos – que serão vistos
na próxima aula) tem alta capacidade de armazenamento e baixa velocidade de acesso.

4.2. Sinais de Controle entre microprocessador e Memória


Para que o microprocessador possa se comunicar com as memórias são necessários alguns
sinais de controle:
• Endereços: Esse conjunto de sinais serve para localizar a informação dentro da
memória.
• Dados: Trata-se normalmente de 8 bits que conduzirão o byte lido da memória para o
microprocessador ou do microprocessador para a memória.
• RD (Read): Sinal enviado pelo microprocessador requisitando que a memória coloque
no barramento de dados o byte previamente endereçado. O microprocessador lê esse
byte e logo após desativa o sinal RD.
• WR (write): Sinal enviado pelo microprocessador requisitando que a memória
armazene o byte presente no barramento de dados no endereço presente no barramento
de endereços (o byte e o endereço já devem estar preparados antes da ativação deste
sinal).

4.3. Memória externa (ou secundária)


Os discos magnéticos são ainda os componentes mais importantes da memória externa. Esses
tipos de discos são usados desde computadores pessoais simples até supercomputadores. O
principal atrativo é a sua ampla capacidade de armazenamento. Outros dispositivos largamente
utilizados como memória de armazenamento secundário e como armazenamento de segurança
(backup) são os discos ópticos CDs e DVDs.

4.4. Entrada e Saída (E/S)


Além dos componentes até agora apresentados (como processador e memória), um terceiro
elemento é fundamental na composição do sistema: os módulos de E/S. Cada módulo se
conecta ao barramento do sistema, podendo controlar um ou mais dispositivos periféricos. O
módulo de E/S vai além de ser apenas um conjunto de conectores e cabos que ligam o
dispositivo ao barramento, ele possui lógica associada para exercer o controle sobre os
dispositivos periféricos.

14

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 4.3. Exemplo de modelo de um módulo de E/S

Os periféricos não são ligados diretamente ao barramento do sistema pelos seguintes motivos:
1. A grande variedade de periféricos com diferentes mecanismos de operação torna
impraticável incorporar ao processador toda a lógica necessária;
2. A taxa de transferência de dados dos periféricos é muito menor do que a taxa de
transferência de dados da memória ou da CPU, tornando inviável o uso do barramento
do sistema para comunicação direta com os dispositivos periféricos;
3. Os formatos de dados e tamanhos das palavras dos periféricos são usualmente
diferentes dos usados no computador ao qual estão conectados.
Para resolver os problemas de comunicação com o barramento, o módulo de E/S fornece uma
interface com o processador e a memória e permite também interfaces com um ou mais
dispositivos periféricos.
4.5. Dispositivos externos
Os dispositivos externos oferecem um meio de troca de dados entre o ambiente externo e o
computador. A conexão, como já sabemos, é feita através de um módulo de E/S.
Os dispositivos externos podem ser classificados em três categorias:
a) Voltados para a comunicação com o usuário: podemos citar aqui os monitores,
terminais de vídeo, impressoras, teclados, mouse, dentre outros;
b) Voltados para a comunicação com a máquina: discos magnéticos (discos rígidos) e
discos ópticos são exemplos. É importante lembrar que, nesse momento, o ponto de
vista das unidades é estrutural, ou seja, a forma como eles são controlados pelos
módulos de E/S. Do ponto de vista de hierarquia, eles já foram apresentados como
memória externa;
c) Voltados para a comunicação com dispositivos remotos: redes de computadores
usando interfaces de rede ou modem podem servir de exemplo.

15

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 4.4. Modelo Geral de um Dispositivo Externo

Na figura 4.4 se pode descrever detalhes da interação do dispositivo externo com o módulo de
E/S. A interface com o módulo de E/S é formada de sinais de controle, estado e dados. Observe:
a) Os sinais de controle determinam a função a ser executada pelo dispositivo (como
enviar dados para o módulo de E/S – realizando um INPUT – ou receber dados do
módulo de E/S – realizando um OUTPUT);
b) Os sinais de estado indicado o status do dispositivo, como por exemplo, se ele está
pronto ou não (ligado, desligado, ocupado);
c) Os sinais de dados formam o conjunto de bits a serem enviados para o módulo de E/S
ou recebido dele.

5. APLICAÇÕES DOS MICROCONTRALADORES


Os microcontroladores são aplicado em praticamente todos os dispositivos eletrónicos digitais
que nos cercam, como por exemplo, centrais de alarme, teclados do computador, monitores,
discos rígidos de computador, relógio de pulso, máquinas de lavar, forno de micro-ondas,
telefones públicos, rádios, televisores, automóveis, aviões, impressoras, marca passos,
calculadores, semáforos, balanças eletrónicas, microterminais, controle de carregadores de
baterias, inversores eletrónicos, controles de acesso, taxímetros, sistemas de aquisição de dados
de manufatura e eletrodomésticos etc. Microcontroladores também são muito utilizados na
indústria, como por exemplo nos controladores de processos, sensores inteligentes, inversores,
interfaces homem máquina, controladores lógicos programáveis, balanças, indicadores digitais,
etc.
Devido a sua grande versatilidade e ao seu baixo custo, praticamente qualquer dispositivo
eletrónico pode fazer uso dos microcontroladores. A figura 5.1 mostra algumas aplicações dos
microcontroladores em um automóvel.

16

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


Figura 5.1. Aplicações dos Microcontroladores.

6. OS MICROCONTROLADORES DA FAMILIA 8051 (figura 6.1)


Diversos fabricantes produzem microcontroladores da família 8051 (Intel, AMD, Atmel,
Dallas, OKI, Matra, Philips, Siemens, SMC, SSI). A Intel iniciou a produção do 8051 na década
de 80. Em 1982 foram produzidos 2 milhões de unidades, em 1985 foram 18 milhões e em
1993, 126 milhões. A tendência atual é uma participação crescente dos microprocessadores de
8 bits e uma diminuição da fatia de mercado dos microcontroladores de 4 bits.
Além do 8051 propriamente dito, existem variantes como o 8031 (sem memória ROM interna
e com apenas 128 bytes de memória RAM), o 8751 (4 kB de memória EPROM) e o 8052 (8
kB de memória ROM, um terceiro timer e 256 bytes de memória RAM).

Figura 6.1. Placa de um Microcontrolador 8051.

O 8051, como representante básico de família, contem internamente (figura 6.2):


• Frequência de clock de 12 MHz, com algumas versões que alcançam os 40 MHz;
• RAM interna de uso geral sw 128 bytes e 128 bytes correspondentes aos registradores
especiais;
17

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


• ROM interna de 4 Kbytes;
• 4 Portas bidirecionais de I/O, cada uma com 8 bits individualmente endereçáveis; duas
dessas portas (P0 e P2) e parte de uma terceira (P3) ficam comprometidas no caso de
se utilizar qualquer tipo de memória externa;
• 2 Timers de 16 bits (2 Temporizadores/Contadores de 16 bits);
• 1 Interface Serial (canal de comunicação serial);
• Capacidade de 64 Kbytes de endereçamento externo de ROM;
• Capacidade de 64 Kbytes de endereçamento externo de RAM;
• 5 fontes de interrupção (dois timers, dois pinos externos e o canal de comunicação
serial) com 2 níveis de prioridade selecionáveis por software;
• Oscilador de clock interno.

Figura 6.2. Características do 8051

6.1. Hardware do Microcontrolador 8051/8052/80550 (figura 2)

Figura 6.2. Hardware do microcontrolador.


18

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


O aspecto externo do 8051 é o da figura 6.3. Os pinos com nomes da forma P0.0, P0.1, etc.
correspondem às quatro portas de E/S (P0 a P3). Note a dupla utilidade das portas P0 e P2, que
ficam comprometidas com o uso de memória externa, assim como os pinos P3.6 e P3.7. O sinal
ALE (Address Latch Enable) permite fazer a demultiplexação de dados e endereços na porta
P0.
%%%%%%%% (program storage enable), o controlador informa o mundo externo se a
Através do sinal 𝑃𝑆𝐸𝑁
operação em andamento é uma leitura de instrução (acesso à memória de programa) ou um
acesso à memória de dados. Este sinal permite que o processador tenha duas regiões distintas
de memória externa, uma para armazenar código e outra para dados. Ambas ocupam os
endereços de 0 a FFFFH (64 kB), num total de 128 kB.

Figura 6.3.

O pino %%%%
𝐸𝐴 é um sinal de entrada, através do qual o usuário escolhe se será utilizada a memória
ROM interna ou se todo o programa será armazenado externamente.
Os pinos da porta P3 também são utilizados para realizar certas funções especiais:
• P3.0 - RxD/data: recepção serial assíncrona ou E/S de dados síncronos;
• P3.1 - TxD/clock: transmissão porta serial assíncrona ou saída de clock p/ dados
síncronos;
• P3.2 - INT0: entrada da interrupção 0 ou bit de controle para o temporizador/contador
0;
• P3.3 - INT1: entrada da interrupção 1 ou bit de controle para temporizador/contador ;
• P3.4 - T0: entrada de clock externo para o temporizador/contador 0;
• P3.5 - T1: entrada de clock externo para o temporizador/contador 1;
• P3.6 – WR: sinal de escrita na memória de dados externa;
• P3.7 – RD: sinal de leitura na memória de dados externa.
A alimentação (5V) é feita pelo pino 40 e o GND é o pino 20. O cristal para o oscilador interno
é conectado aos pinos 18 e 19 (XTAL2 e XTAL1). Finalmente, o pino 9, RST/VPD, é a entrada
de reset.

6.2. Descrição dos pinos


• Pino 1 a Pino 8 (Porta 1, P1.0 a P1.7): pino 1 a pino 8 são atribuídos à Porta 1 para
operações de E/S simples. Eles podem ser configurados como pinos de entrada ou saída,
dependendo do controle lógico, ou seja, se a lógica zero (0) for aplicada à porta de E/S,
19

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


ela atuará como um pino de saída e se a lógica um (1) for aplicada, o pino atuará como
um pino de entrada. Esses pinos também são chamados de P1.0 a P1.7 (onde P1 indica
que é um pino na porta 1 e o número após '.' Informa o número do pino da porta, ou
seja, 0 indica o primeiro pino da porta. Portanto, P1. 0 significa primeiro pino da porta
1, P1.1 significa segundo pino da porta 1 e assim por diante). Esses pinos são pinos
bidirecionais.
• Pino 9 (RST): reinicialize o pino. É um pino de entrada activo-alto. Portanto, se o pino
RST estiver alto por um mínimo de 2 ciclos da máquina, o microcontrolador será
reiniciado, ou seja, ele fechará e encerrará todas as actividades. É frequentemente
referido como pino “power-on-reset” porque é usado para reiniciar o microcontrolador
em seus valores iniciais quando a energia está ligada (alta).
• Pino 10 a pino 17 (porta 3, P3.0 a P3.7): os pinos 10 a 17 são pinos da porta 3, também
chamados de P3.0 a P3.7. Esses pinos são semelhantes à porta 1 e podem ser usados
como pinos de entrada ou saída universais. Esses pinos são pinos bidirecionais. Esses
pinos também têm algumas funções adicionais, que são as seguintes:
i) P3.0 (RXD): o 10º pino é RXD (pino de recepção de dados seriais) que é para entrada
serial. Através deste sinal de entrada, o microcontrolador recebe dados para
comunicação serial.
ii) P3.1 (TXD): o 11º pino é TXD (pino de transmissão de dados serial), que é o pino
de saída serial. Através deste sinal de saída, o microcontrolador transmite dados
para comunicação serial.
iii) P3.2 e P3.3 (𝑰𝑵𝑻𝟎 %%%%%%%, 𝑰𝑵𝑻𝟏
%%%%%%%): 12º e 13º pinos são para Interrupção de Hardware
Externo 0 e Interrupção 1, respectivamente. Quando esta interrupção é ativada (ou
seja, quando é baixa), 8051 é interrompido em tudo o que está fazendo e salta para
o valor do vetor da interrupção (0003H para %%%%%%% 𝑰𝑵𝑻𝟎 e 0013H para %%%%%%%
𝑰𝑵𝑻𝟏) e começa
a executar a rotina de serviço de interrupção (ISR) a partir desse localização do
vetor.
iv) P3.4 e P3.5 (T0 e T1): 14º e 15º pinos são para entrada externa do Timer 0 e Timer
1. Eles podem ser conectados com temporizador/contador de 16 bits.
v) P3.6 (𝑾𝑹 %%%%%): 16º pino é para gravação na memória externa, ou seja, gravação de
dados na memória externa.
vi) P3.7 (𝑹𝑫 %%%%%): o 17º pino é para leitura de memória externa, ou seja, leitura de dados
de memória externa.
• Pino 18 e pino 19 (XTAL2 e XTAL1): esses pinos são conectados a um oscilador
externo que geralmente é um oscilador de cristal de quartzo. Eles são usados para
fornecer uma frequência de clock externo de 4 MHz a 30 MHz.
• Pino 20 (GND): este pino é conectado ao aterramento. Deve ser fornecido com
alimentação 0V. Portanto, ele é conectado ao terminal negativo da fonte de alimentação.
• Pino 21 ao pino 28 (porta 2, P2.0 a P2.7): o pino 21 ao pino 28 são pinos da porta 2,
também chamados de P2.0 a P2.7. Quando a memória externa adicional faz interface
com o microcontrolador 8051, os pinos da porta 2 atuam como bytes de endereço de
ordem superior. Esses pinos são bidirecionais.
• %%%%%%%%): 𝑃𝑆𝐸𝑁
Pin 29 (𝑷𝑺𝑬𝑵 %%%%%%%% significa Program Store Enable. É a saída, pino ativo-baixo.
Isso é usado para ler a memória externa. No sistema baseado em 8031 onde a ROM
externa contém o código do programa, este pino é conectado ao pino OE da ROM.

20

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG


• Pino 30 (ALE/PROG): ALE significa Habilitação de trava de endereço. É uma
entrada, pino alto ativo. Este pino é usado para distinguir entre os chips de memória
quando vários chips de memória são usados. Também é usado para desmultiplexar o
endereço multiplexado e os sinais de dados disponíveis na porta 0. Durante a
programação flash, isto é, Programação de EPROM, este pino atua como entrada de
pulso de programa (PROG).
• Pino 31 (𝑬𝑨 %%%%/VPP): %%%%
𝐸𝐴 significa entrada de acesso externo. É usado para
activar/desativar a interface de memória externa. No 8051, o %%%%
𝐸𝐴 é conectado ao Vcc,
pois vem com ROM on-chip para armazenar programas. Para outros membros da
família, como 8031 e 8032, nos quais não há ROM no chip, o pino EA é conectado ao
GND.
• Pino 32 ao pino 39 (porta 0, P0.0 a P0.7): o pino 32 ao pino 39 são pinos da porta 0
também chamados de P0.0 a P0.7. Eles são pinos de entrada/saída bidirecionais. Eles
não têm pull-ups internos. Portanto, registros pull-up são usados como pull-ups
externos. A porta 0 também é designada como AD0-AD7 porque o 8051 multiplexa o
endereço e os dados por meio da porta 0 para salvar os pinos.
• Pino 40 (VCC): este pino fornece tensão de alimentação, ou seja, +5 Volts para o
circuito.

Homework
1. Como atividade de aprendizagem desta aula, procure identificar nos equipamentos
eletroeletrônicos de sua casa aqueles que utilizam microcontroladores. Após, faça uma
lista dos mesmos e envie-as para o e-mail do seu professor.

2. Responda também às seguintes questões:


a) Quais são as principais diferenças entre um microcontrolador e um microprocessador?
b) Quais são as principais vantagens da arquitetura Harvard?

Bibliografia:
• The 8051 Microcontroller.

21

Compilado e Desenvolvido por Prof. Eng. Francisco Capassola | CEPG

Você também pode gostar