Você está na página 1de 8

o indicador de endereo da memria de programa.

Ele serve para


MICROCONTROLADOR RESPOSTA DOS EXERCCIOS
enderear a prxima instruo a ser lida pelo microprocessador.
QUESTO 1: Toda memria precisa de informaes de endereo,
QUESTO 7: Qual a diferena bsica entre um microcontrolador
de dados e de controle para funcionar adequadamente, ento, o
e um microprocessador?
que difere uma memria RAM de uma memria ROM?
O microcontrolador corresponde a um microprocessador e seus
RAM ROM perifricos tpicos, todos juntos num s chip.
QUESTO 8: Quais so as vantagens de um microcontrolador
Memria voltil Memria no voltil
com relao lgica fixa?
Memria de dados Memria de programa Dependendo da complexidade, o uso de um microcontrolador
bem menor do que a implementao de uma lgica fixa;
Escrita e Leitura Leitura
Confivel
QUESTO 2: Que barramento define a capacidade do Flexvel
microcontrolador: dados ou endereos? Qual o setor interno do
microcontrolador que realmente define a sua capacidade de QUESTO 9: Desenhe o bsico da arquitetura interna de um
processamento (8 bits, no caso)? microcontrolador 8051.

Resposta 1: Barramento de Dados.


Resposta 2: CPU
QUESTO 3: A freqncia do oscilador representa a velocidade
do microcontrolador? Por qu?
Sim. Porque ele gera o marca passo da CPU, que permite que o
microprocessador realize as suas tarefas internas e externas de
maneira sincronizada e com velocidade predeterminada.
QUESTO 4: Qual a funo do RESET?
O circuito de RESET faz a CPU iniciar suas rotinas internas e realizar
tambm a primeira leitura de instruo no endereo 0000h.
QUESTO 5: A Unidade Lgica e Aritmtica (ULA) tem que
funo? Quais as funes bsicas que ela pode realizar em sua
opinio?
Realizar as operaes de lgica, aritmtica e deciso/comparao.
Multiplicar, dividir, comparar, Lgicas OR, AND, etc. QUESTO 10: Desenhe o microcontrolador 8051 com uma
memria de programa e uma memria de dados externa,
QUESTO 6: O Contador de Programa (PC) tem que funo?
explicando o funcionamento do circuito.
A CPU gera um pulso no pino /RD, fazendo com que o contedo
armazenado no endereo ADDR da memria de dados (RAM) seja
disponibilizado para leitura.
A CPU l o byte disponibilizado pela EPROM atravs do PORT P0.
ACESSO A MEMRIA DE DADOS (ESCRITA):
A CPU disponibiliza o endereo menos significativo (byte) no
PORT P0
A CPU gera um pulso no pino ALE, fazendo com que o contedo
disponibilizado no PORT P0 seja armazenado no LATCH,
constituindo a parte menos significativa do ADDR.
A CPU disponibiliza o endereo mais significativo (byte) no PORT
ACESSO A MEMRIA DE PROGRAMA: P2, montando um ADDR de 16bits.
A CPU disponibiliza o endereo menos significativo (byte) no A CPU disponibiliza no PORT P0 o dado a ser gravado.
PORT P0
A CPU gera um pulso no pino /WR, fazendo com que o contedo
A CPU gera um pulso no pino ALE, fazendo com que o contedo disponibilizado no PORT P0 seja armazenado no endereo ADDR.
disponibilizado no PORT P0 seja armazenado no LATCH,
constituindo a parte menos significativa do ADDR. QUESTO 11: Descreva o PORT P3, quando ele usado para
comunicao com a memria externa e com perifricos.
A CPU disponibiliza o endereo mais significativo (byte) no PORT
P2, montando um ADDR de 16bits. Quando se utiliza memria externa RAM, dois pinos do PORT P3 so
utilizados para habilitar leitura e escrita nesta memria, sendo assim,
A CPU gera um pulso no pino /PSEN, fazendo com que o restaro somente 6 pinos deste PORT para uso com perifricos de
contedo armazenado no endereo ADDR da memria de I/O,
programa (EPROM) seja disponibilizado para leitura.
QUESTO 12: Qual o motivo bsico do PORT P0 ser
A CPU l o byte disponibilizado pela EPROM atravs do PORT P0. multiplexado entre a funo de endereos menos significativos
e dados? Para que serve o pino ALE?
ACESSO A MEMRIA DE DADOS (LEITURA):
Economia de pinos no microcontrolador. O pino ALE comanda a
A CPU disponibiliza o endereo menos significativo (byte) no
demultiplexao das informaes de dados e endereos (menos
PORT P0
significativo) do PORT P0.
A CPU gera um pulso no pino ALE, fazendo com que o contedo
QUESTO 13: Como funciona / qual a finalidade dos pinos /PSEN,
disponibilizado no PORT P0 seja armazenado no LATCH,
/RD e /WR?
constituindo a parte menos significativa do ADDR.
O pino /PSEN aciona a ROM/EPROM externa quando o
A CPU disponibiliza o endereo mais significativo (byte) no PORT microcontrolador vai fazer uma busca de instruo na ROM, para, em
P2, montando um ADDR de 16bits. seguida, executa-la.
O pino /WR usado quando o microcontrolador vai escrever na QUESTO 17: Por que o registrador ACC (acumulador) to
memria RAM externa. popular se ele em tese, igual a qualquer outro registrador?
O pino /RD usado quando o microcontrolador vai ler dna memria Por que o registrador que se utiliza como operando em vrias
RAM externa. instrues do microcontrolador. tambm onde fica o resultado de
vrias operaes realizadas.
QUESTO 14: Escreva sobre os pinos do PORT P3 citados a
seguir nas funes solicitadas: QUESTO 18: O que DPTR? Qual a sua funo?
a) P3.2 e P3.3 - Interrupo um registrador de 16 bits formado pela juno dos registradores
DPL (8 bits menos significativos) e DPH (8 bits mais significativos) que
P3.2 Pino de entrada de interrupo /INT0 usado para algum
permite o endereamento de at 64k bytes.
evento externo interromper o microcontrolador.
QUESTO 19: Descreva sobre os registradores dos bancos 0 a 3,
P3.3 Pino de entrada de interrupo /INT1 usado para algum
os registradores de bits endereveis e os registradores
evento externo interromper o microcontrolador.
especiais. (RAM)
b) P3.4 e P3.5 Contagem externa
Registradores dos Bancos 0 a 3:
P3.4 Pino de entrada para o Timer 0 usado quando se quer que o
Timer 0 se torne um contador de eventos externos. Cada banco possui 8 registradores classificados de R0 a R7.

