exemplo de projeto com microcontrolador mcs-51iris.sel.eesc.usp.br/sel433a/aula8.pdf · externa...

46
Exemplo de Projeto com Microcontrolador MCS-51 Prof. Adilson Gonzaga

Upload: others

Post on 22-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Exemplo de Projeto com Microcontrolador MCS-51

Prof. Adilson Gonzaga

Page 2: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Definições Iniciais:

� Microcontrolador◦ Tamanho da Memória de Programa Interna � define o tamanho da Memória de Programa Externa a ser utilizada.

� Periféricos◦ Definição das Interfaces necessárias ao projeto (Serial,Teclado, Display, conversores A/D e D/A, sensores, atuadores, etc...)

Prof. Adilson Gonzaga 2

Page 3: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Microcontrolador AT89S52

Prof. Adilson Gonzaga 3

Page 4: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Microcontrolador AT89S52

Prof. Adilson Gonzaga 4

Page 5: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Características de Alimentação

Prof. Adilson Gonzaga 5

Para que se possa utilizar circuitos integrados no padrão TTL, a alimentação recomendada é Vcc = 5v

Valores Máximos suportados pelo componente:

Page 6: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Características Elétricas do AT89S52

Prof. Adilson Gonzaga 6

Page 7: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Freqüência de Operação

Prof. Adilson Gonzaga 7

Para poder projetar uma interface serial operando em Baud Rate padrão, será utilizado um Cristal de 11,0592 MHz

Page 8: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Logo :

1 ciclo de máquina (M) = 12 períodos de clock (P)

• Um ciclo de máquina (M) consiste de uma seqüência de 6

estados (S1 a S6).

• Cada estado é formado por 2 períodos de clock (P1 e P2).

Ciclos de Máquina

