fenix especificacao 8051 ram

14
 Especificação Descritiva Microcontrolador 8051 – Memória RAM Interna Projeto Fênix Versão 1.1 | 19/07/2004 Responsável: João Fernando Bione da Silva BRAZIL IP BRAZIL IP  BRAZIL IP BRAZIL IP

Upload: abelguilhermino

Post on 18-Jul-2015

71 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 1/14

 

Especificação DescritivaMicrocontrolador 8051 – Memória RAM Interna

Projeto Fênix

Versão 1.1 | 19/07/2004

Responsável: João Fernando Bione da Silva

BRAZIL IPBRAZIL IP

 

BRAZIL IPBRAZIL IP

Page 2: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 2/14

 

Microcontrolador 8051 Fênix Project

Histórico de Alterações

Data Versã

o

Descrição Autor

14/08/2003 0.1 Primeira versão da especificação descritiva do móduloreferente à memória RAM interna do 8051.

gjcc, jfbs

13/07/2004 1.0 Alterações na figura e especificação do IP1 e IP0 jfbs

19/07/2004 1.1 Correções nos registradores PSW e IP0/IP1 msml

Lista de Aprovadores

Nome Cargo

Edna Barros Coordenadora do Projeto Fênix

Sérgio Cavalcante Coordenação de divulgação externa do Brazil-IP

Memória RAM 92298859.doc Pág 2 /14

Page 3: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 3/14

 

Microcontrolador 8051 Fênix Project

Conteúdo

1. Memória RAM ................................................................................................................................... 4

 2. Descrição Dos Registradores de Função Especial ............................................................................ 5

 3. Referências ....................................................................................................................................... 14

 [1] Documento de Requisitos; <Nome do arquivo do documento de requisitos, com link>;............14

 [2] Site 8052; http://www.8052.com/tutsfr.phtml ............................................................................... 14

 [3] Livro The Microcontroller; Mackenzie, I. Scott; Terceira Edição............................................... 14

 [4] Data Sheet Siemens: Microcontroller Components; SAB 80C517/80C537 8-Bit CMOS Single-

Chip Microcontroller............................................................................................................................. 14

Memória RAM 92298859.doc Pág 3 /14

Page 4: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 4/14

 

Microcontrolador 8051 Fênix Project

1. Memória RAM

1.1 Organização da Memória RAM Interna

A memória RAM interna do 8051 está dividida em três partes: memória de propósito geral, banco deregistradores e espaço de memória endereçável a bit.

Duas características a serem levadas em conta são: (1) Os registradores e as portas deentrada/saida são mapeados em memória e podem ser acessados como qualquer outra posição dememória, e (2) a pilha de execução também é armazenada na memória interna. Como mostra afigura abaixo a memória é dividida em banco de registradores (00H – 1FH), RAM endereçável a bit

Memória RAM 92298859.doc Pág 4 /14

Page 5: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 5/14

 

Microcontrolador 8051 Fênix Project

(20H-2FH), RAM de propósito geral (30H-7FH), e registradores de funções especiais (80H-FFH).Cada um desses espaços será discutido a diante.

1.2 Banco de Registradores

As primeiras 32 posições da memória interna contêm 4 bancos de registradores. O conjunto deinstruções do 8051 suporta 8 registradores, R0 até R7 (registradores do banco de registradores ativo),e por definição (depois de reiniciar o sistema) estes registradores estão no endereço 00H-07H, ou seja,o primeiro banco estará ativo.

O banco de registradores ativo pode ser alterado por meio do Program Status Word (PSW). Sóé permitido que um dos bancos de registradores esteja ativo por vez.

1.3 RAM Endereçável a Bit

O 8051 contém 210 posições de memória endereçáveis a bit, das quais 128 estão localizadas nointervalo 20H até 2FH, e o resto são os registradores de funções especiais.