P3.5 Pino de entrada para o Timer 1 usado quando se quer que o A escolha do Banco de Registradores se d atravs dos bits RS1 e
Timer 1 se torne um contador de eventos externos. RS0 do registrador de Status PSW

c) P3.0 e P3.1 Comunicao Serial Cada registrador de cada banco tambm pode ser acessado
atravs do seu endereo absoluto.
P3.0 Pino de Entrada RXD (Recepo de Dados) Usado como
receptor de dados serial. Estes registradores vo do endereo 00h at 1Fh do endereo
interno.
P3.1 Pino de Sada TXD (Transmisso de Dados) Usado como
Transmissor de dados serial. Registradores de bits endereveis:
QUESTO 15: Qual a funo do pino /EA? Explique. Estes registradores vo do endereo 20h at 2Fh do endereo
interno.
um pino de comando externo que determina se ser utilizada a
memria de programa interna do chip (/EA = 0) ou memria de Eles tambm so bits endereveis, indo do endereo de bit 00h
programa externa do chip (/EA=1). at o endereo de bit 7Fh.
QUESTO 16: Qual a capacidade mxima de endereamento de Registradores de uso geral:
EPROM e RAM externa da famlia 8051? E a RAM interna? Por Estes registradores vo do endereo 30h at 7Fh do endereo
qu? interno
A capacidade mxima de endereamento de EPROM e RAM externa
Estes registradores so somente endereveis por byte.
na famlia 8051 so de 64K bytes devido ao barramento de endereo
possuir 16 bits. Para a RAM interna tem-se 256 bytes devido ao Registradores de Funes Especiais:
barramento de endereos serem de 8 bits.
Estes registradores possuem configuraes especficas dentro do A famlia de microcontroladores 8051 possui 4 PORTS denominados
microcontrolador. de P0, P1, P2 e P3.
Alguns possuem bits endereveis, outro no. PORT P0:
QUESTO 20: Descreva sobre o registrador PSW. uma estrutura de PORT bidirecional.
Endereo na memria RAM  D0h multiplexado entre dados e endereos quando se utiliza
memria externa.
Bit 7  PSW.7  Bit de CARRY  o indicador de vai um em
operaes aritmticas: vai 1 quando uma soma com ACC estoura Quando utilizado como PORT, como se ele fosse dreno
na sua capacidade. aberto, isto , devem-se colocar resistores de pull-up em cada
pino. Quando utilizado apenas para controle de memria
Bit 6  PSW.6 Auxiliar CARRY  um indicador que vai um externa, esses resistores no so necessrios e neste caso o
entre os quatro primeiros bits do acumulador (A ou ACC). muito PORT P0 visto como um PORT tri-state.
til em aritmtica BCD.
PORTS P1, P2 e P3
Bit 5  PSW.5  Flag 0  um bit de uso geral e no tem
nenhuma funo especial. Estes PORTS tm configurao similar ao PORT P0, s que so
quase bidirecionais, pois tem resistores internos de pull-up e,
Bit 4 e Bit 3 PSW.4 e PSW.3  RS1 e RS0  So dois bits que logo, nunca ficaro realmente em tri-state.
fazem mudar o banco de registradores a que se referem os nomes
R0 a R7. QUESTO 23: Descreva sobre o circuito de clock da famlia 8051.
Poder ser utilizado outro circuito oscilador alm do conhecido
Bit 2  PSW.2  OVERFLOW (OV)  o bit que vai para 1 cristal?
quando, aps uma adio ou subtrao, acontece um estouro da
conta, ou seja, resultado maior que 127 ou menor que -128. O circuito de clock o relgio interno do microprocessador para a
execuo seqencial de qualquer atividade interna ou externa
Bit 1  PSW.1  Bit no disponvel ao usurio. mquina. Ele na maior parte das vezes constitudo de um cristal
Bit 0  PSW.0  Bit de PARITY (paridade)  Este bit setado oscilador e dois capacitores, porm, em alguns casos podero ser
para 1 quando a paridade do acumulador mpar (nmero de 1 utilizados outros circuitos osciladores geradores de clock conectados
igual a uma quantidade mpar) ou zero quando a paridade do ao microcontrolador.
acumulador par (nmero de 1 igual a uma quantidade par). QUESTO 24: Desenhe um ciclo de mquina completo. Cada
QUESTO 21: Qual a diferena e a funo das instrues: pulso P1 ou P2 do ciclo de mquina corresponde a que
freqncia?
MOV A,R0  Move o contedo do registrador R0 para o acumulador.
MOV A,00H  Move o contedo do endereo de memria 00h para o
acumulador.
MOV A,#00H  Carrega o registrador acumulador com o valor 00h.
QUESTO 22: Quantos PORTS possuem os microcontroladores
da famlia 8051? Cite suas caractersticas eltricas.
O PC, o acumulador, o registro B, os flags, o DPTR e todos os
registros dos temporizadores/contadores so ZERADOS.
No Stack Pointer, colocado o valor 07.
As portas P0 a P3 tero valor FFH
O SBUF (Buffer serial) estar com contedo indeterminado e o
registro de controle da porta serial (SCON) ser zerado
O registro PCON ter apenas seu bit mais significativo zerado
E finalmente os registros de controle de interrupo (EI e IP) tero
ambos o valor binrio XXX00000
Se tiver um cristal de 12Mhz:
A RAM interna no afetada pelo RESET forado.
Ciclo de Mquina =
Observao: Durante o reset, o nvel lgico dos pinos
12x(Perodo do Clock)=12x(1/(12.106))=1s indeterminado, indo a nvel lgico 1 aps a execuo da rotina interna
QUESTO 25: Com um clock de 6MHz, que perodo ter de ciclo de reset, de tal forma que devemos prever esta situao no projeto do
de mquina? hardware, para evitar acionamento indesejvel de qualquer perifrico.
Se tiver um cristal de 6Mhz: QUESTO 28: Qual a diferena bsica, no circuito interno, dos
PORTS P1, P2 e P3, com relao ao P0?
Ciclo de Mquina =
Os PORTs P1, P2 e P3 possuem resistor de pull-up, o que o PORT
12x(Perodo do Clock)=12x(1/(6.106))=2s P0 no tem.
QUESTO 26: De que se constitui um estado? QUESTO 29: Qual a diferena entre ler o pino e ler o
Um estado constitudo por dois pulsos de clock. latch? Explique.
QUESTO 27: Desenhe um sistema tpico de reset do 8051. No Existem instrues que lem o contedo armazenado no latch Px.i;
reset os PORTs P0, P1, P2 e P3 ficam com Vcc ou Vss? E o elas acionam o sinal l latch e assim lem a sada Q do latch.
PROGRAM COUNTER? Existem instrues que lem o estado diretamente do pino. Note que
muitas vezes o valor de Q 1, porm, o pino Px.i (que tambm ter
valor 1 escrito) est excitando uma base de um transistor que,
portanto, gerar um valor de tenso muito baixo nesse pino, que se for
lido diretamente, ir mascarar seu real valo 1, pois, ter-se-ia um 0
nesse pino.
QUESTO 30: Que instrues quando aplicadas sobre os PORTs
podem causar problemas?
INC, DEC, CPL, JBC, DJNZ, ANL, ORL E XRL, pois, lem o latch.

