Você está na página 1de 25

Capítulo 2

A família de Microcontroladores MCS-51


da 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;

Prentice Hall Microcontroladores 8051 1


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.

Prentice Hall Microcontroladores 8051 2


Capítulo 2:
Arquitetura do 8051 Entradas
externas de
clock dos
Interrupções Internas Contadores
(3) e Externas (2)

ROM RAM Timer 0 Timer 1


Controle de
Interrupções

CPU

OSC Bar. 4 Portes de Ent/Sai Porte Serial


Controle

P0 P1 P2 P3 TX RX
Figura 1: Arquitetura básica do microcontrolador 8051.
Prentice Hall Microcontroladores 8051 3
Capítulo 2:
 Família de Microcontroladores MCS-51 da Intel
Dispositivo Versão sem Versão Capacidade Capacidade Portes Timers/ Matrizes de UART Canais Canais Fontes de Modos de
ROM com da ROM da RAM de E/S Conta- contadores de DMA A/D interrupção baixo
EPROM de 8 bits dores de programáveis consumo e
16 bits Idle
8051 8031 - 4K 128 4 2 X 6/5
8051AH 8031AH 8751AH 4K 128 4 2 X 6/5
8751BH
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.

Prentice Hall Microcontroladores 8051 4


Capítulo 2:
Pinagem do 8051
Entrada do sinal externo de Reset ----- ----- Sinal de saída para acesso externo a
9
Reset EA/ 31 memória de programa
Entrada 2 do circuito oscilador ----- ----- Sinal de saída habilitador de captura
externo a cristal 18
X2 ALE 30 externa do byte de endereço menos
significativo que está multiplexado com o
byte de dados
Entrada 1 do circuito oscilador ----- ----- Sinal de saída de controle de leitura da
externo a cristal 19
X1 PSEN/ 29 memória de programa externa (ROM)
Porte 0 ou Barramento de ----- ----- Porte 2 ou Barramento de Endereços mais
Endereços menos significativo e 39
P0.0/AD0 P2.0/A8 21 significativo:
dados (multiplexados): Bit 0 de Bit 0 do porte 2 ou A8
porte 0 ou A0 e D0
Bit 1 de porte 0 ou A1 e D1 ----- ----- Bit 1 do porte 2 ou A9
38
P0.1/AD1 8 P2.1/A9 22
Bit 2 de porte 0 ou A2 e D2 ----- ----- Bit 2 do porte 2 ou A10
37
P0.2/AD2 P2.2/A10 23
Bit 3 de porte 0 ou A3 e D3 ----- ----- Bit 3 do porte 2 ou A11
36
P0.3/AD3 P2.3/A11 24
Bit 4 de porte 0 ou A4 e D4 ----- ----- Bit 4 do porte 2 ou A12
35
P0.4/AD4 P2.4/A12 25
Bit 5 de porte 0 ou A5 e D5 ----- ----- Bit 5 do porte 2 ou A13
34
P0.5/AD5 0 P2.5/A13 26
Bit 6 de porte 0 ou A6 e D6 ----- ----- Bit 6 do porte 2 ou A14
33
P0.6/AD6 P2.6/A14 27
Bit 7 de porte 0 ou A7 e D7 ----- ----- Bit 7 do porte 2 ou A15
32
P0.7/AD7 P2.7/A15 28
Bit 0 do porte 1 ----- ----- Bit 0 do porte 3 ou pino de recepção de
1
P1.0 5 P3.0/RXD 10 dados seriais
Bit 1 do porte 1 ----- ----- Bit 1 do porte 3 ou pino de transmissão de
2
P1.1 P3.1/TXD 11 dados seriais
Bit 2 do porte 1 ----- ----- Bit 2 do porte 3 ou sinal de entrada externa
3
P1.2 P3.2/INT0 12 da interrupção 0
/
Bit 3 do porte 1 ----- ----- Bit 3 do porte 3 ou sinal de entrada externa
4
P1.3 1 P3.3/INT1 13 da interrupção 1
/
Bit 4 do porte 1 ----- ----- Bit 4 do porte 3 ou sinal de entrada de clock
5
P1.4 P3.4/T0 14 do timer 0
Bit 5 do porte 1 ----- ----- Bit 5 do porte 3 ou sinal de entrada de clock
6
P1.5 P3.5/T1 15 do timer 1
Bit 6 do porte 1 ----- ----- Bit 6 do porte 3 ou sinal de saída de
7
P1.6 P3.6/WR/ 16 controle de escrita de memória de dados
externa (RAM)
Bit 7 do porte 1 ----- ----- Bit 7 do porte 3 ou sinal de saída de
8
P1.7 P3.7/RD/ 17 controle de leitura de memória de dados
externa (RAM)

Figura 2:
Pinagem do
8051
Prentice Hall Microcontroladores 8051 5
Capítulo 2:
Memória de programa e memória de dados
Memória de Programa: Memória de Dados:
FFFFh
Externa
FFFFh
Externa
Interna
FFh 128 bytes SFRs
superiores
1000h