Este espaço pode ser acessado de duas formas. Uma das formas é fazer referência ao endereçodo bit, usando instruções apropriadas, no escopo 0H até 7FH. A outra maneira de acesso é endereçaros bytes de 20H até 2FH. Estes bits ainda podem ser referenciados como bits de acordo com a seguintesintaxe: 20.0 (acessa o bit 0 do endereço 20).

1.4 RAM de Propósito Geral

A memória RAM de propósito geral, como o próprio nome diz, é uma memória que pode ser usadalivremente e diretamente pelas instruções, sem nenhuma restrição, a não ser o fato de ser acessadaapenas por bytes.

Este espaço de memória é o espaço de armazenamento de dados em geral durante a execuçãode um programa,.

2. Descrição Dos Registradores de Função Especial

2.1 Definição dos Registradores de Função Especial

O 8051 possui muitos modos de operação, e esses modos de operação são configurados nos SFRs, os

chamados Special Function Registers, ou registradores de função especial. Cada um deles possui um

nome, e eles são acessados como se eles fossem da memória RAM interna, mas a diferença básica éque enquanto a RAM interna vai do endereço 00h até o 7Fh, os registradores SFRs entãocompreendidos entre o endereço 80h até o FFh.

Embora eles estejam compreendidos nesse intervalo de endereços, nem todas as 128 posiçõesde endereço possíveis possuem SFRs. Existem apenas 21 SFRs no 8051 padrão. Todos os outros

Memória RAM 92298859.doc Pág 5 /14

Page 6: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 6/14

 

Microcontrolador 8051 Fênix Project

endereços no intervalo (80h até FFh) são considerados inválidos, e ler e escrever nessas posições dememória deve provocar um comportamento inesperado.

2.2 Tipos de Registradores de Função Especial

Podemos classificar os SFRs em três tipos:

SFRs de Porta de I/O – O 8051 tem 4 portas de I/O de 8 bits, por isso ele possui também quatro SFRsde I/O.

• P0

• P1

•P2

• P3

SFRs de controle – Eles controlam a configuração do 8051. Eles são:

• PCON

• TCON

• TMOD

• SCON

• IE

• IP0

• IP1

• PSW

SFRs auxiliares – Eles não controlam nem configuram diretamente o 8051, mas o micro-controladornão pode funcionar sem eles, pois eles possuem funções como ler e escrever na porta serial, entreoutras. Eles são:

 SP

• DPL

• DPH

• TL0

• TL1

• TH0

• TH1

• SBUF

• ACC

Memória RAM 92298859.doc Pág 6 /14

Page 7: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 7/14

 

Microcontrolador 8051 Fênix Project

• B

SFR Endereço Endereçável a Bit

P0 80h Sim

P1 90h Sim

P2 A0h Sim

P3 B0h Sim

PCON 87h Não

TCON 88h Sim

TMOD 89h Não

SCON 98h Sim

IE A8h Sim

IP0 B8h Sim

IP1 B9h Não

PSW D0h Sim

SP 81h Não

DPL 82h NãoDPH 83h Não

TL0 8Ah Não

TL1 8Bh Não

TH0 8Ch Não

TH1 8Dh Não

SBUF 99h Não

ACC E0h Sim

B F0h Sim

Tabela 1: SFRs e seus respectivos endereços e se são endereçados por bit.

2.3 Descrição dos SFRs

P0

É a entrada e saída da porta 0. Cada bit corresponde a um dos pinos do 8051. O bit 0 doregistrador equivale ao pino P0.0 do 8051, e o bit 7 do registrador equivale ao pino P0.7 do 8051. Ele

Memória RAM 92298859.doc Pág 7 /14

Page 8: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 8/14

 

Microcontrolador 8051 Fênix Project

tanto pode ser lido, reconhecendo o valor de entrada, como escrito, sendo usado assim como saída do8051.

P1/P2

Possuem funcionamento equivalente a P0, mas agora relativos as portas 1 e 2 respectivamente.

P3

7 6 5 4 3 2 1 0

P3 RD WR T1 T0 INT1 INT0 TxD RxD

