Download ppt - Micro 8051

Transcript
Page 1: Micro 8051

Prentice Hall Microcontroladores 8051 1

Capítulo 2Capítulo 2A família de Microcontroladores MCS-51 A família de Microcontroladores MCS-51

da Intelda Intel

Membro original é o 8051; CPU de 8 bits otimizada para aplicações de controle; Poderosa capacidade de processamento booleano, incluindo lógica individual de bits; 64 Kbytes de endereçamento de memória de programa; 64 Kbytes de endereçamento de memória de dados; 4 Kbytes de memória de programa interna;

Page 2: Micro 8051

Prentice Hall 2Microcontroladores 8051

Capítulo 2:Capítulo 2:

128 bytes de memória RAM de dados interna; 32 linhas de I/O bidirecionais endereçáveis individualmente; 2 Timers/Contadores de 16 bits; 5 entradas de interrupções (3 internas e 2 externas) com 2 níveis de prioridade; 1 oscilador interno de relógio.

Page 3: Micro 8051

Prentice Hall 3Microcontroladores 8051

Capítulo 2: Capítulo 2: Arquitetura do 8051Arquitetura do 8051

Interrupções Internas (3) e Externas (2)

Controle deInterrupções

CPU

OSC Bar.Controle

ROM RAM

4 Portes de Ent/Sai Porte Serial

Timer 1Timer 0

TX RXP0 P1 P2 P3

Entradas externas de clock dos Contadores

Figura 1: Arquitetura básica do microcontrolador 8051.

Page 4: Micro 8051

Prentice Hall 4Microcontroladores 8051

Capítulo 2:Capítulo 2: Família de Microcontroladores MCS-51 da

Intel Dispositivo Versão sem

ROM Versão

com EPROM

Capacidade da ROM

Capacidade da RAM

Portes de E/S

de 8 bits

Timers/Conta-

dores de 16 bits

Matrizes de contadores

programáveis

UART Canais de DMA

Canais A/D

Fontes de interrupção

Modos de baixo

consumo e Idle

8051 8031 - 4K 128 4 2 X 6/5 8051AH 8031AH 8751AH

8751BH 4K 128 4 2 X 6/5

8052AH 8032AH 8752BH 8K 256 4 3 X 8/6 80C51BH 80C31BH 87C51 4K 128 4 2 X 6/5 X

80C52 80C32 - 8K 256 4 3 X 8/6 X 83C51FA 80C51FA 87C51FA 8K 256 4 3 X X 14/7 X 83C51FB 80C51FA 87C51FB 16K 256 4 3 X X 14/7 X 83C152JA 80C152JA - 8K 256 5 2 X 2 19/11 X

- 80C152JB - - 256 7 2 X 2 19/11 X 83C152JC 80C152JC - 8K 256 5 2 X 2 19/11 X

- 80C152JD - - 256 7 2 X 2 19/11 X 83C452 80C452 87C452P 8K 256 5 2 X 9/8 X

Tabela 1: A família de microcontroladores de 8 bits da Intel.

Page 5: Micro 8051

Prentice Hall 5Microcontroladores 8051

Capítulo 2:Capítulo 2:Pinagem do 8051Pinagem do 8051

Entrada do sinal externo de Reset -----9 Reset EA/ -----

31Sinal de saída para acesso externo a

memória de programaEntrada 2 do circuito oscilador

externo a cristal-----18 X2 ALE -----

30Sinal de saída habilitador de capturaexterna do byte de endereço menos

significativo que está multiplexado com obyte de dados

Entrada 1 do circuito osciladorexterno a cristal

-----19 X1 PSEN/ -----

29Sinal de saída de controle de leitura damemória de programa externa (ROM)

Porte 0 ou Barramento deEndereços menos significativo edados (multiplexados): Bit 0 de

porte 0 ou A0 e D0

-----39 P0.0/AD0 P2.0/A8 -----

21Porte 2 ou Barramento de Endereços mais