0FFFh
80h
7Fh 128 bytes
EA\=0 EA\=1 inferiores

PSEN\ Externa Interna


00h 0000h

0000h
RD\ WR\
Figura 3: Organização da Memória da família de microcontroladores MCS-51 da
Intel.
Prentice Hall Microcontroladores 8051 6
Capítulo 2:
Endereçamento das Interrupções
ROM

07FFh

:
:
:
:
0033h
Timer 2
(8052/32)
0032h
002Bh
Serial Port 002Ah
0023h
Timer 1 0022h
001Bh

Ext. Int. 1
001Ah
0013h
Timer 0 0012h
000Bh
8 bytes
Ext. Int. 0
000Ah
0003h
Reset 0002h
0000h

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


Prentice Hall Microcontroladores 8051 7
Capítulo 2:

8051 ROM/EPROM
PSENbarra OE\=OEbarra
P1 P0
D7-D0

Latch Endereços menos


significativo
ALE
Endereços mais
P3 P2 significativos
GND
EAbarra

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

Prentice Hall Microcontroladores 8051 8


Capítulo 2:

MCS-51 com ROM RAM


interna
P1 P0 D7-D0
VCC Latch
Endereços menos
EAbarra significativo
ALE
E/S Endereços mais
bits de paginação significativos
RD\ P3 P2 WE\ OE\
WR\ E/S

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

Prentice Hall Microcontroladores 8051 9


Capítulo 2:

FFh FFh

Acessível por endereçamento


Acessível somente por direto (SFRs: Portes, Bits de
endereçamento indireto (128 bytes controles dos Timers,
superiores) Acumulador, etc)
80h 80h
7Fh

Acessível por endereçamento Figura 7:


direto e indireto (128 bytes
inferiores)
Memória de
00h dados interna.

Prentice Hall Microcontroladores 8051 10


Capítulo 2:
7Fh Endereçamento por byte
Figura 8: 128 30h

bytes inferiores 2Fh Endereçável


da RAM interna. por bit e/ou byte
20h

1Fh R7
Banco 3
18h R0
17h R7
Banco 2
10h R0
Valor inicial do SP 0Fh R7
(Stack Pointer: Banco 1
ponteiro de pilha) após 08h R0
um sinal de Reset. 07h R7
Banco 0
00Hh R0

Prentice Hall Microcontroladores 8051 11


Capítulo 2:

Program 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 Selecionados


0 0 0 R0 a R7 00h a 07h
0 1 1 R0 a R7 08h a 0Fh
1 0 2 R0 a R7 10h a 17h
1 1 3 R0 a R7 18h a 1Fh

Prentice Hall Microcontroladores 8051 12


Capítulo 2:
Bancos de Registradores
RS1 RS0 Endereço Registrador Banco
1 1 1Fh R7 3
1 1 1Eh R6 3
1 1 1Dh R5 3
1 1 1Ch R4 3
1 1 1Bh R3 3
1 1 1Ah R2 3
1 1 19h R1 3
1 1 18h R0 3
1 0 17h R7 2
1 0 16h R6 2
1 0 15h R5 2
1 0 14h R4 2
1 0 13h R3 2
1 0 12h R2 2
1 0 11h R1 2
1 0 10h R0 2
0 1 0Fh R7 1
0 1 0Eh R6 1
0 1 0Dh R5 1
0 1 0Ch R4 1
0 1 0Bh R3 1
0 1 0Ah R2 1
0 1 09h R1 1
0 1 08h R0 1
0 0 07h R7 0
0 0 06h R6 0
0 0 05h R5 0
0 0 04h R4 0
0 0 03h R3 0
0 0 02h R2 0
0 0 01h R1 0
0 0 00h R0 0
Prentice Hall Microcontroladores 8051 13
Capítulo 2:
Endereçamento por bits/bytes
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 78h
2Eh 77h 76h 75h 74h 73h 72h 71h 70h
2Dh 6Fh 6Eh 6Dh 6Ch 6Bh 6Ah 69h 68h
2Ch 67h 66h 65h 64h 63h 62h 61h 60h
2Bh 5Fh 5Eh 5Dh 5Ch 5Bh 5Ah 59h 58h
2Ah 57h 56h 55h 54h 53h 52h 51h 50h
29h 4Fh 4Eh 4Dh 4Ch 4Bh 4Ah 49h 48h
28h 47h 46h 45h 44h 43h 42h 41h 40h
27h 3Fh 3Eh 3Dh 3Ch 3Bh 3Ah 39h 38h
26h 37h 36h 35h 34h 33h 32h 31h 30h
25h 2Fh 2Eh 2Dh 2Ch 2Bh 2Ah 29h 28h
24h 27h 26h 25h 24h 23h 22h 21h 20h
23h 1Fh 1Eh 1Dh 1Ch 1Bh 1Ah 19h 18h
22h 17h 16h 15h 14h 13h 12h 11h 10h
21h 0Fh 0Eh 0Dh 0Ch 0Bh 0Ah 09h 08h
20h 07h 06h 05h 04h 03h 02h 01h 00h

