You are on page 1of 8

MICROCONTROLADOR RESPOSTA DOS EXERCCIOS QUESTO 1: Toda memria precisa de informaes de endereo, de dados e de controle para funcionar adequadamente,

, ento, o que difere uma memria RAM de uma memria ROM? RAM Memria voltil Memria de dados Escrita e Leitura ROM Memria no voltil Memria de programa Leitura

o indicador de endereo da memria de programa. Ele serve para enderear a prxima instruo a ser lida pelo microprocessador. QUESTO 7: Qual a diferena bsica entre um microcontrolador e um microprocessador? O microcontrolador corresponde a um microprocessador e seus perifricos tpicos, todos juntos num s chip. QUESTO 8: Quais so as vantagens de um microcontrolador com relao lgica fixa? Dependendo da complexidade, o uso de um microcontrolador bem menor do que a implementao de uma lgica fixa; Confivel Flexvel

QUESTO 2: Que barramento define a capacidade do microcontrolador: dados ou endereos? Qual o setor interno do microcontrolador que realmente define a sua capacidade de processamento (8 bits, no caso)? 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 6: O Contador de Programa (PC) tem que funo?

QUESTO 9: Desenhe o bsico da arquitetura interna de um microcontrolador 8051.

QUESTO 10: Desenhe o microcontrolador 8051 com uma memria de programa e uma memria de dados externa, 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. 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 P2, montando um ADDR de 16bits. A CPU disponibiliza no PORT P0 o dado a ser gravado. A CPU gera um pulso no pino /WR, fazendo com que o contedo disponibilizado no PORT P0 seja armazenado no endereo ADDR.

ACESSO A MEMRIA DE DADOS (ESCRITA):

ACESSO A MEMRIA DE PROGRAMA: 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 P2, montando um ADDR de 16bits. A CPU gera um pulso no pino /PSEN, fazendo com que o contedo armazenado no endereo ADDR da memria de programa (EPROM) seja disponibilizado para leitura. A CPU l o byte disponibilizado pela EPROM atravs do PORT P0. 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 P2, montando um ADDR de 16bits.

QUESTO 11: Descreva o PORT P3, quando ele usado para comunicao com a memria externa e com perifricos. Quando se utiliza memria externa RAM, dois pinos do PORT P3 so utilizados para habilitar leitura e escrita nesta memria, sendo assim, restaro somente 6 pinos deste PORT para uso com perifricos de I/O, QUESTO 12: Qual o motivo bsico do PORT P0 ser multiplexado entre a funo de endereos menos significativos e dados? Para que serve o pino ALE? Economia de pinos no microcontrolador. O pino ALE comanda a demultiplexao das informaes de dados e endereos (menos significativo) do PORT P0. QUESTO 13: Como funciona / qual a finalidade dos pinos /PSEN, /RD e /WR? O pino /PSEN aciona a ROM/EPROM externa quando o microcontrolador vai fazer uma busca de instruo na ROM, para, em seguida, executa-la.

ACESSO A MEMRIA DE DADOS (LEITURA):

O pino /WR usado quando o microcontrolador vai escrever na memria RAM externa. O pino /RD usado quando o microcontrolador vai ler dna memria RAM externa. QUESTO 14: Escreva sobre os pinos do PORT P3 citados a seguir nas funes solicitadas: a) P3.2 e P3.3 - Interrupo P3.2 Pino de entrada de interrupo /INT0 usado para algum evento externo interromper o microcontrolador. P3.3 Pino de entrada de interrupo /INT1 usado para algum evento externo interromper o microcontrolador. b) P3.4 e P3.5 Contagem externa P3.4 Pino de entrada para o Timer 0 usado quando se quer que o Timer 0 se torne um contador de eventos externos. P3.5 Pino de entrada para o Timer 1 usado quando se quer que o Timer 1 se torne um contador de eventos externos. c) P3.0 e P3.1 Comunicao Serial P3.0 Pino de Entrada RXD (Recepo de Dados) Usado como receptor de dados serial. P3.1 Pino de Sada TXD (Transmisso de Dados) Usado como Transmissor de dados serial. QUESTO 15: Qual a funo do pino /EA? Explique. um pino de comando externo que determina se ser utilizada a memria de programa interna do chip (/EA = 0) ou memria de programa externa do chip (/EA=1). QUESTO 16: Qual a capacidade mxima de endereamento de EPROM e RAM externa da famlia 8051? E a RAM interna? Por qu? A capacidade mxima de endereamento de EPROM e RAM externa 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 barramento de endereos serem de 8 bits.