significativo:Bit 0 do porte 2 ou A8

Bit 1 de porte 0 ou A1 e D1 -----38 P0.1/AD1 8 P2.1/A9 -----

22Bit 1 do porte 2 ou A9

Bit 2 de porte 0 ou A2 e D2 -----37 P0.2/AD2 P2.2/A10 -----

23Bit 2 do porte 2 ou A10

Bit 3 de porte 0 ou A3 e D3 -----36 P0.3/AD3 P2.3/A11 -----

24Bit 3 do porte 2 ou A11

Bit 4 de porte 0 ou A4 e D4 -----35 P0.4/AD4 P2.4/A12 -----

25Bit 4 do porte 2 ou A12

Bit 5 de porte 0 ou A5 e D5 -----34 P0.5/AD5 0 P2.5/A13 -----

26Bit 5 do porte 2 ou A13

Bit 6 de porte 0 ou A6 e D6 -----33 P0.6/AD6 P2.6/A14 -----

27Bit 6 do porte 2 ou A14

Bit 7 de porte 0 ou A7 e D7 -----32 P0.7/AD7 P2.7/A15 -----

28Bit 7 do porte 2 ou A15

Bit 0 do porte 1 -----1 P1.0 5 P3.0/RXD -----

10Bit 0 do porte 3 ou pino de recepção dedados seriais

Bit 1 do porte 1 -----2 P1.1 P3.1/TXD -----

11Bit 1 do porte 3 ou pino de transmissão dedados seriais

Bit 2 do porte 1 -----3 P1.2 P3.2/INT0

/

-----12

Bit 2 do porte 3 ou sinal de entrada externada interrupção 0

Bit 3 do porte 1 -----4 P1.3 1 P3.3/INT1

/

-----13

Bit 3 do porte 3 ou sinal de entrada externada interrupção 1

Bit 4 do porte 1 -----5 P1.4 P3.4/T0 -----

14Bit 4 do porte 3 ou sinal de entrada de clock

do timer 0Bit 5 do porte 1 -----

6 P1.5 P3.5/T1 -----15

Bit 5 do porte 3 ou sinal de entrada de clockdo timer 1

Bit 6 do porte 1 -----7 P1.6 P3.6/WR/ -----

16Bit 6 do porte 3 ou sinal de saída de

controle de escrita de memória de dadosexterna (RAM)

Bit 7 do porte 1 -----8 P1.7 P3.7/RD/ -----

17Bit 7 do porte 3 ou sinal de saída de

controle de leitura de memória de dadosexterna (RAM)

Figura 2:Pinagem do8051

Page 6: Micro 8051

Prentice Hall 6Microcontroladores 8051

Capítulo 2: Capítulo 2: Memória de programa e memória de dadosMemória de programa e memória de dados

FFFFh

Externa

0000h

EA\=0Externa

EA\=1InternaPSEN\

Memória de Programa:

128 bytes inferiores

128 bytessuperiores

SFRs

FFFFh

0000h

Externa

InternaFFh

00h

Memória de Dados:

Figura 3: Organização da Memória da família de microcontroladores MCS-51 da Intel.

0FFFh

1000h

7Fh80h

RD\ WR\

Page 7: Micro 8051

Prentice Hall 7Microcontroladores 8051

Capítulo 2: Capítulo 2: Endereçamento das InterrupçõesEndereçamento das Interrupções

8 bytes

ROM

Reset 0002h0000h

000Ah0003h

0012h000Bh

001Ah0013h

0022h001Bh

002Ah0023h

0032h002Bh

07FFh

::::0033h

Ext. Int. 0

Timer 0

Ext. Int. 1

Timer 1

Serial Port

Timer 2(8052/32)

Figura 4: Memória de programa do MCS-51.

Page 8: Micro 8051

Prentice Hall 8Microcontroladores 8051

Capítulo 2: Capítulo 2:

8051

PSENbarra

P1 P0

ALE

P3 P2

