8051 - v2014.ppt [Modo de Compatibilidade] -...

28
MICROCONTROLADOR 8051 Notas de Aula (v.2014) Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

Transcript of 8051 - v2014.ppt [Modo de Compatibilidade] -...

Page 1: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

MICROCONTROLADOR8051

Notas de Aula (v.2014)

Prof. André R. Hirakawa

Prof. Paulo S. Cugnasca

Prof. Carlos E. Cugnasca

Page 2: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

ARQUITETURA 8051

Page 3: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

APLICAÇÕES MAIS FREQUENTES

SISTEMAS COMPACTOS: � MEMÓRIAS ROM / RAM INTERNAS� E/S INTERNAS:

� 1 CANAL SERIAL (CONSOME P3.0 E P3.1)� 2 INTERRUPÇÕES EXTERNAS (CONSOMEM P3.2 E P3.3)� 2 TIMERS/CONTADORES (PODEM CONSUMIR P3.4 E P3.5)� 26 LINHAS E/S (4x8 – 2 – 2 – 2):

� P0 (2 CARGAS TTL), � P1, P2, P3 (1 CARGA TTL)

� MODOS DE BAIXO CONSUMO

Page 4: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

APLICAÇÕES DE MÉDIO PORTE

EXPANSÃO DE MEMÓRIA:� ROM: 0000h a FFFFh →→→→ até 64k bytes

� 80C31: só ROM EXTERNA� 80C51:� Caso EA/ = 1: 4kbytes INT. e até 60k bytes EXT.� Caso EA/ = 0: só ROM EXTERNA

� RAM: 0000h a FFFFh →→→→ até 64k bytes, além da RAM INTERNA

Page 5: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

� E/S INTERNAS: parte consumida pelas expansões (sobra P1)

� EXPANSÃO DE MEMÓRIA: � P0 →→→→ AD0-7 � P2 →→→→ A8-15 � P3.6 →→→→ WR/ , P3.7 →→→→ RD/

� Expansão de E/S: mapeada no espaço de memória RAM.

� EX.: Display, Portas Paralelas, Conversor A/D

APLICAÇÕES DE MÉDIO PORTE

Page 6: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

RAM INTERNA

� 128 bytes� Registros Especiais

FFh

80h

255

128SFR

Registros de Funções Especiais

128 bytes

7Fh

00h

127

0

RAM Interna de Uso Geral &

Pilha

128 bytes

Page 7: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

RAM INTERNA E PILHA7Fh

30hBytes Endereçáveis

2Fh

20hBits e Bytes Endereçáveis

1Fh

18h

R7...R0

Banco 3 Seleção do Banco de Registradores: por meio de 2 bits do PSW

Ex.: Programa usa Banco 0Interrupções Usam o Banco 1

Observação: R0, R1 podem ser usados com Registradores de Índice

17h

10h

R7...R0

Banco 2

0Fh

08h

R7...R0

Banco 1

07h

00h

R7...R0

Banco 0

Page 8: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

REGISTROS ESPECIAIS - SFRF8 FFF0 B F7E8 EFE0 ACC E7D8 PSW DFD0 D7C8 CFC0 C7B8 IP BFB0 P3 B7A8 IE AFA0 P2 A798 SCON SBUF 9F90 P1 9788 TCON TMOD TL0 TL1 TH0 TH1 8F80 P0 SP DPL DPH PCON 87

↓ ↓ ↓ ↓ bit e byte endereçáveis

Page 9: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

REGISTRADOR PSW

PSW: 7 6 5 4 3 2 1 0

CY AC F0 RS1 RS0 OV P

CarryCarry

Auxiliar

UserDefini-

tion

00: Banco 001: Banco 110: Banco 211: Banco 3

OverflowExpan-

sãoFutura

Pari-dade

Page 10: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

FORMAS DE ACESSO À MEMÓRIA

� ROM: só parar programas e leitura de constantes

� Acesso à ROM Externa: gera sinal PSEN/ (~RD/ para ROM)

� Forma de se ler constantes da ROM: usar o Registrador DPTR

� EX.: única maneira de se ler constantes da ROM Externa

MOV DPTR, #dado16 (DPTR) ←←←← dado16

MOVC A, @A + DPTR (A) ←←←← conteúdo end. x

end. x

# - Endereçamento Imediato @ - Endereçamento Indireto

Page 11: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

FORMAS DE ACESSO À MEMÓRIA

� RAM Interna e RAM Externa (gera RD/ e WR/):� Endereços iguais, mas acessadas com instruções diferentes

� EX.: Endereço 20h Interno – modo de Endereçamento Direto

MOV 20h, A (20h) ←←←← (A)