QUESTO 17: Por que o registrador ACC (acumulador) to popular se ele em tese, igual a qualquer outro registrador? Por que o registrador que se utiliza como operando em vrias instrues do microcontrolador. tambm onde fica o resultado de vrias operaes realizadas. QUESTO 18: O que DPTR? Qual a sua funo? um registrador de 16 bits formado pela juno dos registradores DPL (8 bits menos significativos) e DPH (8 bits mais significativos) que permite o endereamento de at 64k bytes. QUESTO 19: Descreva sobre os registradores dos bancos 0 a 3, os registradores de bits endereveis e os registradores especiais. (RAM) Registradores dos Bancos 0 a 3: Cada banco possui 8 registradores classificados de R0 a R7. A escolha do Banco de Registradores se d atravs dos bits RS1 e RS0 do registrador de Status PSW Cada registrador de cada banco tambm pode ser acessado atravs do seu endereo absoluto. Estes registradores vo do endereo 00h at 1Fh do endereo interno. Estes registradores vo do endereo 20h at 2Fh do endereo interno. Eles tambm so bits endereveis, indo do endereo de bit 00h at o endereo de bit 7Fh. Estes registradores vo do endereo 30h at 7Fh do endereo interno Estes registradores so somente endereveis por byte.

Registradores de bits endereveis:

Registradores de uso geral:

Registradores de Funes Especiais:

Estes registradores possuem configuraes especficas dentro do microcontrolador. Alguns possuem bits endereveis, outro no. Endereo na memria RAM D0h

A famlia de microcontroladores 8051 possui 4 PORTS denominados de P0, P1, P2 e P3. PORT P0: uma estrutura de PORT bidirecional. multiplexado entre dados e endereos quando se utiliza memria externa. Quando utilizado como PORT, como se ele fosse dreno aberto, isto , devem-se colocar resistores de pull-up em cada pino. Quando utilizado apenas para controle de memria externa, esses resistores no so necessrios e neste caso o PORT P0 visto como um PORT tri-state. Estes PORTS tm configurao similar ao PORT P0, s que so quase bidirecionais, pois tem resistores internos de pull-up e, logo, nunca ficaro realmente em tri-state.

QUESTO 20: Descreva sobre o registrador PSW. Bit 7 PSW.7 Bit de CARRY o indicador de vai um em operaes aritmticas: vai 1 quando uma soma com ACC estoura na sua capacidade. Bit 6 PSW.6 Auxiliar CARRY um indicador que vai um entre os quatro primeiros bits do acumulador (A ou ACC). muito til em aritmtica BCD. Bit 5 PSW.5 Flag 0 nenhuma funo especial. um bit de uso geral e no tem

PORTS P1, P2 e P3

Bit 4 e Bit 3 PSW.4 e PSW.3 RS1 e RS0 So dois bits que fazem mudar o banco de registradores a que se referem os nomes R0 a R7. Bit 2 PSW.2 OVERFLOW (OV) o bit que vai para 1 quando, aps uma adio ou subtrao, acontece um estouro da conta, ou seja, resultado maior que 127 ou menor que -128. Bit 1 PSW.1 Bit no disponvel ao usurio. Bit 0 PSW.0 Bit de PARITY (paridade) Este bit setado para 1 quando a paridade do acumulador mpar (nmero de 1 igual a uma quantidade mpar) ou zero quando a paridade do acumulador par (nmero de 1 igual a uma quantidade par). Move o contedo do registrador R0 para o acumulador. Move o contedo do endereo de memria 00h para o Carrega o registrador acumulador com o valor 00h.

QUESTO 23: Descreva sobre o circuito de clock da famlia 8051. Poder ser utilizado outro circuito oscilador alm do conhecido cristal? O circuito de clock o relgio interno do microprocessador para a execuo seqencial de qualquer atividade interna ou externa mquina. Ele na maior parte das vezes constitudo de um cristal oscilador e dois capacitores, porm, em alguns casos podero ser utilizados outros circuitos osciladores geradores de clock conectados ao microcontrolador. QUESTO 24: Desenhe um ciclo de mquina completo. Cada pulso P1 ou P2 do ciclo de mquina corresponde a que freqncia?

