Transcript
Page 1: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

1 Prof. José Wilson Lima Nerys, PhD 1 Microcontrolador 8051

Microprocessadores e Microcontroladores

José Wilson Lima Nerys

Página: www.emc.ufg/~jwilsonEmails: [email protected] e [email protected]

Parte 3

Microcontrolador 8051

Expansão da Capacidade de Memória e Mapeamento de Memória

Page 2: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

2 Prof. José Wilson Lima Nerys, PhD 2 Microcontrolador 8051

Expansão da Capacidade deMemória do 8051

Page 3: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

3 Prof. José Wilson Lima Nerys, PhD 3 Microcontrolador 8051

Expansão de Memória

Um sistema microcontrolado consiste de Hardware e Firmware. O

Firmware de sistemas experimentais de propósito geral é normalmente

um programa monitor que permite ao usuário inspecionar e modificar

atributos do sistema, tais como memória e portas [3]. O programa monitor

deveria, ainda, permitir baixar e rodar outros programas aplicativos.

Uma vez que o programa aplicativo foi plenamente desenvolvido e

testado, ele pode ser colocado numa ROM e o sistema microcontrolado

pode ser usado como um controlador embarcado (embedded controller).

Page 4: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

4 Prof. José Wilson Lima Nerys, PhD 4 Microcontrolador 8051

Expansão de Memória

Um sistema microcontrolado algumas vezes tem necessidade de

memória além da disponível internamente no microcontrolador,

principalmente para o armazenamento de dados. Assim, pode-se

expandir a memória com um chip externo. O diagrama de blocos a seguir

mostra o diagrama geral de um sistema com extensão de memória.

A(0 .. 15)

D(0 .. 7)

RD\

WR\

A(0 .. 15)

D(0 .. 7)

RD\

WR\

MEMÓRIACPU: 8051

Page 5: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

5 Prof. José Wilson Lima Nerys, PhD 5 Microcontrolador 8051

Expansão de Memória

Observar que as Portas P0 e P2 são utilizadas, sendo que a Porta P0

tem dupla função: transportar o byte inferior do endereço e os dados

Dados/LSB

endereço

Byte superior (MSB) do endereço

LSB do

endereço

Dados

Sinais de

controle

Sinais de

controle

Page 6: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

6 Prof. José Wilson Lima Nerys, PhD 6 Microcontrolador 8051

Expansão de Memória

Latch 74LS573

O Latch é um componente

importante para separar o

endereço dos dados na Porta P0

Page 7: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

7 Prof. José Wilson Lima Nerys, PhD 7 Microcontrolador 8051

13 linhas de endereço: A0 ... A12

213 = 8192 (2000H) = 8 Kbytes

8 linhas de dados: I/O0 ... I/O7

WE\ Write Enable

OE\ Output Enable

CE\ Chip Enable

Um exemplo de memória EEPROM é a AT28C64 (8 Kbtes x 8 bits),

com capacidade de memória de 8 Kbytes

Operação CE\ WE\ OE\

Leitura de Memória 0 1 0

Escrita de Memória 0 0 1

Page 8: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

8 Prof. José Wilson Lima Nerys, PhD 8 Microcontrolador 8051

Microcontrolador AT89S52

ALE

WR

\

RD

\

Latch

EEPROM AT28C64

0 V

LE

A12 A8A7A0

I/O7I/O0

WE\

OE\

0 V

CE\

OE\

Sistema com Memória EEPROM de 8 K

MOV DPTR,#1000H

MOVX A,@DPTR

Copia no acumulador o conteúdo da posição 1000H

da EEPROM externa

Nessa montagem os pinos P2.7, P2.6 e P2.5

são irrelevantes, mas criam sombras de

memória.

Page 9: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

9 Prof. José Wilson Lima Nerys, PhD 9 Microcontrolador 8051

Sistema com Memória EEPROM de 8 K

Faixa de endereços da EEPROM

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

0 0 0 1 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 1 0 0 0 0

0 1 1 1 0 0 0 0

1 0 0 1 0 0 0 0

1 0 1 1 0 0 0 0

1 1 0 1 0 0 0 0

1 1 1 1 0 0 0 0

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Na conexão apresentada, o endereço 1000H da memória pode ser

acessado de 8 maneiras diferentes (sombras de memória)

Pode-se definir 8

regiões diferentes de

memória usando um

circuito lógico

Page 10: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

10Prof. José Wilson Lima Nerys, PhD 10 Microcontrolador 8051

Procedimento para eliminar as sombras de memória:

Utilizar um circuito habilitador da pastilha de memória a partir das

linhas de endereço A15, A14 e A13, no caso da memória de 8K

A2

A1

A0