Termo Descrição

RxD Bit usado para receber dados da Porta Serial

TxD Bit usado para transmitir dados da Porta Serial

INT0 Bit que indica interrupção externa 0

INT1 Bit que indica interrupção externa 1

T0 Bit que é a entrada para o timer 0

T1 Bit que é a entrada para o timer 1

WR É um sinal ativo em nível lógico baixo que significa que o processador está escrevendona memória externa pela porta 0.

RD É um sinal ativo em nível lógico baixo que significa que o processador está pronto paraler da memória externa pela porta 0.

PCON

Ele é o Power Control SFR, e controla os modos de controle de potência do 8051. Certosmodos de operação do 8051 permitem que ele entre num estado de “sono”, que é controlado peloPCON. Um dos bits dele é usado para duplicar a taxa de baud efetiva da porta serial do 8051. Os seus bits são:

7 6 5 4 3 2 1 0

PCON SMOD GF1 GF0 PD IDL

Figura 1: Registrador PCON.

Termo Descrição

Memória RAM 92298859.doc Pág 8 /14

Page 9: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 9/14

 

Microcontrolador 8051 Fênix Project

SMOD Quando setado, duplica a taxa de baud na porta serial, para os modos 1, 2 e 3.

GF1 Flag de propósito geral bit 1.

GF0 Flag de propósito geral bit 0.PD Quando setado, ativa o modo de baixa potência, de onde só sairá quando for resetado.

IDL Quando setado, ativa o modo idle, de onde só sairá com uma interrupção ou quando for resetado.

Tabela 2: Descrição do registrador PCON.

TCON

É usado para modificar e configurar a forma com que os dois timers do 8051 funcionam.Possui bits de overflow para cada um dos timers e bits que indicam se os timers funcionam ou ficam parados. Também possui bits para configurar a forma como as interrupções externas são ativadas e bitsque são os flags das interrupções externas. Cada um dos bits possui uma função, que são descritasabaixo:

7 6 5 4 3 2 1 0

TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Figura 2: Registrador Timer Control.

Termo Descrição

TF1 Flag de overflow do Timer 1.

TR1 Timer 1 run, ou seja, quando este bit está setado o Timer 1 está ligado, senão ele estádesligado.

TF0 Flag de overflow do Timer 0.

TR0 Timer 0 run, ou seja, quando este bit está setado o Timer 0 está ligado, senão ele estádesligado.

IE1 Flag de interrupção Externa 1. É setado quando uma descida (do nível alto para o nívelbaixo) de sinal é recebido em INT1. É resetado quando o processador atende ainterrupção.

IT1 Flag de controle da interrupção externa. Se IT1 = 1, a interrupção Externa 1 é trigadapor uma descida do sinal INT1. Se IT1 = 0, a interrupção Externa 1 é gerada se INT1 seencontra em nível baixo.

IE0 Flag de interrupção Externa 0. É setado quando uma descida (do nível alto para o nívelbaixo) de sinal é recebido em INT0. É resetado quando o processador atende a

interrupção.IT0 Flag de controle da interrupção externa. Se IT0 = 1, a interrupção Externa 1 é trigada

por uma descida do sinal INT0. Se IT0 = 0, a interrupção Externa 0 é gerada se INT0 se

Memória RAM 92298859.doc Pág 9 /14

Page 10: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 10/14

 

Microcontrolador 8051 Fênix Project

encontra em nível baixo.

Tabela 3: Descrição do registrador Timer Control.

TMOD

É usado para configurar o modo de operação de cada um dos dois timers, além de outros parâmetros relativos ao seu funcionamento, descritos abaixo:

7 6 5 4 3 2 1 0

TMOD GATE1 C/T1 T1M1 T1M0 GATE0 C/T0 T0M1 T0M0

Figura 3: Registrador TMOD.

Termo Timer Descrição

GATE1 1 Quando ativado o timer só rodará quando INT1 (P3.3) estiver ativo. Quandoestiver desativado o timer funcionará independente do estado de INT1.

