aula 12 - 8051 parte 4

23
SEL 0415 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORES Aula 12 – Microcontrolador Intel 8051 Parte 4

Upload: edson

Post on 02-Oct-2015

6 views

Category:

Documents


0 download

DESCRIPTION

Aula microcontrolador 8051

TRANSCRIPT

  • SE

    L 04

    15

    Prof. Dr. Marcelo A. C. Vieira

    SEL 0415 INTROD. ORGANIZAO DE COMPUTADORES

    Aula 12 Microcontrolador Intel 8051 Parte 4

  • Ligao de Memrias ROM e RAM Externas

    SE

    L 41

    5

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    PINOS IMPORTANTES PARA INTERFACE COM MEMRIAS EXTERNAS

    n RD [ leitura na memria de dados externa n WR [ escrita na memria de dados externa n PSEN [ leitura na memria de programa externa n P0 [ multiplexado com endereos (A0-A7) e dados (D0-D7)

    n P2 [ endereos A8-A15 n ALE [ Address Latch Enable. Sinal para demultiplexar P0 n EA [ External Access Enable. Especifica o uso de memria de programa externa ou interna

    Microcontrolador 80C51

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Organizao das Memrias na famlia MCS-51

    Microcontrolador 80C51

    At 64Kb

    At 64Kb

    256 ou 384 bytes

    4Kb

    At 60Kb

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    n Os 4 KB de ROM interna podem ser usados ou no, de acordo com o estado do pino EA (External Access Enable):

    se EA = 0 _ at 64 KB de memria de programa externa

    se EA = 1 _ 4 KB de ROM interna e at 60 KB de programa externo

    MEMRIA E PROGRAMA

    Organizao da Memria na famlia MCS-51

    Microcontrolador 80C51

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    MEMRIA DE PROGRAMA Endereo das Memrias de Programa interna e externa

    Organizao da Memria na famlia MCS-51

    Microcontrolador 80C51

    Se EA = 0 toda a memria de programa externa : 0000h a FFFFh

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    n Externa (DADOS) expanso com at 64K RAM n Pode-se usar as memrias RAM interna e externa simultneamente

    n As instrues de transferncia de dados so diferentes para a memria externa e interna

    n Interna: endereamento direto n Externa: endereamento indireto (por ponteiro)

    Organizao da Memria na famlia MCS-51

    Microcontrolador 80C51

    MEMRIA DE DADOS

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Mapeamento completo (64 Kbytes)

    Mapeamento da Memria Externa de Programa

    Memria de programa s pode ser lida. So sempre emitidos endereos de 16 bits c as portas P0 e P2 so sacrificadas quando se usa memria de programa externa.

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Memria de programa externa

    Porta P2 8 bits mais significativos do endereo Porta P0 8 bits menos significativos do endereo + dados

    1. pino ALE (address latch enable) nvel lgico 1 2. byte menos significativo endereo nos pinos da porta P0 e mais significativo

    nos pinos da porta P2

    3. pino ALE nvel lgico 0 (bits so gravados na memria do latch externo) 4. latch externo (ex.74373) pulso de descida bits de endereamento

    armazenados na memria e presentes na sua sada

    5. pino PSEN nvel lgico 0 ligado no Output Enable da memria externa 6. a instruo colocada nos pinos da porta P0

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Mapeamento completo (64 Kbytes)

    Mapeamento da Memria Externa de Dados

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Memria de Dados externa Porta 2 8 bits mais significativos do endereo Porta 0 8 bits menos significativos do endereo + dados

    1. pino ALE (address latch enable) nvel lgico 1 2. byte menos significativo endereo nos pinos da porta P0 e mais

    significativo nos pinos da porta P2

    3. pino ALE nvel lgico 0 (bits so gravados na memria do latch externo) 4. latch externo (ex.74373) pulso de descida bits de endereamento

    armazenados na memria e presentes na sua sada

    5. pinos RD e WR nvel lgico correspondente para operao de leitura ou escrita na memria RAM

    6. o dado lido ou escrito nos pinos da porta P0

  • Memria de dados externa Portas I/O para expanso da memria

    RD

    WR

    Ativos s se a CPU est executando instruo de leitura e escrita na memria de dados (RAM) externa

    Leitura da RAM RD = 0 WR = 1 Escrita na RAM RD = 1 WR = 0 ROM externa PSEN = 0 RD = 1 WR = 1

    Gerados pelos pinos da Porta 3

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Mapeamento da Memria Externa de Dados (RAM) e de Programa (ROM)

  • Operao com memria de dados externa

    SE

    L 41

    5

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Memria de dados externa

    (RAM)

    Espao de endereos de at 64 Kbytes Espao todo indiretamente enderevel pelo ponteiro de dados DPTR (Data Pointer)

    Pode ser endereado partes da memria (pginas de 256 bytes) utilizando ponteiro de 8 bits (R0 ou R1)

    Instrues (usa-se o MOVX) MOVX A, @DPTR MOVX A, @R0

    MOVX @DPTR, A MOVX @R0, A

    Acesso atravs de ponteiro de 8 bits ou 16 bits

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Memria de dados externa

    (RAM)

    a. Armazenar 3Fh na posio 34CBh da memria externa :

    MOV DPTR,#34CBH

    MOV A,#3FH

    MOVX @DPTR,A

    b. Ler o contedo da posio 13F4h da memria externa :

    MOV DPTR,#13F4H

    MOVX A,@DPTR

    EXEMPLO:

    Acesso atravs de endereo de 16 bits

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Memria de dados externa

    (RAM)

    EXEMPLO:

    Acesso atravs de endereo de 8 bits

    a. Armazenar 3Fh na posio 00FFh da memria externa :

    MOV R0,#FFH

    MOV A,#3FH

    MOVX @R0,A

    b. Ler o contedo da posio 0013h da memria externa :

    MOV R1,#13H

    MOVX A,@R1

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Mapeamento da Memria Externa de Dados

    Paginao de memria

    Deve-se notar o uso de dois bits da porta P3 (RD e WR) Se a memria RAM externa menor que 64Kb a porta P2 (com endereos mais significativos) NO totalmente sacrificada somente so usados os bits necessrios para emitir os endereos.

    Ex.: RAM externa de 2 KB

    8 bits de P0 (menos significativos)

    3 bits de P2 _ sobram 5 pinos da porta P2

    2 bits de P3 (controle)

    Os bits da Porta P2 podem ser utilizados para paginao de n memrias de 256 bytes (8 bits de endereamento menos significativo Porta P0)

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Paginao de Memria

    Pgina P2.2 P2.1 P2.0 0 1 2 3 4 5 6 7

    0 0 0 0 1 1 1 1

    0 0 1 1 0 0 1 1

    0 1 0 1 0 1 0 1

    256

    256 CS7

    CS0 CS1

    P2.0

    P2.1

    P2.2

    Decodi-ficador

    Um esquema que pode ser utilizado para acessar mais de 256 bytes externos

    dividir a RAM externa em pginas de 256 bytes cada, por exemplo, utilizando a

    Porta P2

    Bits de pgina

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Paginao de Memria Bits de pgina

    Para ler um byte nesta configurao: MOV R0,#end.byte MOV P2, #end.pgina MOVX A,@R0

    Para escrever um byte nesta config.: MOV R0,#end.byte MOV P2,#end.pgina MOVX @R0,A

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    Paginao de memria Bits de pgina

    Escrever 3Fh no endereo 00h da pgina 0:

    MOV R0,#00H ; endereo 00h em R0

    MOV A,#3FH ; dado 3Fh no acumulador

    MOV P2,#00H ; pgina 0

    MOVX @R0,A ; escreve no end. 00h da pgina 0 3Fh

    Ler o contedo do endereo 0FFh da pgina 5 :

    MOV R1,#0FFH ; endereo 0FFh em R1

    MOV P2,#05H ; pgina 5

    MOVX A,@R1 ; armazena no acumulador o contedo do end. 0FFh da pgina 5

    EXEMPLO:

  • Gru

    po d

    e S

    iste

    mas

    Dig

    itais

    FIM