sel 0415 – introd. À organizaÇÃo de computadoresiris.sel.eesc.usp.br/sel415m/aula 10 - 8051...

58
SEL 0415 Prof. Dr. Marcelo A. C. Vieira SEL 0415 INTROD. À ORGANIZAÇÃO DE COMPUTADORES Aula 10 Microcontrolador Intel 8051 Parte 2

Upload: vuongkhuong

Post on 29-Jul-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

SE

L 04

15

Prof. Dr. Marcelo A. C. Vieira

SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORES

Aula 10 – MicrocontroladorIntel 8051 Parte 2

Page 2: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Mapeamento das memórias internas

SE

L 41

5

Page 3: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

n 8051 oferece uma memória de dados interna, com ummínimo de 128 bytes para o usuário (uso geral)ØVantagem 1: rápido acesso aos dados e, em

muitas aplicações, pode eliminar a necessidade daRAM externa _ custo menor;

ØVantagem 2: áreas de RAM interna acessíveis bit abit _ útil para operações booleanas.

n Duto de endereçamento para a RAM interna → 8 bitsÆ256 bytes de memória (128 bytes para o usuário e

128 bytes para uso interno e para os registradoresde funções especiais

ÆModelo 8052 Æ há mais 128 bytes de RAM parauso geral (total de 384 bytes)

Memória de dados interna (RAM)

Page 4: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Memória de dados interna (RAM)

(REGISTRADORES DE USO GERAL)

128 BYTES INFERIORES DA RAM INTERNA

7Fh

.

.

.

00h

FFh

.

.

.

80h

(REGISTRADORES DE FUNÇÕES ESPECIAIS) 128 BYTES

SUPERIORES

Page 5: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Memória de dados interna (RAM)

(Registradores de Uso Geral)128 BYTES

SUPERIORES (modelo 8052)

(REGISTRADORES DE USO GERAL)

128 BYTES INFERIORES DA RAM INTERNA

7Fh

.

.

.

00h

FFh

.

.

.

80h

(REGISTRADORES DE FUNÇÕES ESPECIAIS) 128 BYTES

SUPERIORES

FFh

.

.

.

80h

Page 6: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Modos de Endereçamento

7Fh

.

.

.

00h

FFh

.

.

.

80h

Apenas Endereçamento

Direto

FFh

.

.

.

80h

Endereçamento Direto e Indireto

Apenas Endereçamento

Indireto

Page 7: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Registradores de Funções Especiais (SFR)

SE

L 41

5

Page 8: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

7Fh

.

.

.

00h

FFh

.

.

.

80h

SFR

FFh

.

.

.

80h

• Registradores da CPU para configuração de operações, controle de periféricos, interrupção, temporizadores, portas de I/O, etc.

• 16 posições endereçáveis por bit

Registradores de Funções Especiais (SFR)

Page 9: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Registradores de Funções Especiais (SFR) – Mapa

Endereço

80889098A0A8B0B8C0C8D0D8E0E8F0F8

P0

P1

P2

P3

SP DPL DPH PCONTCON TMOD TL0 TL1 TH0 TH1

SCON SBUF

IE

IP

PSW

ACC

B

878F979FA7AFB7BFC7CFD7DFE7EFF7FF

Page 10: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Registradores de Uso Geral (GPR)

GPR

7Fh

.

.

.

00h

FFh

.

.

.

80h

FFh

.

.

.

80h• Registradores para uso do programador • 4 bancos de registradores Ri para facilitar a programação• 16 posições endereçáveis por bit

Page 11: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

R7...R0

R7...R0

R7...R0

R7...R0

07...00

BANCO DE REGISTRADORES 0

BANCO DE REGISTRADORES 1

BANCO DE REGISTRADORES 2

BANCO DE REGISTRADORES 3

80 BYTES ENDEREÇÁVEIS

16 BYTES ENDE-REÇÁVEIS POR BIT

7F ... 7807 ... 00

0F...08

17...10

1F...18

2F...20

7F...30

Registradores de Propósito Geral (GPR)

Page 12: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

• Formados pelos registradores R0 a R7• Seleção entre os Bancos feita pelos bits 3 e 4 do registrador PSW

Bits de controle do banco de

registradores

CY AC F0 RS1 RS0 OV – P

07

RS1 RS0 Banco Endereço0 0 0 00 – 07h0 1 1 08 – 0Fh1 0 2 10 – 17h1 1 3 18 – 1Fh

Banco de Registradores

Program Status Word - PSW

Page 13: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Memória de dados interna (RAM)

Área de dadosAs posições de 30h a 7Fh da RAM interna são disponíveis para leitura e escrita, através de endereçamento direto e indireto.

Bits de seleção em um

registrador especial

chamado de PSW

11

10

01

00 00h

07h

08h

10h

18h

20h

30h

0Fh

17h

1Fh

2Fh

7Fh

Banco 3

Banco 2

Banco 1

Banco 0

Page 14: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e S

iste

mas

Dig

itais

nBits indicadores de estado:Ø São bits que são setados ou apagados (0 ou 1),

geralmente por hardware, dependendo do resultado de alguma operação do microcontrolador

ØAlguns podem ser setados ou apagados na instrução (por software)

ØAlgumas instruções testam flags para ver se elas devem ser executadas ou não

Ø flags típicas: CARRY, ZERO, OVERFLOWØ No 8051 as flags de estado da ULA ficam no

registrador PSW

ØHá também outras flags, como das interrupções, comunicação serial, temporizadores, etc.

Flags

Page 15: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Program Status Word - PSW

Flag de CARRY

Flag de CARRYAuxiliar*

(*) Para operações BCD

Flagauxiliar

Flag de OVERFLOW

C AC F0 RS1 RS0 OV – P

07

Flag de Paridade

Registradores de Funções Especiais (SFR)

Page 16: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Endereçamento por ByteSFR Endereçáveis por Byte

Todas as posições de memória RAM dos registradoresespeciais (80-FF) podem ser acessadas por byte (usando onome ou o endereço do registrador), mas apenas porendereçamento direto.

Ex.:a) Endereçamento Direto