C/T1 1 Quando ativo o timer irá contar eventos em T1 (P3.5). Quando desativado otimer será incrementado todo ciclo da máquina.

T1M1 1 Timer mode bit 1.

T1M0 1 Timer mode bit 0.

GATE0 0 Quando ativado o timer só rodará quando INT0 (P3.2) estiver ativo. Quandoestiver desativado o timer funcionará independente do estado de INT0.

C/T0 0 Quando ativo o timer irá contar eventos em T1 (P3.4). Quando desativado otimer será incrementado todo ciclo da máquina.

T0M1 0 Timer mode bit 1.

T0M0 0 Timer mode bit 0.

Tabela 4: Descrição do registrador TMOD.

SCON

Usado para configurar o comportamento da porta serial do 8051. Controla a taxa de Baud da porta serial, se a porta serial está ativa para receber dados, e possui flags que são setados quando um byte é recebido ou enviado com sucesso.

7 6 5 4 3 2 1 0

SCON SM0 SM1 SM2 REN TB8 RB8 TI RI

Figura 4: Registrador SCON

Termo Descrição

Memória RAM 92298859.doc Pág 10 /14

Page 11: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 11/14

 

Microcontrolador 8051 Fênix Project

SM0 Modo da porta serial – bit 0.

SM1 Modo da porta serial – bit 1.

SM2 Modo da porta serial – bit 2.REN Receptor ativado, deve ser setado para receber caracteres..

TB8 Bit 8 transmitido, ou seja, 9º bit transmitido nos modos 2 e 3.

RB8 Bit 8 recebido, idem ao item anterior para recepção.

TI Flag de interrupção para transmissão, setado no fim de uma transmissão de caracter .

RI Flag de interrupção para recepção, setado no fim de uma recepção de caracter.

Tabela 5: Descrição do registrador SCON

IE

É usado apara habilitar e desabilitar interrupções específicas. Os 6 bits menos significativossão usados para desabilitar as interrupções específicas, enquanto que o mais significativo é usado paradesabilitar todas as interrupções. O 6º bit não é utilizado. Um bit setado habilita a/as interrupções.

7 6 5 4 3 2 1 0

IE EA ET2 ES ET1 EX1 ET0 EX0

Figura 5: Registrador Interrupt Enable

Termo Descrição

EA Flag responsável por habilitar todas as interrupções. Se EA = 0, todas as interrupções sãodesabilitadas. Se EA = 1, cada interrupção pode ser individualmente habilitada oudesabilitada em seu flag correspondente.

ET2 Flag de habilitação da interrupção do Timer 2.

ES Flag de habilitação da interrupção da USART.

ET1 Flag de habilitação da interrupção do Timer 1.

EX1 Flag de habilitação da interrupção Externa 1.

ET0 Flag de habilitação da interrupção do Timer 0.

EX0 Flag de habilitação da interrupção Externa 0.

Tabela 6: Descrição do registrador Interrupt Enable.

IP0/IP1

Usados para especificar a prioridade de cada interrupção. No 8051, uma interrupção podeinterromper outra de menor prioridade. Cada interrupção tem dois bits para determinar sua prioridade, podendo ter então quatro níveis possíveis.

Memória RAM 92298859.doc Pág 11 /14

Page 12: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 12/14

 

Microcontrolador 8051 Fênix Project

OBS1: Tanto no IP0 quanto no IP1 os bits dizem respeito à mesma interrupção. Por exemplo o bit 0 doIP0 seta o nível de prioridade da interrupção externa, sendo assim o bit 0 do IP1 seta a prioridade paraa mesma interrupção.

OBS2: IP1 não é endereçável a bit.

7 6 5 4 3 2 1 0

IP0/IP1 PS PT1 PX1 PT0 PX0

Figura 5: Registrador Interrupt Enable

Termo Descrição

PX0 Flag responsável por setar o nível de prioridade da interrupção externa 0.