O reset nos 8051 ativo quando o pino 9 (RST) permanecer em nvel


alto por 2 ou mais ciclos de mquina.
QUESTO 31: Analise o SET de instrues do microcontrolador O contedo da posio de memria RAM interna com endereo
da famlia 8051, e apresente com explicao quelas que direct2 copiado para outra posio da memria interna cujo
estudamos. endereo direct1
Instrues para Movimentao de Dados
MOV direct,@Ri
Uma posio de memria RAM interna, cujo endereo direct, recebe
MOV A, Rn
um dado endereado pelo contedo de R0 ou R1
Acumulador recebe o contedo do registrador
(A) (Rn)
MOV direct,#data
Uma posio de memria RAM interna, cujo endereo direct, recebe
MOV A, direct
data.
Acumulador recebe um byte da memria RAM interna cujo endereo
direct
MOV @Ri,A
O contedo do acumulador copiado para uma posio de memria
MOV A, @Ri
RAM interna cujo endereo o contedo de R0 ou R1
Acumulador recebe um dado da memria RAM interna endereado
pelo contedo de R0 ou R1
MOV @Ri,#data
MOV A,#data
data copiado para uma posio de memria RAM interna cujo
Acumulador recebe data (A)data
endereo o contedo de R0 ou R1
MOV Rn,A
Instrues para Manipulao de Bits
Registrador recebe o contedo de A
CLR bit
MOV Rn, direct
Zera o bit em uma posio de memria RAM interna com bits
Registrador recebe um byte da memria RAM interna cujo endereo
endereveis.
direct
SETB bit
MOV Rn,#data
Acerta em 1o bit em uma posio de memria RAM interna com bits
Registrador recebe data (Rn)data
endereveis.
MOV direct,A
JB bit,rel
O contedo de A copiado numa posio da memria RAM interna
Desvia se o bit estiver em 1 If (bit)=1 then (PC)(PC)+rel
cujo endereo direct
JNB bit,rel
MOV direct,Rn
Desvia se o bit estiver em 0 If (bit)=0 then (PC)(PC)+rel
O contedo de Rn copiado numa posio de memria RAM interna
cujo endereo direct
Instrues para Desvio
MOV direct1,direct2
ACALL addr11
Desvia para uma subrotina. Essa subrotina deve estar no mximo a d) MOV A,@R0
1Kbytes de distncia do ponto de chamada
Move o contedo do endereo apontado por R0 para o acumulador
LCALL addr16 e) MOV A,#00h
Desvia para uma subrotina. Move o dado 00h para o acumulador.
RET f) LCALL DESVIO
Retorna de uma subrotina. Chama a subrotina DESVIO para ser executada
AJMP addr11 g) JMP @A+DPTR
Desvia para uma rotina. Essa rotina deve estar no mximo a 1Kbytes Desvio incondicional. Desvia a execuo do programa para o
de distncia do ponto de chamada endereo apontado pelo acumulador somado ao valor do DPTR
LJMP addr16 h) SJMP DESVIO
Desvia para uma rotina. Desvio incondicional. Desvia a execuo do programa para o
endereo do LABEL DESVIO.
SJMP rel
Desvia para uma rotina. Essa rotina deve estar no mximo a 128 bytes i) SETB 20h
de distncia do ponto de chamada Liga o bit de endereo 20h