MOV P0, #0AAh ou MOV 80h, #0AAh

MOV PSW, #00011000b ou MOV D0h, #00011000b

MOV SP, #00 ou MOV 81h, #00

Page 17: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

§ Os SFR’s cujos endereços terminam em 0 ou 8h podem também ser endereçados a bit§ Modos de acesso ao bit:

(I) por endereço do Bit dentro do Byte:

1. SETB 80h.1; seta o bit 1 do endereço 80h (Porta 0)

2. CLR 80h.2 ; zera o bit 2 do endereço 80h (Porta 0)

SFR endereçáveis a bitP0

P1

P2

P3

TCON

SCON

IE

IP

PSW

ACC

B

80

889098A0A8B0B8C0C8D0D8E0E8F0F8

Endereçamento por Bit

Page 18: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

§ Os SFR’s cujos endereços terminam em 0 ou 8h podem também ser endereçados a bit§ Modos de acesso ao bit:

(II) por nome :1. SETB P0.1 ; seta o bit 1 do endereço 80h (Porta 0)

2. CLR P0.2 ; zera o bit 2 do endereço 80h (Porta 0)

SFR endereçáveis a bitP0

P1

P2

P3

TCON

SCON

IE

IP

PSW

ACC

B

80889098A0A8B0B8C0C8D0D8E0E8F0F8

Endereçamento por Bit

Page 19: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

§ Os SFR’s cujos endereços terminam em 0 ou 8h podem também ser endereçados a bit§ Modos de acesso ao bit:

(III) pelo endereço absoluto do bit :

1. SETB 81h ; seta o bit 1 do endereço 80h (Porta 0)

2. CLR 82h ; zera o bit 2 do endereço 80h (Porta 0)

SFR endereçáveis a bitP0