EAbarra

Latch

GND

ROM/EPROM

OE\=OEbarra

D7-D0

Endereços menos significativo

Endereços mais significativos

Figura 5: Hardware para memória de programa externa.

Page 9: Micro 8051

Prentice Hall 9Microcontroladores 8051

Capítulo 2: Capítulo 2:

MCS-51 com ROM interna

P1 P0

EAbarra

ALE

RD\ P3 P2WR\

LatchVCC

RAM

D7-D0

Endereços menos significativo

Endereços mais significativos WE\ OE\

Figura 6: Hardware para memória de dados externa.

E/S

bits de paginaçãoE/S

Page 10: Micro 8051

Prentice Hall 10Microcontroladores 8051

Capítulo 2: Capítulo 2:

FFh

Acessível somente por endereçamento indireto (128 bytes

superiores)80h

FFh

Acessível por endereçamento direto (SFRs: Portes, Bits de

controles dos Timers, Acumulador, etc)

80h7Fh

Acessível por endereçamento direto e indireto (128 bytes

inferiores)00h

Figura 7: Memória de dados interna.

Page 11: Micro 8051

Prentice Hall 11Microcontroladores 8051

Capítulo 2: Capítulo 2:

7Fh Endereçamento por byte30h

07h R7Banco 0

00Hh R0

0Fh R7Banco 1

08h R0

17h R7Banco 2

10h R0

1Fh R7Banco 3

18h R0

2Fh Endereçável por bit e/ou byte20h

Valor inicial do SP (Stack Pointer: ponteiro de pilha) após um sinal de Reset.

Figura 8: 128 bytes inferiores da RAM interna.

Page 12: Micro 8051

Prentice Hall 12Microcontroladores 8051

Capítulo 2:Capítulo 2:

Program Status WordProgram Status Word

bits 7 6 5 4 3 2 1 0

(PSW) = C AC F0 RS1 RS0 OV - P

RS1 RS0 Banco Selecionado Registradores Selecionados Endereços de Memória Selecionados0 0 0 R0 a R7 00h a 07h0 1 1 R0 a R7 08h a 0Fh1 0 2 R0 a R7 10h a 17h1 1 3 R0 a R7 18h a 1Fh

Page 13: Micro 8051

Prentice Hall 13Microcontroladores 8051

Capítulo 2: Capítulo 2: Bancos de RegistradoresBancos de Registradores

RS1 RS0 Endereço Registrador Banco1 1 1Fh R7 31 1 1Eh R6 31 1 1Dh R5 31 1 1Ch R4 31 1 1Bh R3 31 1 1Ah R2 31 1 19h R1 31 1 18h R0 31 0 17h R7 21 0 16h R6 21 0 15h R5 21 0 14h R4 21 0 13h R3 21 0 12h R2 21 0 11h R1 21 0 10h R0 20 1 0Fh R7 10 1 0Eh R6 10 1 0Dh R5 10 1 0Ch R4 10 1 0Bh R3 10 1 0Ah R2 10 1 09h R1 10 1 08h R0 10 0 07h R7 00 0 06h R6 00 0 05h R5 00 0 04h R4 00 0 03h R3 00 0 02h R2 00 0 01h R1 00 0 00h R0 0

Page 14: Micro 8051

Prentice Hall 14Microcontroladores 8051

Capítulo 2:Capítulo 2: Endereçamento por Endereçamento por bitsbits//bytesbytes

Endereço de Memória bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0

