2016年1月20日星期三

Organização de memória

A memória de dados e a memória de programa tem espaços de endereçamento diferentes cada um com 64 Kbytes.

Capturar2


Memória de programa
A memória de programa é uma memória do tipo ROM, por isso sobre ela só se efectuam operações de leitura.

Este memória pode ser interna e/ou externa e ocupa no máximo 64 Kbytes. O acesso à memória de programa externa faz-se recorrendo ao sinal nPSEN (Program Strobe Enable) que deverá ser ligado ao pino de output enable da memória.

O sinal aplicado ao pino nEA do microcontrolador determina qual o tipo de acesso a ser feito para os 4 Kbytes inferiores da memória de programa.

Se nEA = 0, para endereços a partir de 0000H o acesso é feito à memória de programa externa, se nEA = 1, o acesso é feito è memória de programa interna para endereços de 0000H até 0FFFH, sendo feito o acesso à memória de programa externa para endereços mais elevados.

Memória de dados
A memória de dados é do tipo RAM podendo ser lida ou escrita pelo microcontrolador. Esta memória pode ser interna e/ou externa. O espaço de endereçamento associado à memória de dados é de 64 Kbytes.

Memória de programa externa
O acesso à memória de programa externa faz-se recorrendo aos sinais nRD (Read) e nWR (Write) fornecidos pelo microcontrolador para controlo da operação da memória.

O endereçamento pode fazer-se recorrendo a um mínimo de um e a um máximo de dois bytes.

Para acesso à memória de programa externa utiliza-se o porto P0 como barramento multiplexado de endereços/ dados (byte menos significativo). O porto P2, caso seja necessária a sua utilização, funciona como barramento de endereços (byte mais significativo).

Memória de programa interna
A memória de dados interna encontra-se dividida em 3 blocos distintos. O acesso à memória de dados interna faz-se utilizando endereços de 8 bits.

Capturar3

A área de memória superior contém os registos com funções especiais, SFRs (Special Function Registers).

O acesso a esta área de memória faz-se utilizando endereçamento directo.

A função de cada um destes registos será analisada em detalhe mais adiante nesta unidade.

A área de memória superior representada na figura 4 a tracejado não está implementada no microcontrolador 80C51 existindo apenas nos dispositivos com 256 bytes de RAM interna.

O acesso a esta área de memória é feito utilizando endereçamento indirecto sendo uma zona de uso genérico.

A parte inferior da memória de dados interna encontra-se dividida em três zonas distintas.

O acesso pode ser feito utilizando endereçamento directo ou indirecto.

Capturar4
Os 32 bytes inferiores destinam-se aos quatro bancos de oito registos designados R0 a R7.

A selecção do banco de registos é feita recorrendo aos bits RS1 (Register Select) e RS0 do registo PSW (Program Status Word). Segue-se uma área de 16 bytes (128 bits) endereçáveis bit a bit sendo a restante área de uso genérico.



没有评论:

发表评论