� EX.: Endereço 20h Externo – modo de Endereçamento Indexadoo Usando Ri (de 8 bits, mais rápido, para i=0,1)

MOV R0, #20h (R0) ←←←← 20h

Escrita MOVX @R0, A (20h) ←←←← (A) ... ... ... ...

Leitura MOVX A, @R0 (A) ←←←← (20h)

Page 12: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

FORMAS DE ACESSO À MEMÓRIA

� Qualquer posição de memória: Usar DPTR (16 bits)

MOV DPTR, #dado16 (DPTR) ←←←← dado16

Escrita MOVX @DPTR, A ((DPTR)) ←←←← (A)

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

Leitura MOVX A, @DPTR (A) ←←←← ((DPTR))

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

Page 13: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

PILHA

� Sempre na memória RAM Interna� Ponteiro da Pilha: SP (81h)� PUSH / POP: 1 byte ; Endereço de Retorno: 2 bytes

20H2FH

30H31H5FH

Base da Pilhap.ex.: 5FH

Inserção: SP + 1Remoção: SP – 1

60H

. . .

7FH

Page 14: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

MODOS ESPECIAIS DE FUNCIONAMENTO

� Apenas para as versões CHMOS � Ex.: 80C51BH, 80C31BH, 87C51, 80C52BH, ...

Page 15: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

MODO “IDLE”

� A UCP PÁRA� RAM E DEMAIS COMPONENTES CONTINUAM ATIVOS →→→→

CONSUMO CAI PARA 15% DO ORIGINAL� PORTAS E/S MANTÊM O ÚLTIMO ESTADO� ALE E PSEN/ = 1

� FORMA DE ENTRADA DESSE MODO:� BIT 0 PCON ←←←← 1� FORMAS DE SAÍDA DESSE MODO:

� a. POR INTERRUPÇÃO HABILITADA� 1. COLOCAR 0 NO BIT 0 DE PCON (TIRA DE IDLE)� 2. DESVIA P/ TRATAMENTO INTERRUPÇÃO� 3. RETI LEVA PARA A INSTRUÇÃO SEGUINTE À QUE COLOCOU A UCP EM

IDLE� b. RESET:

� IDEM 1 E 3: NÃO VAI PARA A POSIÇÃO 0000h !

Page 16: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

MODO “POWER DOWN”

� TODAS AS ATIVIDADES DA UCP SÃO SUSPENSAS� A RAM INTERNA MANTÉM OS DADOS� ALE, PSEN/ VÃO PARA “0”� PORTAS E/S: MANTÉM ÚLTIMO ESTADO (COLOCAR “0” ,

SE POSSÍVEL, POIS REDUZ O CONSUMO)

� CONSUMO:� 10mA, E Vcc PODE SER REDUZIDO A ~ 2.0 V

� FORMA DE ENTRADA DESSE MODO:� BIT 1 PCON ←←←← 1

� FORMA DE SAÍDA DESSE MODO:� RESET:� RECOMEÇO DO PROGRAMA EM 0000h

Page 17: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

80C51 – ENTRADAS E SAÍDAS

� 4 PORTAS DE ENTRADA E SAÍDA, ENDEREÇADAS POR BYTE OU POR BIT, BIDIRECIONAIS.

� ÚTEIS PARA CONTROLAR PERIFÉRICOS, IMPLEMENTAÇÃO DE “HANDSHAKING”, FUNÇÕES LÓGICAS, PORTAS PARALELAS, ETC.

P0 - END. 80h (P0.0 – 80h, P0.1 – 81h, ... , P0.7 – 87h):

• NÃO DISPONÍVEL EM CASO DE EXPANSÃO EXTERNA DE MEMÓRIA (AD0-AD7)

• SUPORTA 8 CARGAS TTL LS. • NÃO POSSUI RESISTORES DE “PULL-UP” INTERNOS.

Page 18: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

CONFIGURAÇÃO DAS PORTAS

Page 19: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

P1 - END. 90h (P1.0 – 90h, P1.1 – 91h, ... , P1.7 – 97h):

� SUPORTA 4 CARGAS TTL LS. � POSSUI RESISTORES DE “PULL-UP” INTERNOS.

80C51 – ENTRADAS E SAÍDAS

P2 - END. A0h (P2.0 - A0h, P2.1 - A1h, ... , P2.7 - A7h):

• NÃO DISPONÍVEL EM CASO DE EXPANSÃO EXTERNA DE MEMÓRIA (A8-A15).

• SUPORTA 4 CARGAS TTL LS. • POSSUI RESISTORES DE “PULL-UP” INTERNOS.

Page 20: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

80C51 – ENTRADAS E SAÍDAS

P3 - END. B0h (P3.0 - B0h, P3.1 – B1h ... , P3.7 – B7h):