2Fh 7Fh 7Eh 7Dh 7Ch 7Bh 7Ah 79h 78h2Eh 77h 76h 75h 74h 73h 72h 71h 70h2Dh 6Fh 6Eh 6Dh 6Ch 6Bh 6Ah 69h 68h2Ch 67h 66h 65h 64h 63h 62h 61h 60h2Bh 5Fh 5Eh 5Dh 5Ch 5Bh 5Ah 59h 58h2Ah 57h 56h 55h 54h 53h 52h 51h 50h29h 4Fh 4Eh 4Dh 4Ch 4Bh 4Ah 49h 48h28h 47h 46h 45h 44h 43h 42h 41h 40h27h 3Fh 3Eh 3Dh 3Ch 3Bh 3Ah 39h 38h26h 37h 36h 35h 34h 33h 32h 31h 30h25h 2Fh 2Eh 2Dh 2Ch 2Bh 2Ah 29h 28h24h 27h 26h 25h 24h 23h 22h 21h 20h23h 1Fh 1Eh 1Dh 1Ch 1Bh 1Ah 19h 18h22h 17h 16h 15h 14h 13h 12h 11h 10h21h 0Fh 0Eh 0Dh 0Ch 0Bh 0Ah 09h 08h20h 07h 06h 05h 04h 03h 02h 01h 00h

Page 15: Micro 8051

Prentice Hall 15Microcontroladores 8051

Capítulo 2:Capítulo 2: Registradores de Funções Especiais (SFRs)Registradores de Funções Especiais (SFRs)

Registradores Endereço Nome dos RegistradoresA ou ACC E0h AcumuladorB* F0h Registrador BDPL 82h Byte menos significativo do Ponteiro de DadosDPH 83h Byte mais significativo do Ponteiro de DadosIE* A8h Habilitador de InterrupçõesIP B8h Priorizador de InterrupçõesSCON* 98h Controlador da Comunicação SerialSBUF 99h Buffer de Dados SerialPSW* D0h Palavra de Status de ProgramaPCON 87h Controle de PotênciaTCON* 88h Controle do Timer/ContadorTMOD 89h Modo de operação de Timer/ContadorTH0 8Ch Byte mais significativo do Timer/Contador 0TL0 8Ah Byte menos significativo do Timer/Contador 0TH1 8Dh Byte mais significativo do Timer/Contador 1TL1 8Bh Byte menos significativo do Timer/Contador 1P0* 80h Porte 0P1* 90h Porte 1P2* A0h Porte 2P3* B0h Porte 3

Page 16: Micro 8051

Prentice Hall 16Microcontroladores 8051

Capítulo 2:Capítulo 2: Registradores de Funções Especiais (SFRs)Registradores de Funções Especiais (SFRs)

para o 8052para o 8052

Registradores Endereço Nome dos RegistradoresT2CON* C8h Controle de Timer/Contador 2TH2 CDh Byte mais significativo do Timer/Contador 2TL2 CCh Byte menos significativo do Timer/Contador 2RCAP2H CBh Byte mais significativo do Timer/Contador de captura 2RCAP2L CAh Byte mais significativo do Timer/Contador de captura 2

* Registradores endereçados por bit; Tabela 2 - Registradores de Funções Especiais.

Page 17: Micro 8051

Prentice Hall 17Microcontroladores 8051

Capítulo 2:Capítulo 2:

Figura 12: Decodificador 74138

Figura 10: Decodificador 74HC138

Page 18: Micro 8051

Prentice Hall 18Microcontroladores 8051

Capítulo 2:Capítulo 2:

Entradas SaídasG2A´ G2B´ G1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6

1 X X X X X 1 1 1 1 1 1 1X 1 X X X X 1 1 1 1 1 1 1X X 0 X X X 1 1 1 1 1 1 10 0 1 0 0 0 0 1 1 1 1 1 10 0 1 0 0 1 1 0 1 1 1 1 10 0 1 0 1 0 1 1 0 1 1 1 10 0 1 0 1 1 1 1 1 0 1 1 10 0 1 1 0 0 1 1 1 1 0 1 10 0 1 1 0 1 1 1 1 1 1 0 10 0 1 1 1 0 1 1 1 1 1 1 00 0 1 1 1 1 1 1 1 1 1 1 1

0: 0 lógico; 1: 1 lógico; X: pode ser 0 ou 1 lógico; ´ : representa entrada ativa em 0 lógico.

