Notas de Aula Prof. André R. Hirakawa Prof. Paulo S...

28
Notas de Aula Prof. André R. Hirakawa Prof. Paulo S. Cugnasca Prof. Carlos E. Cugnasca

Transcript of Notas de Aula Prof. André R. Hirakawa Prof. Paulo S...

Page 1: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

��������������

�� �

Notas de AulaProf. André R. HirakawaProf. Paulo S. CugnascaProf. Carlos E. Cugnasca

Page 2: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

����������

�� �

Page 3: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

������������� �������

SISTEMAS COMPACTOS: � MEMÓRIAS ROM/RAM INTERNAS� E/S INTERNOS:� 1 CANAL SERIAL (CONSOME P3.0 E P3.1)� 2 TIMERS/CONTADORES (PODEM CONSUMIR

P3.4 E P3.5)� 2 INTERRUPÇÕES EXTERNAS (CONSOMEM

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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

������������������ ��

EXPANSÃO DE MEMÓRIA:� ROM: 0000H A FFFFH →→→→ até 64 k bytes

� 80C31: SÓ ROM EXTERNA� 80C51:� CASO EA/ = 1: 4k INT. E ATÉ 60 K EXT.� CASO EA/ = O: SÓ ROM EXTERNA

� RAM: 0000H A FFFFH – até 64 k bytes, ALÉM DA RAM INTERNA

Page 5: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

� E/S INTERNOS: 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

������������������ ��

Page 6: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

������ ��

� 128 BYTES� REGISTROS ESPECIAIS

128 BYTES

RAM INTERNA USO GERAL E PILHA

127

0

7FH

00H

128 BYTES

REGISTROS DE FUNÇÕES

ESPECIAIS

SFR255

128

FFH

80H

Page 7: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

������ ��������

BANCO 0R7...R0

07H

00H

BANCO 1R7...R0

0FH

08H

BANCO 2R7...R0

17H

10H

PODEM SER USADOS COMO REGISTRADORES DE ÍNDICE (R0 E R1)

SELEÇÃO: 2 BITS DO PSWEX.: INTERRUPÇÕES USAM

BANCO 1, PROGRAMA USA BANCO 0

BANCO 3R7...R0

1FH

18H

BITS E BYTES ENDEREÇÁVEIS2FH

20H

BYTES ENDEREÇÁVEIS7FH

30H

Page 8: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

���� ��������� �

↓↓↓↓ bit e byte endereçáveis87PCONDPHDPLSPP0808FTH1TH0TL1TL0TMODTCON8897P1909FSBUFSCON98A7P2A0AFIEA8B7P3B0BFIPB8C7C0CFC8D7D0DFPSWD8E7ACCE0EFE8F7BF0FFF8

Page 9: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�������������

PARIDADE

EXP.FUT.

OVERF.0O: BANCO 001: BANCO 110: BANCO 211: BANCO 3

USERDEF.

CARRYAUX.

CARRY

POVRS0RS1F0ACCY

01234567PSW:

Page 10: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�� ��������� ���� ��

� ROM: SÓ PROGRAMAS E LEITURA DE CONSTANTES� ACESSO À ROM EXTERNA GERA SINAL PSEN/ (~RD/

PARA ROM)� FORMA DE LER CONSTANTES DA ROM: USAR O

REGISTRADOR DPTR� EX.: ÚNICA MANEIRA DE SE LER CONSTANTES NA

ROM EXTERNA

end. x

(A) ←←←← conteúdo end. xA, @A + DPTRMOVC

(DPTR) ←←←← dado16DPTR, #dado16MOV

# - IMEDIATO @ - INDIRETO

Page 11: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�� ��������� ���� ��

� RAM INTERNA E RAM EXTERNA (GERA RD/ E WR/):� ENDEREÇOS IGUAIS, MAS ACESSADAS COM INSTRUÇÕES

DIFERENTES� EX.: END. 20H INTERNO – MODO DE END. DIRETO

(20H) ←←←← (A)20H, AMOV

– END. 20H EXT. – MODO DE END. INDEXADO– USANDO Ri (8 BITS, MAIS RÁPIDO)

(A) ←←←← (20H) A, @R0MOVXLeitura

(20H) ←←←← (A) @R0, AMOVXEscrita

(R0) ←←←← 20HR0, #20HMOV

Page 12: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�� ��������� ���� ��

� QUALQUER POSIÇÃO: USAR DPTR (16 BITS)

(A) ←←←← ((DPTR))A, @ DPTRMOVXLeitura

((DPTR)) ←←←← (A)@DPTR, AMOVXEscrita

(DPTR) ←←←← dado16DPTR, # dado16MOV

Page 13: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�����

� SEMPRE NA RAM INTERNA� PONTEIRO DA PILHA: SP (81H)� PUSH / POP : 1 BYTE, END. RETORNO: 2 BYTES

7FH

. . .

60H

INSERSÃO: SP + 1REMOÇÃO: SP - 1

BASE DA PILHAP.EX., 5FH

30H31H5FH

20H2FH

Page 14: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

��������������������������

� APENAS PARA AS VERSÕES CHMOS: � EX.: 80C51BH, 80C31BH, 87C51,

80C52BH, ...

Page 15: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

����������

� 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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

��������� �����

� 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:� 10 mA, 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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

��� !" ��� �����#��

� 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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

������� ��$����� ��

Page 19: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

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

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

��� !" ��� �����#��

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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

��� !" ��� �����#��

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.

B0HB1HB2HB3HB4HB5HB6HB7HEND.

RXDTXDINT0/INT1/T0T1WR/RD/SINAL

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

Page 21: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

� ALGUMAS INSTRUÇÕES LÊEM 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 LÊEM E MODIFICAM (POR EX., COMPLEMENTO) LÊEM 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.

��� !" ��� �����#��

Page 22: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�� !" ���� �����

� 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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

%��� ������ �����

...

CANAL SERIAL0023H

...

TIMER 1001BH

...

INT1/0013H

...

TIMER 0000BH

...

INT0/0003H

...

RESET0000H

Page 24: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�� ��� ������� �����

Page 25: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

���� ��� ����&���'

88H89H8AH8BH8CH8DH8EH8FHEND.

IT0IE0IT1IE1TIMERS 0 E 1SINAL

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

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: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

���� ��� ��&���'

A8HA9HAAHABHACHADHAEHAFHEND.

EX0ET0EX1ET1ESEASINAL

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

Page 27: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

���� ��� ��&(��'

B8HB9HBAHBBHBCHBDHBEHBFHEND.

PX0PT0PX1PT1PSSINAL

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

Page 28: Notas de Aula Prof. André R. Hirakawa Prof. Paulo S ...sites.poli.usp.br/d/pcs2529/index_arquivos/8051.pdf · alguns bits nÃo disponÍveis no caso de uso dos recursos porta serial

�������������

� 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