Y

A2 A1 A0 Y

0 0 0 1

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 0

A porta NAND de 3 entradas

apresenta saída em nível lógico

baixo (0) somente quando todas as

entradas estão em nível lógico alto

(1).

A pastilha de memória é habilitada

com nível lógico baixo: CE\ = 0

Page 11: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

11Prof. José Wilson Lima Nerys, PhD 11 Microcontrolador 8051

Procedimento para eliminar as sombras de memória:

Utilizar um circuito habilitador da pastilha de memória a partir das

linhas de endereço A15, A14 e A13, no caso da memória de 8K

A15 A14 A13

P2.7 P2.6 P2.5

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

A2

A1

A0Y

P2.7

P2.6

P2.5

EEPROM

Faixa habilitada de

endereços:

0000H a 1FFFH

CE\

A2

A1

A0Y

P2.7

P2.6

P2.5

EEPROM

Faixa habilitada de

endereços:

2000H a 3FFFH

CE\

A2

A1

A0Y

P2.7

P2.6

P2.5

EEPROM

Faixa habilitada de

endereços:

4000H a 5FFFH

CE\

A2

A1

A0Y

P2.7

P2.6

P2.5

EEPROM

Faixa habilitada de

endereços:

E000H a FFFFH

CE\

Page 12: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

12Prof. José Wilson Lima Nerys, PhD 12 Microcontrolador 8051

Mapeamento de Memória com o decodificador 74LS138

A divisão da região total de memória (64 K) pode ser feita, nesse caso, em 8

regiões de 8K, como mostrado. No entanto, não é necessário utilizar portas

NANDs isoladas.

Um componente que pode ser usado nesse processo é o decodificador

74LS138, que contém 3 entradas de seleção e 8 saídas, sendo apenas 1 delas

ativa por vez.

Page 13: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

13Prof. José Wilson Lima Nerys, PhD 13 Microcontrolador 8051

Divisão em Regiões de Memória com o decodificador 74LS138

Page 14: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

14Prof. José Wilson Lima Nerys, PhD 14 Microcontrolador 8051

Tabela-verdade do 74LS138

Page 15: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

15Prof. José Wilson Lima Nerys, PhD 15 Microcontrolador 8051

Dividindo-se a região total de memória (64 K) em 8 regiões iguais, pode-

se utilizar 8 pastilhas de memória de 8 K.

Mapeamento de Memória

Entrada do 74138

A2 A1 A0(A15) (A14) (A13)

Saída do

74138 RegiãoEndereço Inicial e

Final

Memórias

de 8 K

0 0 0 O0 0 0000H – 1FFFH EEPROM 1

0 0 1 O1 1 2000H – 3FFFH EEPROM 2

0 1 0 O2 2 4000H – 5FFFH EEPROM 3

0 1 1 O3 3 6000H – 7FFFH EEPROM 4

1 0 0 O4 4 8000H – 9FFFH EEPROM 5

1 0 1 O5 5 A000H – BFFFH EEPROM 6

1 1 0 O6 6 C000H – DFFFH EEPROM 7

1 1 1 O7 7 E000H - FFFFH EEPROM 8

Page 16: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

16Prof. José Wilson Lima Nerys, PhD 16 Microcontrolador 8051

Mapeamento deMemória do 8051

Page 17: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

17Prof. José Wilson Lima Nerys, PhD 17 Microcontrolador 8051

A Porta P0 e P2 podem ser usadas para acionar outros dispositivos, além

do acesso à memória EEPROM. Para isso é necessário fazer uma

divisão da memória em regiões (mapeamento de memória), como feito

na expansão da capacidade de memória.

No entanto, ao invés de dedicar todas as regiões para pastilhas de

memória, reserva-se cada região para um componente diferente. Por

exemplo:

Região 1: Memória EEPROM

Região 2: LCD

Região 3: Motor de Passo

Região 8: Teclado

Mapeamento de Memória

Page 18: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

18Prof. José Wilson Lima Nerys, PhD 18 Microcontrolador 8051

Mapeamento de Memória

A15 A14 A13 A12 A11 A10 A9 A8

0 0 0 0 0 0 0 0

0 0 0 1 1 1 1 1

0 0 1 0 0 0 0 0

0 0 1 1 1 1 1 1

0 1 0 0 0 0 0 0

0 1 0 1 1 1 1 1

A7 A6 A5 A4 A3 A2 A1 A0

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

EEPROM Motor de Passo LCD

Page 19: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

19Prof. José Wilson Lima Nerys, PhD 19 Microcontrolador 8051

Dividindo-se a região total de memória (64 K) em 8 regiões iguais, tem-se

a definição dos intervalos de cada região e os dispositivos acionados.