Tabela 3: Tabela verdade do 74138

Page 19: Micro 8051

Prentice Hall 19Microcontroladores 8051

Capítulo 2:Capítulo 2:

Figura 11: Exemplo de mapeamentode memória com o 74138.

Page 20: Micro 8051

Prentice Hall 20Microcontroladores 8051

Capítulo 2:Capítulo 2:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 EndereçoInicial e final

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H0 0 0 X X X X X X X X X X X X X0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H0 0 1 X X X X X X X X X X X X X0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000H0 1 0 X X X X X X X X X X X X X0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFFH0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000H0 1 1 X X X X X X X X X X X X X0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H1 0 0 X X X X X X X X X X X X X1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 9FFFH1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 A000H1 0 1 X X X X X X X X X X X X X1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000H1 1 0 X X X X X X X X X X X X X1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFFH1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E000H1 1 1 X X X X X X X X X X X X X1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FFFFH

Dígito + sign. do endereço 2° dígito + sign do endereço 2° dígito - sign do endereço Dígito - sign do endereço

Page 21: Micro 8051

Prentice Hall 21Microcontroladores 8051

Capítulo 2:Capítulo 2:

Figura 12: Circuito de Reset para afamília de microcontroladoresMCS-51 da Intel.

Page 22: Micro 8051

Prentice Hall 22Microcontroladores 8051

Capítulo 2:Capítulo 2:

Figura 13: Circuito do sinal de relógio (clock).

Page 23: Micro 8051

Prentice Hall 23Microcontroladores 8051

Capítulo 2:Capítulo 2:Sinal de relógio: S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

Sinal de ALE:

1- Um ciclo de instrução de um byte. Ex: INC A. Lê Opcode Lê o próx. Lê o próx. Opcode (descarta) Opcode novamente

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

2- Um ciclo de instrução de dois bytes. Ex: ADD A,#data. Lê Opcode Lê segundo Lê prox. Byte Opcode

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

3- Dois ciclos de instrução de um byte. Ex: INC DPTR. Lê Opcode Lê prox. Lê prox. Lê prox. Opcode (descata) Opcode (descarta) Opcode (descarta)

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6

Abaixo os sinais e tempos envolvidos na busca do programa em memória de programa externa em uso dainstrução MOVX.

S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2

Sinal de ALE:

PSEN\ :

RD\:

P2:PCH Out PCH Out PCH Out PCH Out PCH OutP0:

Inst.in

PCL Out Inst.in

PCL Out Inst.in

PCL Out Inst.in

PCL Out

Page 24: Micro 8051

Prentice Hall 24Microcontroladores 8051

Capítulo 2:Capítulo 2:Operação de executar um Operação de executar um programa passo a passoprograma passo a passo: :

JNB P3.2,$ ; Aguarda que o bit P3.2 vá para 1 lógicoJB P3.2,$ ; Aguarda que o bit P3.2 vá para 0 lógicoRETI ; Retorna da rotina de atendimento da fonte de interrupção INT0\

Page 25: Micro 8051

Prentice Hall 25Microcontroladores 8051

Capítulo 2:Capítulo 2:Modos de redução de potência em Modos de redução de potência em

microcontroladores microcontroladores CHMOSCHMOS: : Modo Idle

Modo Baixa PotênciaRegistrador PCON:

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0SMOD - - - GF1 GF0 PD IDL

-SMOD: Bit de duplo baud rate (freqüência de recepção e transmissão do canal de comunicação serial). Quando igual a 1 lógico, o baud rate é dobrado quando o canal de comunicação serial ou está no modo 1, ou 2, ou 3;-GF1: flag de uso de propósito geral;-GF0: flag de uso de propósito geral;-PD: Bit de baixa potência (Power Down). Fazendo este bit igual a 1 lógico, ativa o modo de baixa potência.-IDL: Bit de Modo Idle. Fazendo este bit igual a 1 lógico, ativa o modo Idle.