P1

P2

P3

TCON

SCON

IE

IP

PSW

ACC

B

80889098A0A8B0B8C0C8D0D8E0E8F0F8

Endereçamento por Bit

Page 20: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Registradores de Uso Geral (GPR)

SE

L 41

5

Page 21: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Endereçamento por ByteGPR Endereçáveis por Byte

Todas as posições de memória RAMdos registradores de uso geral (00-7F)podem ser acessadas por byte, porendereçamento direto ou indireto.

Ex.:a) Endereçamento Direto

MOV 30h,#0AAh

b) Endereçamento Indireto

MOV R0,#30H

MOV @R0,#0AAh

Page 22: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Endereçamento por Bit

Todos os bytes de endereço entre 20h – 2Fh também podem ser endereçados por bit

Ex. SETB 0Ah ou SETB 21h.2CLR 47h ou CLR 28h.7

GPR Endereçáveis por Bit

Page 23: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Instruções de operação direta com bit

CLR bit à zera o bit diretamente SETB bit à seta o bit diretamenteCPL bit à complementa o bit diretamente

ANL C,bit à AND entre o bit e o carryANL C,/bit à AND entre o complemento do bit e o carryORL C,bit à OR entre o bit e o carryORL C,/bit à OR entre o complemento do bit e o carryMOV C,bit à move o bit para o carryMOV bit,C à move o carry para o bitJB bit,rel à pula para o end. “rel” se bit = 1JNB bit,rel à pula para o end. “rel” se bit = 0JB bit,rel à pula para o end. “rel” se bit = 1 e zera o bit

Page 24: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Registradores de controle das portas de I/O

§ P0 (80h) Æ Porta 0§ P1 (90h) Æ Porta 1§ P2 (A0h) Æ Porta 2§ P3 (B0h) Æ Porta 3

• Contêm os dados das 4 portas deI/O do 8051 (cada porta tem umlatch associado de 8 bits)

•Todas podem ser endereçáveis abit (controle de cada pinoindividualmente)

• Escrever nesses registradores Æ altera o conteúdo nos pinos desaída do chip

• MOV P1,#01h

• Leitura Æ os registradores armazenam o estado presente nospinos do chip na posição desejada

• MOV A, P1

Page 25: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

n PC (Program Counter): ponteiro de 16 bits paraárea de programa (ROM)

n DPTR (Data Pointer): ponteiro de 16 bits para áreade dados em memória RAM interna e externa

n SP (Stack Pointer): ponteiro de pilha (8 bits),determina a área da RAM interna dedicada à pilha.n R0: ponteiro de 8 bits para RAM interna ou externan R1: ponteiro de 8 bits para RAM interna ou externa

Ponteiros

Page 26: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplos com instrução MOV:

Instruções para Memória de Dados Interna (RAM)

• Endereçamento imediato: MOV R0,#0F8H

• Endereçamento direto: MOV R3,6FHMOV 34H, 7FH

• Endereçamento indireto: MOV A, @R1MOV A, @R0

• Endereçamento por registrador: MOV A,R7

Page 27: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplo de Programação #1

Page 28: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Exemplo de Programação 1

Ex. aplicativo:

§Suponhamos que, em função de um certo bit (P3.5), os leds nos 8 pinos da porta 1 sejam acesos sequencialmente conforme o estado daquele bit

8051

P1.0

P1.1...

P1.7

Vcc

Vcc

R

R

R

.

..

.. .

Vcc

P3.5

Vcc

Page 29: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Exemplo de Programação 1Software simbólico:

faz acumulador = 00000001

Lê o bitse P3.5 = 0 então

roda acumulador à esquerda (coloca o bit D0 em D1 e assim por diante, até colocar o bit D7 em D0)move acumulador para a porta 1perde um tempovolta para o “Lê o bit”

senão (isto é, se P3.5 = 1)

roda acumulador à direita (coloca o bit D7 em D6 e assim por diante, até colocar o bit D0 em D7)move acumulador para a porta 1perde um tempovolta para o “Lê o bit”