CJNE A,direct,rel j) MOV DPTR,#1F00h


Desvia para a rotina se o contedo de A e direct forem diferentes. Move para o DPTR o valor #1F00h

CJNE A,#data,rel k) DJNZ R0,DESVIO


Desvia para a rotina se o contedo de A no for igual a data. Decrementa o valor de R0 e desvia a execuo do programa para o
endereo do LABEL DESVIO se este valor no der zero.
CJNE Rn,#data,rel
Desvia para a rotina se o contedo de Rn e data for diferente. QUESTO 33: Qual a instruo de retorno de um CALL
(chamada de subrotina)?
QUESTO 32: Descreva a funo de cada instruo apresentada
a seguir: RET

a) MOV A, R3 QUESTO 34: Se R1=33h e A=22h, aps a instruo MOV A,R1


como ficam os contedos de R1 e A?
Move o contedo do registrador R3 para o acumulador
R1 = 33h
b) MOV B, #23h
A = 33h
Move o dado 23h para o acumulador.
QUESTO 35: Se o registrador 20h (registrador de bit
c) MOV B,23h enderevel) tem o valor 10h. Com que valor ele ficar aps a
Move o contedo do endereo 23h para o registrador B instruo SETB 00h?
Ele ficar com o valor 11h.
QUESTO 36: Qual a diferena bsica entre as instrues
SJMP, AJMP e LJMP?
AJMP addr11
Desvia para uma rotina. Essa rotina deve estar no mximo a 1Kbytes
de distncia do ponto de chamada

LJMP addr16
Desvia para uma rotina.

SJMP rel
Desvia para uma rotina. Essa rotina deve estar no mximo a 128 bytes
de distncia do ponto de chamada

Você também pode gostar