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

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

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