Prentice Hall Microcontroladores 8051 14


Capítulo 2:
Registradores de Funções Especiais (SFRs)
Registradores Endereço Nome dos Registradores
A ou ACC E0h Acumulador
B* F0h Registrador B
DPL 82h Byte menos significativo do Ponteiro de Dados
DPH 83h Byte mais significativo do Ponteiro de Dados
IE* A8h Habilitador de Interrupções
IP B8h Priorizador de Interrupções
SCON* 98h Controlador da Comunicação Serial
SBUF 99h Buffer de Dados Serial
PSW* D0h Palavra de Status de Programa
PCON 87h Controle de Potência
TCON* 88h Controle do Timer/Contador
TMOD 89h Modo de operação de Timer/Contador
TH0 8Ch Byte mais significativo do Timer/Contador 0
TL0 8Ah Byte menos significativo do Timer/Contador 0
TH1 8Dh Byte mais significativo do Timer/Contador 1
TL1 8Bh Byte menos significativo do Timer/Contador 1
P0* 80h Porte 0
P1* 90h Porte 1
P2* A0h Porte 2
P3* B0h Porte 3
Prentice Hall Microcontroladores 8051 15
Capítulo 2:
Registradores de Funções Especiais (SFRs)
para o 8052

Registradores Endereço Nome dos Registradores


T2CON* C8h Controle de Timer/Contador 2
TH2 CDh Byte mais significativo do Timer/Contador 2
TL2 CCh Byte menos significativo do Timer/Contador 2
RCAP2H CBh Byte mais significativo do Timer/Contador de captura 2
RCAP2L CAh Byte mais significativo do Timer/Contador de captura 2
* Registradores endereçados por bit;
Tabela 2 - Registradores de Funções Especiais.

Prentice Hall Microcontroladores 8051 16


Capítulo 2:

Figura 10: Decodificador 74HC138

Figura 12: Decodificador 74138

Prentice Hall Microcontroladores 8051 17


Capítulo 2:

Entradas Saídas
G2A´ G2B´ G1 A2 A1 A0 Y0 Y1 Y2 Y3 Y4 Y5 Y6
1 X X X X X 1 1 1 1 1 1 1
X 1 X X X X 1 1 1 1 1 1 1
X X 0 X X X 1 1 1 1 1 1 1
0 0 1 0 0 0 0 1 1 1 1 1 1
0 0 1 0 0 1 1 0 1 1 1 1 1
0 0 1 0 1 0 1 1 0 1 1 1 1
0 0 1 0 1 1 1 1 1 0 1 1 1
0 0 1 1 0 0 1 1 1 1 0 1 1
0 0 1 1 0 1 1 1 1 1 1 0 1
0 0 1 1 1 0 1 1 1 1 1 1 0
0 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

Prentice Hall Microcontroladores 8051 18


Capítulo 2:

Figura 11: Exemplo de mapeamento


de memória com o 74138.

Prentice Hall Microcontroladores 8051 19


Capítulo 2:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Endereço
Inicial e final
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H
0 0 0 X X X X X X X X X X X X X
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000H
0 0 1 X X X X X X X X X X X X X
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000H
0 1 0 X X X X X X X X X X X X X
0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFFH
0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6000H
0 1 1 X X X X X X X X X X X X X
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFFH
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H
1 0 0 X X X X X X X X X X X X X
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 9FFFH
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 A000H
1 0 1 X X X X X X X X X X X X X
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 BFFFH
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000H
1 1 0 X X X X X X X X X X X X X
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 DFFFH
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 E000H
1 1 1 X X X X X X X X X X X X X
1 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

Prentice Hall Microcontroladores 8051 20


Capítulo 2:

Figura 12: Circuito de Reset para a


família de microcontroladores
MCS-51 da Intel.

Prentice Hall Microcontroladores 8051 21


Capítulo 2:

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

Prentice Hall Microcontroladores 8051 22


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 da
instruçã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 Out
P0:
Inst. PCL Out Inst. PCL Out Inst. PCL Out Inst. PCL Out
in in in in

Prentice Hall Microcontroladores 8051 23


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

JNB P3.2,$ ; Aguarda que o bit P3.2 vá para 1 lógico


JB P3.2,$ ; Aguarda que o bit P3.2 vá para 0 lógico
RETI ; Retorna da rotina de atendimento da fonte de interrupção INT0\

Prentice Hall Microcontroladores 8051 24


Capítulo 2:
Modos de redução de potência em
microcontroladores CHMOS:
Modo Idle
Modo Baixa Potência
Registrador PCON:

bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0


SMOD - - - 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.
Prentice Hall Microcontroladores 8051 25

Você também pode gostar