Mapeamento de Memória

Entrada do 74138

A2 A1 A0(A15) (A14) (A13)

Saída do

74138 RegiãoEndereço Inicial e

Final

Dispositivo

escolhido

0 0 0 O0 0 0000H – 1FFFH EEPROM 8K

0 0 1 O1 1 2000H – 3FFFH Motor de Passo

0 1 0 O2 2 4000H – 5FFFH Display LCD

0 1 1 O3 3 6000H – 7FFFH

1 0 0 O4 4 8000H – 9FFFH

1 0 1 O5 5 A000H – BFFFH

1 1 0 O6 6 C000H – DFFFH

1 1 1 O7 7 E000H - FFFFH Teclado

Page 20: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

20Prof. José Wilson Lima Nerys, PhD 20 Microcontrolador 8051

Mapeamento de Memória – Motor de Passo

Endereço escolhido para o motor de passo: 2000H a 3FFFH.

Driver para o motor de passo

ULN2004 ou ULN2803 –

Transistores Darlington

Não tem um pino de habilitação

Usar Latch para permitir a

habilitação/desabilitação

Page 21: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

21Prof. José Wilson Lima Nerys, PhD 21 Microcontrolador 8051

Endereço escolhido para o Display LCD: 4000H – 5FFFH

Não há necessidade Latch porque o LCD já tem um pino de habilitação (E)

Page 22: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

22Prof. José Wilson Lima Nerys, PhD 22 Microcontrolador 8051

Mapeamento de Memória – Display LCD 4000H – 5FFFH

R/W

A1RS

A0

MOV A,#18H

MOV DPTR,#4000H

MOVX @DPTR,A

O conteúdo de A (18H) é interpretado pelo LCD como uma

instrução, porque foi enviado para o endereço 4000H

deslocamento para a esquerda da mensagem do display

Os bits de dados (D0 a D7) podem ser

ligados diretamente no barramento da porta

P0, mas os pinos A0(RS) e A1(RW) devem

ser conectados através de um Latch, que

acionará esses pinos conforme a tabela a

seguir.

O Enable (LCD1) é acionado pela saída O2

do decodificador 74138.

Page 23: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

23Prof. José Wilson Lima Nerys, PhD 23 Microcontrolador 8051

Comandos mais comuns para o Display LCD

DESCRIÇÃO MODO RS R/W Código (Hexa)

Display Liga (sem cursor) 0 0 0C

Desliga 0 0 0A/08

Limpa Display com Home cursor 0 0 01

Controle do Cursor Liga 0 0 0E

Desliga 0 0 0C

Desloca para Esquerda 0 0 10

Desloca para Direita 0 0 14

Cursor Home 0 0 02

Cursor Piscante 0 0 0D

Cursor com Alternância 0 0 0F

Sentido de deslocamento do cursorao entrar com caractere

Para a esquerda 0 0 04

Para a direita 0 0 06

Deslocamento da mensagem aoentrar com caractere

Para a esquerda 0 0 07

Para a direita 0 0 05

Deslocamento da mensagem sementrada de caractere

Para a esquerda 0 0 18

Para a direita 0 0 1C

Endereço da primeira posição Primeira linha 0 0 80

Segunda linha 0 0 C0

Page 24: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

24Prof. José Wilson Lima Nerys, PhD 24 Microcontrolador 8051

Mapeamento de Memória – Seleção do Dispositivo

A15 A14 A13 Dispositivo

0 0 0 EEPROM

0 0 1 Motor de Passo

0 1 0 Display LCD

... ... ... ...

1 1 1 Teclado

Habilita EEPROM

Habilita Motor de Passo

Habilita LCD

Habilita Techado

Page 25: Universidade Federal de Goiás Escola de Engenharia …jwilson/pdf/3_Micro_Parte_3...Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 10 Prof. José

Universidade Federal de GoiásEscola de Engenharia Elétrica e de Computação

25Prof. José Wilson Lima Nerys, PhD 25 Microcontrolador 8051

Bibliografia

[1] Salvador P. Gimenez, “Microcontroladores 8051: Teoria do hardware

e do software/Aplicações em controle digital/Laboratório e simulação”,

Pearson Education do Brasil, São Paulo, 2002.

ISBN: 85.87918-28-1.

[2] Vidal Pereira da Silva Jr., “Aplicações Práticas do Microcontrolador

8051”, Editora Érica, São Paulo, 1994.

ISBN: 85-7194-194-7

[3] Sencer Yeralan, Ashutosh Ahluwalia, “Programming and Interfacing the

8051 Microcontroller”, Addison-Wesley Publishing Company, 1995.

ISBN: 0-201-63365-5.


Top Related