Page 9: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

)(100592,11

16

clockdoPeríodoP⋅

= )(100592,11

16

clockdoPeríodoP⋅

=Se o cristal é de

11.0592 Mhz:

sPM µ085,1100592,11

11212

6=

⋅⋅=⋅= sPM µ085,1

100592,11

11212

6=

⋅⋅=⋅=Ciclo de Máquina (M):

Ciclos de Máquina

Page 10: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Reset de Power-On e Manual

Prof. Adilson Gonzaga 10

Δt ≥ 2*1,085 μs ≥ 2,17 μs

Δt = R*C = 10k*C

pFC 2171010

1017,23

6

×=

Não há precisão na escolha do capacitor.

Logo, escolhendo C =1μF >> 217pF smsxt µ17,2101011010 63>>=××=∆

Page 11: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Reset e Cristal

Prof. Adilson Gonzaga 11

Page 12: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Recursos Internos do Microcontrolador� Caso as necessidades do projeto exijam apenas os Recursos

internos de memória, as Interfaces podem utilizar as Portas P0, P1, P2 e P3.

Prof. Adilson Gonzaga 12

Page 13: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Acesso a Recursos Externos ao Microcontrolador

� Os microcontroladores da família MCS-51 possuem o duto de Dados (D0 a D7) multiplexado ao Duto de Endereços (A0 a A7) na Porta P0 (AD0 a AD7).

� Torna-se necessário, portanto, demultiplexar os dois dutos para gerar o duto de Dados (D0 a D7) e o duto de Endereços (A0 a A15) separadamente.

Prof. Adilson Gonzaga 13

Page 14: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Timming dos Dutos de Dados e de Endereços Externos

Prof. Adilson Gonzaga 14

O 8051 mantém os endereços de A0 a A7 na Porta P0 enquanto pulsa o ALE (Adress Latch Enable)

Depois desse tempo, o 8051 transforma os pinos da P0 em Duto de Dados (D0 a D7)

Os pinos da Porta P2 (A8 a A15) são mantidos constantes durante todo o ciclo de máquina

Page 15: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Circuito de Latch (74373)� Deve-se armazenar (latch) o Duto de Endereços (A0 a A7) durante o pulso de ALE.

Prof. Adilson Gonzaga 15

Um circuito de latch apropriado é o 74373 que possui 8 Flip-Flops tipo D e controle de tri-state das saídas.

Page 16: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Prof. Adilson Gonzaga 16

Duto de

Dados

Duto de

Endereços

As Memórias Externas poderão ser acessadas em toda a extensão de 64k x 8 Bytes

Page 17: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 17

O AT89S52 possui 8 Kbytes de Memória de Programa Interna

Memória de Programa Interna

0000h

1FFFh

8 KBytes

Para utilizar toda a Memória de Programa Interna e também a Memória de Programa Externa, o endereço de início desta deverá ser:

2000h

Se for utilizada apenas a Memória de Programa Externa, esta começará no endereço: 0000h

Page 18: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 18

Memória de Programa Interna (8k)

Memória de Programa Externa (56k)

0000h

1FFFh

2000h

FFFFh

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

Duto (Bus) de Endereços

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

Decodificação de Endereços (2000h a FFFFh)

Qualquer endereço igual ou maior que

2000h pode ser decodificado pelas

linhas A13, A14 e A15.

Se o número binário formado por A15 A14 A13 for maior ou igual a 1, o endereço equivalente será maior ou igual a 2000h

Page 19: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 19

Decodificação das linhas de Endereço

da Memória de Programa Externa

S = A15 + A14 + A13

S = 1 se o endereço estiver no intervalo de 2000h a FFFFh

S = 0 se o endereço estiver no intervalo de 0000 a 1FFFh

Page 20: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 20

Memória de Programa Interna (8k)

Memória de Programa Externa (56k)

0000h

1FFFh

2000h

FFFFh

S = 1

S = 0

Page 21: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 21

Se o componente de memória utilizado tiver capacidade inferior a 56 K, deverá ser realizada uma Associação de componentes. Neste caso, o mapa de memória definido por S deverá ser particionado considerando-se os blocos existentes.

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

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

A15 A14 A13 Saída

0 0 0 Y0

0 0 1 Y1

0 1 0 Y2

0 1 1 Y3

1 0 0 Y4

1 0 1 Y5

1 1 0 Y6

1 1 1 Y7

Neste caso toda a Memória de Programa está particionada em 8 Blocos

de 8k. O Y0 refere-se aos endereços de 0000 a 1FFFh, e não deve ser

usado pois acessa a Memória Interna (A15=A14=A13=0)

Page 22: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Programa Externa

Prof. Adilson Gonzaga 22

Memória de Programa Interna (8k)

Y0

0000h

1FFFh

2000h

FFFFh

S = 1

S = 0

Y1(8k)Y2(8k)Y3(8k)Y4(8k)Y5(8k)Y6(8k)Y7(8k)

56k

A15 A14 A13 Saída End.

Inicial

End.

Final

0 0 0 Y0 0000h 1FFFh

0 0 1 Y1 2000h 3FFFh

0 1 0 Y2 4000h 5FFFh

0 1 1 Y3 6000h 7FFFh

1 0 0 Y4 8000h 9FFFh

1 0 1 Y5 A000h BFFFh

1 1 0 Y6 C000h DFFFh

1 1 1 Y7 E000h FFFFh

Memória de Programa (64k) particionada em 8 blocos de 8 Kbytes

Page 23: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ciclo de Leitura na Memória de Programa Externa

Prof. Adilson Gonzaga 23

No início do Ciclo de Máquina o 8051 pulsa o ALE para que se possa armazenar externamente o Duto de Endereços (A0 a A7)

Após esse tempo, o 8051 coloca em zero o pino PSEN, para que se possa ler a instrução no endereço acessado (A0 a A15)

Page 24: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Exemplo_1: Mapeamento completo –64k bytes de Memória de Programa

Prof. Adilson Gonzaga 24

D0 a D7

A0 a A7

A8 a A15

Page 25: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Prof. Adilson Gonzaga 25

Memória ROM de 64k Bytes

A chave em EA seleciona se a Memória de Programa é Externa de 64k (EA=0) ou Interna de 8k (EA=1) mais 56k de memória externa.

Page 26: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Espaço de Endereçamento da Memória de Programa

Prof. Adilson Gonzaga 26

As 64 K posições da Memória de Programa podem ser também utilizadas tanto por componentes de memória (ROM) como por dispositivos de Entrada de Dados.

Memória de Programa

Dispositivo 1

Dispositivo 2

Dispositivo n

0000

FFFFh

Os dispositivos de Interface podem ocupar uma ou várias posições de memória e somente poderão ser Interfaces de Entrada, ou seja, o programa somente conseguirá ler cada dispositivo e NUNCA escrever.

Exemplos de Dispositivos de entrada de Dados: Chaves, Conversor A/D, sensores, Portas de Entrada.

Page 27: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Exemplo_2: Espaço da Memória de Programa Externa com 16Kbytes de ROM e um conjunto de 8 chaves mecânicas.

Prof. Adilson Gonzaga 27

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0000

3FFFh

Espaço de 16 K da Memória de Programa Externa

Enquanto A14 e A15 forem zero, o espaço acessado pelo microcontrolador refere-se aos primeiros 16 Kbytes .

Se A15 =1 Faixa de endereços de 8000h a FFFFh (32 Kbytes)

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8000h

FFFFh

Este espaço pode ser usado para dispositivos de entrada de dados

Page 28: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Seleção dos Endereços das Chaves

Prof. Adilson Gonzaga 28

Se A15 =1 Faixa de endereços de 8000h a FFFFh (32 Kbytes)

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8000h

FFFFh

Este espaço pode ser usado para dispositivos de entrada de dados

Lógica de seleção dos endereços das chaves:

PSENAS +=_____

15

S somente será igual a zero no intervalo de endereços de 8000h a FFFFh, pois A15 =1 e durante o pulso de leitura, PSEN = 0

Page 29: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Chaves conectadas diretamente no Duto de Dados (Espaço da Memória de Programa)

� É necessário utilizar um circuito Octal Buffer/Line Driver –Tri-state

Ex: 74244

Prof. Adilson Gonzaga 29

As Saídas “Y” copiam as entradas “A” quando os pinos “OE” estão em nível baixo. Caso contrário, as saídas ficam em “tri-state” (Alta impedância = Z).

Page 30: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Prof. Adilson Gonzaga 30

Memória de Programa:0000 a 3FFFh (16 Kbytes)

Chaves:Qualquer endereço no intervalo:8000h a FFFFhAcessa o conjunto de 8 chaves

Qual instrução pode ser usada para ler o valor das 8 chaves?

Res: MOVC A,@A+DPTR tendo carregado antes o DPTR MOV DPTR,#8000h ou com qualquer outro valor até FFFFh

Page 31: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ex: Programa que lê as chaves e mostra seu valor na P1 continuamente

Prof. Adilson Gonzaga 31

Observe que qualquer valor no DPTR entre 8000h e FFFFh gera

sinal de leitura no circuito de “Line-Driver” das chaves.

Page 32: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Espaço de Endereçamento da Memória de Dados Externa

Prof. Adilson Gonzaga 32

A Demultiplexação dos dutos realizada para a Memória de Programa Externa é também utilizada para endereçar a Memória de Dados Externa.

O que diferencia o espaço de endereçamento da Memória de Programa Externa do espaço de endereçamento da Memória de Dados Externa são as linhas de leitura (RD) e escrita (WR).

Page 33: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapeamento Completo da Memória de Dados Externa - RAM (64K)

Prof. Adilson Gonzaga 33

O pino EA não tem nenhum efeito sobre a Memória Externa de Dados

E possível escrever ou ler em qualquer posição, de 0000 a FFFFh, usando as instruções MOVX

Page 34: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ciclo de Leitura na Memória de Dados Externa ( MOVX A,@DPTR )

Prof. Adilson Gonzaga 34

No início do Ciclo de Máquina de uma instrução MOVX A,@DPTRo 8051 pulsa o ALE para que se possa armazenar externamente o Duto de Endereços (A0 a A7)

O DPL é enviado para a Porta P0 e o DPH para a Porta P2. O pino RD ativa a leitura

O dado acessado no endereço (DPH DPL) é colocado no Duto de Dados (Porta P0).

Page 35: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ciclo de Leitura na Memória de Dados Externa ( MOVX A,@Ri)

Prof. Adilson Gonzaga 35

No início do Ciclo de Máquina de uma instrução MOVX A,@Rio 8051 pulsa o ALE para que se possa armazenar externamente o Duto de Endereços (A0 a A7)

O Ri é enviado para a Porta P0. O pino RD ativa a leitura.A Porta P2 não é utilizada para endereçamento.

O dado acessado no endereço ( Ri) é colocado no Duto de Dados (Porta P0).

Page 36: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ciclo de Escrita na Memória de Dados Externa (MOVX @DPTR,A)

Prof. Adilson Gonzaga 36

No início do Ciclo de Máquina de uma instrução MOVX @DPTR,Ao 8051 pulsa o ALE para que se possa armazenar externamente o Duto de Endereços (A0 a A7)

O DPL é enviado para a Porta P0 e o DPH para a Porta P2. O pino WR ativa a escrita

O dado a ser armazenado no endereço (DPH DPL) é colocado no Duto de Dados (Porta P0).

Page 37: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Ciclo de Escrita na Memória de Dados Externa (MOVX @Ri,A)

Prof. Adilson Gonzaga 37

No início do Ciclo de Máquina de uma instrução MOVX @Ri,Ao 8051 pulsa o ALE para que se possa armazenar externamente o Duto de Endereços (A0 a A7)

O Ri é enviado para a Porta P0. O pino WR ativa a escrita. A Porta P2 não é utilizada para endereçamento.

O dado a ser armazenado no endereço ( Ri) é colocado no Duto de Dados (Porta P0).

Page 38: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Observações:� Tanto na Leitura como na Escrita usando as instruções:MOVX A,@RiMOVX @Ri,A

a Porta P2 não é utilizada como duto, logo, pode ser utilizada como porta comum.

Prof. Adilson Gonzaga 38

O acesso à Memória de Dados Externa Usando estas instruções, atinge apenas do endereço 0000 a 00FFh ( as primeiras 256 posições).

Page 39: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Mapa de Memória de Dados Externa

Prof. Adilson Gonzaga 39

0000h

FFFFh

Y1(8k)Y2(8k)Y3(8k)Y4(8k)Y5(8k)Y6(8k)Y7(8k)

64k

A15 A14 A13 Saída End.

Inicial

End.

Final

0 0 0 Y0 0000h 1FFFh

0 0 1 Y1 2000h 3FFFh

0 1 0 Y2 4000h 5FFFh

0 1 1 Y3 6000h 7FFFh

1 0 0 Y4 8000h 9FFFh

1 0 1 Y5 A000h BFFFh

1 1 0 Y6 C000h DFFFh

1 1 1 Y7 E000h FFFFh

Memória de Dados (64k) particionada em 8 blocos de 8 Kbytes

Y0(8k)

As linhas RD e WR garantem que as saídas (Y0 a Y7) fiquem ativas somente durante uma leitura ou escrita no endereço selecionado.

Page 40: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Espaço de Endereçamento da Memória de Dados Externa

Prof. Adilson Gonzaga 40

As 64 K posições da Memória de Dados Externa podem ser também utilizadas tanto por componentes de memória (RAM) como por dispositivos de Entrada/Saída de Dados.

Memória de Dados

Dispositivo 1

Dispositivo 2

Dispositivo n

0000

FFFFh

Os dispositivos de Interface podem ocupar uma ou várias posições de memória e poderão ser Interfaces de Entrada ou Saída.

Se o dispositivo for uma Entrada, o pino de RD será ativado e a instrução a ser usada é do tipo MOVX A,@DPTR

Se o dispositivo for uma Saída, o pino de WR será ativado e a instrução a ser usada é do tipo MOVX @DPTR,A

Page 41: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Entrada e Saída mapeada em Memória (Espaço da Memória de Dados Externa)

� Exemplos de Dispositivos de Entrada:

◦ Conversor A/D

◦ Chaves

◦ Sensores

� Exemplos de Dispositivos de Saída:

◦ Conversor D/A

◦ Displays

◦ Leds

◦ Atuadores (Relês, motores, etc...)

Prof. Adilson Gonzaga 41

Page 42: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Exemplo_3: Espaço da RAM Externa com 32 Kbytes de RAM + 8 Chaves e 8 Leds.

Prof. Adilson Gonzaga 42

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Mapeamento:

0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0000

7FFFh

Espaço de 32 Kbytes de RAMA15=0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 8000h

FFFFh

Espaço de 32 Kbytes (Mapeados como I/O)A15=1

A15 RD WR RAM Entrada Saída

0 x x Ativa Desativada Desativada

1 0 1 Desativada Ativa Desativada

1 1 0 Desativada Desativada Ativa

Page 43: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Circuitos de interface para a Entrada e para a Saída

Prof. Adilson Gonzaga 43

Line-driver para a Entrada: (74244)O circuito é ativado com nível lógico zero

Latch para a Saída: (74373)O circuito é ativado com nível lógico um.

Page 44: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Exemplo_3: Espaço da RAM Externa com 32 Kbytes de RAM + 8 Chaves e 8 Leds.

Prof. Adilson Gonzaga 44

_________

15ARDSi +=

A15 Si

0 0 1

0 1 0

1 0 1

1 1 1

15AWRSo ⋅=

A15 So

0 0 0

0 1 1

1 0 0

1 1 0

____

WR

_____

RD

Page 45: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Programa que lê as chaves, armazena o byte equivalente na RAM Externa e acende ou apaga os Leds correspondentes

Prof. Adilson Gonzaga 45

LED é aceso com nível lógico UM

Chave Fechada = Nível lógico ZERO

Page 46: Exemplo de Projeto com Microcontrolador MCS-51iris.sel.eesc.usp.br/sel433a/Aula8.pdf · Externa (MOVX @Ri,A) Prof. AdilsonGonzaga 37 No início do Ciclo de Máquina de uma instrução

Projeto: (Entregar até o dia da P2)

Prof. Adilson Gonzaga 46

Projetar um Circuito Microcontrolado baseado no AT89S52 e com os seguintes requisitos mínimos:

a) Memória de Programa externa = mínimo de 8K Bytesb) Memória de Dados externa = mínimo de 8k Bytesc) Teclado Matricial de 16 teclas. Cada tecla apertada gera sinal na INT1 d) Display LCD de 16 caracteres x 2 linhase) Quatro Motores de Passo com acionamentos independentesf) Um sensor óptico conectado na Interrupção externa INT0g) Um “encoder óptico” conectado na entrada T0h) Um Conversor A/D de 8 Bitsi) Um Conversor D/A de 8 Bitsj) Interface Serial RS232k) 8 Leds de sinalização

Fornecer o Esquema eletrônico (Hardware), o Mapeamento de

memória e Periféricos.