Page 30: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Software RealORG 0 ;define início do programa no end. 00hMOV A,#00000001B ;faz acumulador = 00000001 MOV P1, A ;move acumulador para a Porta 1

LEITURA: JNB P3.5, LEFT ;pula para LEFT se P3.5 = 0, senão próx. linha

RIGHT:RR A ;roda byte do Acumulador para direitaMOV P1, A ;move Acumulador para a Porta 1ACALL TEMPO ;gasta tempoSJMP LEITURA ;lê bit P3.5 novamente

LEFT:RL A ;roda byte do Acumulador para esquerdaMOV P1, A ;move Acumulador para a Porta 1ACALL TEMPO ;gasta tempoSJMP LEITURA ;lê bit P3.5 novamente

TEMPO:xxx ;sub-rotina para gastar tempoRET ;retorna da sub-rotinaEND ;fim do programa (compilador)

Page 31: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Como fica na Memória ROM (Flash) do 8051?

Page 32: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplo de Programação #2

Page 33: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplo # 2Usando ponteiro de 8 bits

ORG 0 ; define início do programa no endereço 00hMOV R0, #30h ; carrega ponteiro com endereço 30hCLR A ; apaga conteúdo do acumulador

SOMA: ADD A, @R0 ; soma o valor apontado pelo ponteiro

INC R0 ; incrementa ponteiroCJNE R0, #34h, SOMA ; verifica se o ponteiro chegou no end. 34h

FIM: SJMP FIM ; fim lógico do programa

Gru

po d

e S

iste

mas

Dig

itais

Page 34: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Como fica na memória ROM (Flash) no 8051?

Page 35: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Como fica a memória RAM

após a execução do programa?

Page 36: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Rotinas de Temporização

SE

L 41

5

Page 37: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 38: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

CICLO DE MÁQUINA

Clock e Temporização no 8051

n Consiste numa seqüência de 6 estados, cada um formado por dois períodos de CK Æ por isso:

1 ciclo de máquina = 12 períodos de CK

Page 39: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 40: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

CICLO DE MÁQUINA

Clock e Temporização no 8051

n Instruções da família MCS-51 duram 12 ou 24 TCK (1 ou 2 Ciclos de máquina - CM)

n Exceção Æ MUL AB e DIV AB (usam 4 CM)

Page 41: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 42: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 43: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 44: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Page 45: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplo de Programação #3

Page 46: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

• Fazer o mesmo exemplo #1 do acendimentosequencial de LEDs considerando agora umintervalo de 1s entre cada acendimento;

• Considerar que o 8051 está alimentado com umcristal de 1,0 MHz.

Exemplo de Programação

Page 47: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Exemplo de Programação

Ex. aplicativo:

§Suponhamos que, em função de um certo bit (P3.5), os leds nos 8 pinos da porta 1 sejam acesos seqüencialmente conforme o estado daquele bit;

§ Considerar agora um atraso de 1s na seqüência

8051

P1.0

P1.1...

P1.7

Vcc

Vcc

R

R

R

.

..

.. .

Vcc

P3.5

Vcc

Page 48: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Exemplo de ProgramaçãoSoftware simbólico:

faz acumulador = 00000001

Lê o bitse P3.5 = 0 então

roda acumulador à esquerda (coloca o bit D0 em D1 e assim por diante, até colocar o bit D7 em D0)move acumulador para a porta 1perde um tempo – 1s com clock de 1MHzvolta para o “Lê o bit”

senão (isto é, se P3.5 = 1)

roda acumulador à direita (coloca o bit D7 em D6 e assim por diante, até colocar o bit D0 em D7)move acumulador para a porta 1perde um tempo – 1s com clock de 1MHzvolta para o “Lê o bit”

Page 49: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e S

iste

mas D

igitais

Cálculos para atraso de 1sClock (cristal) de 1 MHz :