PT0 Flag responsável por setar o nível de prioridade do timer 0.

PX1 Flag responsável por setar o nível de prioridade da interrupção externa 1.PT1 Flag responsável por setar o nível de prioridade do timer 1.

PS Flag responsável por setar o nível de prioridade da USART.

PSW

Armazena um número importante de bits que são setados ou resetados pelas instruções do8051. Contém o carry de flag, carry de flag auxiliar, flag de overflow e o flag de paridade. Além disso,

 possui os flags de seleção de banco, que são usados para selecionar o banco de registradores que estáatualmente ativo.

7 6 5 4 3 2 1 0

PSW CY AC F0 RS1 RS0 OV F1 P

Figura 6: Registrador PSW

Termo Descrição

CY Carry Flag. Setado quando a adição for maior que 0FFh ou quando a subtração for menor que 0.

AC Carry Flag Auxiliar . Setado a partir da adição ou subtração, quando o nybble menos

significativo afeta o valor do nybble mais significativo.

F0 Flag do usuário 0.

RS1 Seleção do banco de registrador 1.

RS0 Seleção do banco de registrador 0.

OV Flag de Overflow. Setado depois de uma adição ou subtração, quando ocorre overflow

na operação.F1 Flag do usuário 1.

Memória RAM 92298859.doc Pág 12 /14

Page 13: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 13/14

 

Microcontrolador 8051 Fênix Project

P Flag de Paridade. Setado quando o acumulador tem um número ímpar de bits.

Tabela 7: Descrição do registrador PSW

SP

É o stack pointer do microcontrolador. Ele indica onde o próximo valor a ser usado pela pilhaserá lido da RAM interna. Se colocarmos (push) um valor na pilha, o valor será escrito no endereço SP+1. Ele é modificado por todas as instruções que modificam a pilha. Ele é inicializado com o valor 07h. Isso quer dizer que a pilha iniciará no endereço 08h e assim irá se expandindo.

DPL/DPH

Trabalham juntos para representar um valor de 16 bits chamado  Data Pointer. Usado em

operações envolvendo RAM externa e algumas instruções envolvendo memória de código. Desde queseja um número sem sinal, pode representar um valor de 0000h até FFFFh.

TL0

É o byte menos significativo do Timer 0. Seu comportamento depende de como o Timer estáconfigurado, mas ele trabalha sempre incrementando seu valor.

TL1

É o byte menos significativo do Timer 1. Seu comportamento depende de como o Timer está

configurado, mas ele trabalha sempre trabalha incrementando seu valor. 

TH0

É o byte mais significativo do Timer 0. Seu comportamento depende de como o Timer estáconfigurado, mas ele trabalha sempre incrementando seu valor.

TH1

É o byte mais significativo do Timer 1. Seu comportamento depende de como o Timer estáconfigurado, mas ele trabalha sempre incrementando seu valor.

SBUF

Usado para enviar e receber dados pela porta serial. Serve tanto como transmissor quandoescrito como receptor quando lido.

ACC

É usado como um registrador geral para acumular resultados para um grande número deinstruções.

B

É usado em duas operações: multiplicação e divisão.

Memória RAM 92298859.doc Pág 13 /14

Page 14: Fenix Especificacao 8051 RAM

5/16/2018 Fenix Especificacao 8051 RAM - slidepdf.com

http://slidepdf.com/reader/full/fenix-especificacao-8051-ram 14/14

 

Microcontrolador 8051 Fênix Project

3. Referências

[1] Documento de Requisitos; <Nome do arquivo do documento de requisitos, com link>;

[2] Site 8052; http://www.8052.com/tutsfr.phtml 

[3] Livro The Microcontroller; Mackenzie, I. Scott; Terceira Edição

[4] Data Sheet Siemens: Microcontroller Components; SAB 80C517/80C537 8-Bit CMOS Single-Chip Microcontroller

Memória RAM 92298859.doc Pág 14 /14