� ALGUNS BITS NÃO DISPONÍVEIS NO CASO DE USO DOS RECURSOS PORTA SERIAL E TIMERS.

� SUPORTA 4 CARGAS TTL LS. � POSSUI RESISTORES DE “PULL-UP” INTERNOS.

BIT P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0

SINAL RD/ WR/ T1 T0 INT1/ INT0/ TXD RXD

END. B7H B6H B5H B4H B3H B2H B1H B0H

Page 21: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

� ALGUMAS INSTRUÇÕES LEEM O PINO DA PORTA:MOV C,P1.5 ; Flag Carry ←←←← P1.5

� O NÍVEL LÓGICO PODE ESTAR DEGENERADO (CARGAS MAIS ALTAS, P.EX., TRANSISTORES). NESSE CASO, PODE-SE LER A SAÍDA DO LATCH:

� INSTRUÇÕES QUE LEEM E MODIFICAM (POR EX., COMPLEMENTO) LEEM A SAÍDA DO LATCH:

CPL P1.5 ; Complementa P1.5

� 1 CANAL SERIAL� 2 TIMERS/CONTADORES� EXPANSÕES: MAPEADAS NA MEMÓRIA RAM.

� EXEMPLOS: DISPLAYS, PORTAS DE 8 BITS ADICIONAIS, CONVERSORES AD E DA.

80C51 – ENTRADAS E SAÍDAS

Page 22: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

8051 – INTERRUPÇÕES

� INT0/ (MAIS PRIORITÁRIA) E INT1/: BITS DA PORTA P3� INTERRUPÇÕES VETORADAS, COM VETOR FIXO NA

MEMÓRIA DE PROGRAMA� HABILITAÇÃO E DESABILITAÇÃO INDIVIDUAL: BITS DO IE� INTERRUPÇÕES POR SOFTWARE: NÃO POSSUI (TRAP OU

RST), MAS PODEM SER SIMULADAS (ESCRITA NO REGISTRADOR DE INSTRUÇÕES). USO: POR EXEMPLO, CHAMADAS AO SISTEMA OPERACIONAL.

� PRIORIDADES – A INTERRUPÇÃO DE PRIORIDADE MAIOR INTERROMPE A INTERRUPÇÃO DE PRIORIDADE MENOR:

� INT0/, TIMER 0, INT1/, TIMER 1, CANAL SERIAL� MASCARAMENTO PERMITIDO – REGISTRADOR IE� PERMITE A CRIAÇÃO DE DOIS GRUPOS DE PRIORIDADE

(“NESTING”):� INTRi: SENSÍVEL À BORDA DE DESCIDA OU A NÍVEL ("0"),

CONFIGURÁVEL

Page 23: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

VETOR DE INTERRUPÇÕES

0000h RESET

...

0003h INT0/

...

000Bh TIMER 0

...

0013h INT1/

...

001Bh TIMER 1

...

0023h CANAL SERIAL

...

Page 24: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

ESTRUTURA DAS INTERRUPÇÕES

Page 25: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

REGISTRADOR TCON (88h)BIT TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0

SINAL TIMERS 0 E 1 IE1 IT1 IE0 IT0

END. 8Fh 8Eh 8Dh 8Ch 8Bh 8Ah 89h 88h

ITi = “1”: INTi\ ACEITA NA TRANSIÇÃO DE “1” PARA “0”, DEVENDO PERMANECER EM 0 POR PELO MENOS 12 PERÍODOS DE CLOCK

ITi = “0”: INTi\ ACEITA SE NA AMOSTRAGEM ESTIVER EM “0” (DEVE VOLTAR PARA “1” ANTES DO RETORNO DA ROTINA DE TRATAMENTO

IEi: O HARDWARE INTERNO O FAZ = “1” QUANDO DETECTADA UMA TRANSIÇÃO DE “1” PARA “0” EM INTi\, E = “0” QUANDO TRATA INTi\

Page 26: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

REGISTRADOR IE (A8h)

BIT IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0

SINAL EA ES ET1 EX1 ET0 EX0

END. AFh AEh ADh ACh ABh AAh A9h A8h

Page 27: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

REGISTRADOR IP (B8h)

BIT IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0

SINAL PS PT1 PX1 PT0 PX0

END. BFh BEh BDh BCh BBh BAh B9h B8h

Page 28: 8051 - v2014.ppt [Modo de Compatibilidade] - sites.poli.usp.brsites.poli.usp.br/d/pcs2529/index_arquivos/8051 - v2014.pdf · Registros Especiais FFh 80h 255 128 SFR Registros de ...

TIMER/COUNTER� 2 Timer/Counter de 16 bits

� Várias formas de entrada

� Geração interrupção

� Timer 1 utilizado para gerar o Baud rate da UART