§ Tcristal = 1 / f = 1/106

= 1μs

§ Ciclo de máquina (M) = 12 x Tcristal = 12μs

§ fcristal = 1MHz

§ fciclo de máquina = 1MHz / 12 = 0,08333 MHz

§ Ciclo de máquina (M) = 1 / fciclo de máquina = 1 / 0,08333 MHz =

12μs

Page 50: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e S

iste

mas

Dig

itais

Cálculos para atraso de 1sNúmeros de ciclos de máquina :

Rotina de 16 bits (R0 e R1):

§ C = ((((R0 x 2) +3) x R1) +3)

§ Δt = C x M = 1s - como M = 12μs, temos:

§ C = 1/12μ ~ 83333 ciclos

§ Escolho um valor para R0 e determino R1...

§ Fazendo R0 = 250 e R1 = 166

§ C = 83501 ciclos \ Δt = C x M = 83501 x 12μs ~ 1,002s

Page 51: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e S

iste

mas

Dig

itais

Software Real (com atraso)ORG 0MOV A,#00000001B ;faz acumulador = 00000001 MOV P1, A ;move acumulador para a Porta 1

LEITURA: JNB P3.5, LEFT ;pula para LEFT se P3.5 = 0, senão próx. linha

RIGHT:RR A ;roda byte do Acumulador para direitaMOV P1, A ;move Acumulador para a Porta 1ACALL TEMPO ;gasta tempoSJMP LEITURA ;lê bit P3.5 novamente

LEFT:RL A ;roda byte do Acumulador para esquerdaMOV P1, A ;move Acumulador para a Porta 1ACALL TEMPO ;gasta tempoSJMP LEITURA ;lê bit P3.5 novamente

TEMPO: ;sub-rotina para gastar 1sMOV R1, #166 ;considerando cristal de 1MHz

LOOP: MOV R0, #250DJNZ R0, $DJNZ R1, LOOPRET ;retorna da sub-rotinaEND ;fim do programa para o compilador

Page 52: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Exemplo de Programação #4

Page 53: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

SE

L 41

5

Uso da memória de programa para

armazenamento de dados não voláteis

Page 54: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

• Utiliza a memória de programa (ROM) para armazenar dados

• É denominado modo de endereçamento indexado• Utilizado para armazenamento de tabelas (dados não voláteis)

• É endereçável pelo ponteiro de dados DPTR (16 bits)

• É necessário utilizar uma diretiva do compilador para armazenar atabela de dados (o compilador deve saber diferenciar o que éinstrução e o que é dados parar escrever na memória de programa)

Instrução:

MOVC A,@A+DPTR

Instrução para Memória de Programa

Exemplo:MOV DPTR, #0F0BHCLR AMOVC A,@A+DPTR

Page 55: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

ORG 0MOV DPTR, #TABELA

LOOP:MOV A, P0MOVC A, @A+DPTRMOV 30H, ASJMP LOOP

TABELA: DB 0,6,10,12,14,16,17,18

Exemplo de Programa

Tabela de conversão para cálculo de “20*log(num+1)”, sendo num o valor colocado na porta P0

Page 56: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

Como fica na memória ROM (Flash) no 8051?

Page 57: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Algumas Instruções - 8051

• MOV• MOVC• MOVX• ADD• SETB• CLR• SJMP• ACALL• INC • DEC• CPL

• ORG• EQU• END• DB

diretivas do compilador

Ver apostila na página da disciplina: Capítulos 10 e 11

• JB• JNB• RET• RETI• DJNZ• NOP• RR• RL• PUSH• POP

Page 58: SEL 0415 – INTROD. À ORGANIZAÇÃO DE COMPUTADORESiris.sel.eesc.usp.br/sel415m/Aula 10 - 8051 Parte 2.pdf · 5 Prof. Dr. Marcelo A. C. Vieira SEL 0415 – INTROD. À ORGANIZAÇÃO

Gru

po d

e Si

stem

as D

igita

is

FIM