QUESTO 21: Qual a diferena e a funo das instrues: MOV A,R0 MOV A,00H acumulador. MOV A,#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 Se tiver um cristal de 12Mhz: Ciclo de Mquina = 12x(Perodo do Clock)=12x(1/(12.106))=1s QUESTO 25: Com um clock de 6MHz, que perodo ter de ciclo de mquina? Se tiver um cristal de 6Mhz: Ciclo de Mquina = 12x(Perodo do Clock)=12x(1/(6.106))=2s QUESTO 26: De que se constitui um estado? Um estado constitudo por dois pulsos de clock. QUESTO 27: Desenhe um sistema tpico de reset do 8051. No reset os PORTs P0, P1, P2 e P3 ficam com Vcc ou Vss? E o PROGRAM COUNTER? E finalmente os registros de controle de interrupo (EI e IP) tero ambos o valor binrio XXX00000 A RAM interna no afetada pelo RESET forado. Observao: Durante o reset, o nvel lgico dos pinos indeterminado, indo a nvel lgico 1 aps a execuo da rotina interna de reset, de tal forma que devemos prever esta situao no projeto do hardware, para evitar acionamento indesejvel de qualquer perifrico. QUESTO 28: Qual a diferena bsica, no circuito interno, dos PORTS P1, P2 e P3, com relao ao P0? Os PORTs P1, P2 e P3 possuem resistor de pull-up, o que o PORT P0 no tem. QUESTO 29: Qual a diferena entre ler o pino e ler o latch? Explique. Existem instrues que lem o contedo armazenado no latch Px.i; elas acionam o sinal l latch e assim lem a sada Q do latch. 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 da famlia 8051, e apresente com explicao quelas que estudamos. Instrues para Movimentao de Dados MOV A, Rn Acumulador recebe o contedo do registrador (A) (Rn) MOV A, direct Acumulador recebe um byte da memria RAM interna cujo endereo direct MOV A, @Ri Acumulador recebe um dado da memria RAM interna endereado pelo contedo de R0 ou R1 MOV A,#data Acumulador recebe data (A)data MOV Rn,A Registrador recebe o contedo de A MOV Rn, direct Registrador recebe um byte da memria RAM interna cujo endereo direct MOV Rn,#data Registrador recebe data (Rn)data MOV direct,A O contedo de A copiado numa posio da memria RAM interna cujo endereo direct MOV direct,Rn O contedo de Rn copiado numa posio de memria RAM interna cujo endereo direct MOV direct1,direct2

O contedo da posio de memria RAM interna com endereo direct2 copiado para outra posio da memria interna cujo endereo direct1 MOV direct,@Ri Uma posio de memria RAM interna, cujo endereo direct, recebe um dado endereado pelo contedo de R0 ou R1 MOV direct,#data Uma posio de memria RAM interna, cujo endereo direct, recebe data. MOV @Ri,A O contedo do acumulador copiado para uma posio de memria RAM interna cujo endereo o contedo de R0 ou R1 MOV @Ri,#data data copiado para uma posio de memria RAM interna cujo endereo o contedo de R0 ou R1 Instrues para Manipulao de Bits CLR bit Zera o bit em uma posio de memria RAM interna com bits endereveis. SETB bit Acerta em 1o bit em uma posio de memria RAM interna com bits endereveis. JB bit,rel Desvia se o bit estiver em 1 If (bit)=1 then (PC)(PC)+rel JNB bit,rel Desvia se o bit estiver em 0 If (bit)=0 then (PC)(PC)+rel Instrues para Desvio ACALL addr11

Desvia para uma subrotina. Essa subrotina deve estar no mximo a 1Kbytes de distncia do ponto de chamada LCALL addr16 Desvia para uma subrotina. RET Retorna de uma subrotina. 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 CJNE A,direct,rel Desvia para a rotina se o contedo de A e direct forem diferentes. CJNE A,#data,rel Desvia para a rotina se o contedo de A no for igual a data. CJNE Rn,#data,rel Desvia para a rotina se o contedo de Rn e data for diferente. QUESTO 32: Descreva a funo de cada instruo apresentada a seguir: a) MOV A, R3 Move o contedo do registrador R3 para o acumulador b) MOV B, #23h Move o dado 23h para o acumulador. c) MOV B,23h Move o contedo do endereo 23h para o registrador B

d) MOV A,@R0 Move o contedo do endereo apontado por R0 para o acumulador e) MOV A,#00h Move o dado 00h para o acumulador. f) LCALL DESVIO Chama a subrotina DESVIO para ser executada g) JMP @A+DPTR Desvio incondicional. Desvia a execuo do programa para o endereo apontado pelo acumulador somado ao valor do DPTR h) SJMP DESVIO Desvio incondicional. Desvia a execuo do programa para o endereo do LABEL DESVIO. i) j) SETB 20h MOV DPTR,#1F00h Liga o bit de endereo 20h Move para o DPTR o valor #1F00h k) DJNZ R0,DESVIO Decrementa o valor de R0 e desvia a execuo do programa para o endereo do LABEL DESVIO se este valor no der zero. QUESTO 33: Qual a instruo de retorno de um CALL (chamada de subrotina)? RET QUESTO 34: Se R1=33h e A=22h, aps a instruo MOV A,R1 como ficam os contedos de R1 e A? R1 = 33h A = 33h QUESTO 35: Se o registrador 20h (registrador de bit enderevel) tem o valor 10h. Com que valor ele ficar aps a 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

You might also like