Académique Documents
Professionnel Documents
Culture Documents
Microcontrolador 8051
1 - Introduo.
Os microprocessadores so circuitos integrados extremamente flexveis devido s suas caractersticas de programabilidade. A programao do componente torna-o verstil para implementao de vrios
tipos de aplicaes ou tarefas. No desenvolvimento desses tipos de componentes, foi construdo o microcomputador em uma nica pastilha. Tal componente, contm o microprocessador, memrias somente de
leitura (ROM), memrias de acesso aleatrio (RAM) e circuitos de entrada e sada, para comunicao
com o mundo exterior.
Os microcontroladores so os componentes que, alm do microcomputador, incorporam circuitos
perifricos necessrios em aplicaes industriais, ou de controle, por exemplo, contendo circuitos de entrada/sada serial, temporizadores, perifricos paralelos, conversores AD, conversores DA, etc. Tais componentes so indicados para aplicaes que requerem uma configurao minimizada, de baixo custo e de
espao fsico reduzido. Obviamente que a soluo de nica pastilha ("single chip") preferida pelo custo,
bem como por razes de confiabilidade.
Assim vrios tipos de microcontroladores foram desenvolvidos para aplicaes especficas
tais como: aplicaes militares, controle automobilstico, instrumentaes mdicas, aplicaes de controle
em tempo real, controle de eletrodomsticos, etc.
Microcontroladores de uso geral foram construdos tendo a possibilidade de operar no modo microcomputador, onde todo recurso de hardware utilizado estar dentro do prprio componente, ou no modo microprocessador, onde perifricos externos so incorporados ao sistema.
2 - A Famlia 8051.
A famlia de microcontroladores 8051 baseada em padres industriais de microcontroladores de
8 bits. Sendo o CI 8051 o componente inicial desta famlia. Todos os membros desta famlia possuem verses tendo ROM interna, EPROM interna ou verso sem ROM interna. A tabela l apresenta os principais
membros desta famlia:
Sem ROM
Com Rom
Com EInterna
PROM
8051
8031
8751
80C51
80C31
87C51
8052
8032
8752
80C52
80C32
87C52
80C53
87C54
83CL410
80CL410
83C451
80C451
83C451
83C528
80C528
87C528
83C528
80C550
87C550
83C550
80C552
87C552
83C552
87C592
83C592
Obs: WD = WATCHDOG TIMER
Bytes de
ROM
4K
4K
8K
8K
8K
4K
4K
32K
4K
8K
16K
6K
Bytes de
RAM
128
128
256
256
192
128
128
512
128
256
512
256
Temporizadores de 16 bits
2
2
3
3
2
2
2
3 + WD
2 + WD
3 + WD
3 + WD
2
Existem outros membros desta famlia que incorporam padro de comunicao serial IC, maior
nmero de portas paralelas e sadas com modulao por largura de pulso (PWM). Maiores detalhes so
fornecidos nos manuais dos fabricantes.
E.B.
Pgina - 1
Microcontrolador 8051
8051
E.B.
Pgina - 2
Microcontrolador 8051
Interrupes Externas
Controle
De
Interrupo
4K
ROM
128
RAM
Controle
De Barramento
4 Portas
De
E/S
Temporizador 1
Temporizador 2
Entradas Dos
Contadores
CPU
Oscilador
Porta
Serial
TxD
P0
P2
P1
RxD
P3
Endereos/Dados
Figura 1 - Diagrama de bloco do 8051
E.B.
Pgina - 3
Microcontrolador 8051
Memria de Programa
(Somente leitura)
Memria de Dados
(Leitura / Escrita)
FFH
FFFFH
FFFFH
ROM
Externa
RAM
Externa
Registros
de
Funes
Especiais
80H
RAM
Externa
7FH
1000H
Uso
Geral
RAM
Interna
0FFFH
__
EA = 0
ROM
Externa
__
EA = 1
ROM
Uso Geral
e Stack
Interna
00H
0000H
0000H
____
__
PSEN
RD
WR
0023H
001BH
Localizao
Das
Interrupes
8 bytes
0013H
000BH
0003H
RESET
0000H
Aps o reset. a CPU inicia a execuo a partir da localizao 0000H. Assim nesta localizao dever existir um salto para a rotina de servio de reset, ou programa operacional do sistema. Para o atendimento das rotinas de servio de interrupo so reservados oito bytes de espaamento para cada tipo de
E.B.
Pgina - 4
Microcontrolador 8051
interrupo. Assim, se o servio de interrupo for de pequeno tamanho, como em algumas aplicaes de
controle, o mesmo poder residir neste intervalo de oito bytes. Se for mais longo dever saltar para outra
regio e continuar a execuo da correspondente rotina. Portanto, para a interrupo externa 0 (zero) ser
usado o endereo 0003H, para a interrupo do temporizador 1, o endereo 000BH, etc.
Pode-se usar os 4K bytes menos significativos de ROM de programa internos ou, ento, usar estes
endereos externamente. A seleo feita atravs do pino EA. Se o mesmo estiver conectado ao nvel alto
(Vcc), o processador busca o programa dos endereos 0000H at 0FFFH diretamente na ROM interna e o
programa dos endereos I OOOH at FFFFH na ROM externa.
Se o pino EA estiver conectado ao nvel baixo, todo o endereamento de programa, de 0000H at
FFFFH, ser buscado na memria ROM externa. As verses sem ROM devem tambm ter este pino externamente conectado ao nvel baixo (Vss). O sinal PSEN o habilitador de leitura para a ROM externa,
durante uma busca a ROM interna ele estar desabilitado.
A figura 4 apresenta a configurao necessria para execuo externa de programa. Note que as linhas da porta 0 e da porta 2 sero usadas com funo de endereamento, durante o ciclo de busca de memria externa de programa. A porta 0 opera como multiplexador de endereos e dados. Ela emite o byte
menos significativo do endereo, vai para um estado de alta impedncia e recebe o byte endereado da
memria de programa.
Durante o tempo em que o byte menos significativo do endereo for vlido, o sinal ALE (habilitador de Latch de endereamento) atua para memorizao deste valor nos latches.
80C51
P1
EPROM
P0
Dados
__
EA
LATCH
ALE
P3
P2
____
PSEN
Endereo
__
OE
E.B.
Pgina - 5
Microcontrolador 8051
80C51 c/
RAM
ROM interna
P1
P0
__
EA
Dados
Vcc
LATCH
ALE
Endereo
__ P3 P2
RD
E/S
Bits de
paginao
WR
___
__
WE
OE
Neste caso, se a memria de programa do sistema for interna, os outros bits da porta 2 ficaro disponveis para entrada e sada. Endereamento de dois bytes tambm poder ser usado. Neste caso o byte
de endereamento superior ser enviado pela porta 2. A figura 6 apresenta o mapeamento da memria de
dados interna.
FFH
128 MSB
80H
7FH
128 LSB
00H
Acesso
Somente por
Endereamento
Indireto
Acesso por
Endereamento
Direto ou
Indireto
Acesso por
Endereamento
Direto
Registros
De funo
Especial
Portas
Status
Bits de Controle
Temporizadores
Apontadorde Stack
Acumulador, etc.
Este espao de endereamento est dividido em trs blocos, denominados por 128 bytes inferiores,
128 bytes superiores e espao de registros de funo especial (SFR).
O endereamento de dados interno sempre de tamanho de um byte, o que implica num espao de 256
bytes somente. Entretanto, o modo de endereamento para RAM interna de fato acessa 384 bytes, usando
um simples truque. Endereamento direto maior que 7FH acessa o endereamento dos registros de funo
especial, correspondendo ao apontador de pilha, acumulador, temporizadores, portas, controle de bits, status, etc. Endereamento indireto maior que 7FH acessam os 128 bytes superiores. Apesar de ocuparem o
mesmo bloco de endereamento (80H at FFH) so entidades fisicamente separadas. No 8051 e suas verses sem ROM, ou com EPROM, no so implementados os 128 bytes superiores de RAM interna. A figura 7 apresenta os 128 bytes superiores de RAM interna.
Os 128 bytes menos significativos da RAM de todos os 8051 so mapeados conforme a figura 8.
Os primeiros 32 bytes so agrupados em quatro bancos de oito registros. Instrues referem-se a estes registros como R0 at R7. Dois bits para palavra de status de programa (PSW) selecionam qual dos bancos
de registros ser usado. Isto possibilita maior eficincia no uso de espao de cdigo, visto que instrues
de registros so menores que instrues que usam endereamento direto.
E.B.
Pgina - 6
Microcontrolador 8051
Os prximos 16 bytes acima dos bancos de registros formam um espao de memria de bloco de
bits endereveis. O conjunto de instrues do 8051 inclui uma larga seleo de instrues de nico bit.
Os 128 bits desta rea podem ser diretamente endereado por estas instrues. Os endereos dos bits vo
de 00H at 7FH. Todos os 128 bytes inferiores desta regio de memria podero ser acessados por endereamento direto, ou indireto. Entretanto, os 128 bytes superiores somente sero acessados por endereamento indireto. A figura 9 apresenta um resumo da rea correspondente aos registros de funo especial
(SRF). Estes registros incluem latches das portas, temporizadores, controle de perifricos, etc. Estes registros podem somente ser acessado por endereamento direto. Dezesseis endereos deste espao de registros
so endereados por bytes ou por bits. Os endereos de bits so aqueles terminados por 0H (80H, 90H ,
..., FOH) ou por 8H (88H, 98H, ..., F8H).
FFH
Espao sem
Endereamento
De BIT
80H
LSB
LSB
FFH
7FH
30H
2FH
2EH
2DH
2CH
2BH
2AH
29H
28H
27H
26H
25H
24H
23H
22H
21H
20H
1FH
18H
17H
10H
0FH
08H
07H
00H
F0H F7
7F
77
6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
07
7E
76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06
7D
75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05
7C 7B
74 73
6C 6B
64 63
5C 5B
54 53
4C 4B
44 43
3C 3B
34 33
2C 2B
24 23
1C 1B
14 13
0C 0B
04 03
Banco 3
7A
72
6A
62
5A
52
4A
42
3A
32
2A
22
1A
12
0A
02
79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01
78
70
68
60
58
50
48
40
38
30
28
20
18
10
08
00
Registradores
De
Hardware
F6 F5 F4 F3 F2 F1 F0 B
E8H
E0H E7 E6 E5 E4 E3 E2 E1 E0 ACC
D8H
D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW
B8H --
--
-- BC BB BA B9 B8 IP
B0H B7 B6 B5 B4 B3 B2 B1 B0 P3
A8H AF
--
-- AC AB AA A9 A8 IE
A0H A7 A6 A5 A4 A3 A2 A1 A0 P2
98H 9F 9E 9D 9C 9B 9A 99
98 SCON
Banco 2
90H 97
96 95 94 93 92 91 90 P1
Banco 1
88H 8F 8E 8D 8C 8B 8A 89
88 TCON
Banco 0
Figura 8
128 bytes inferiores da RAM interna
80H 87
86 85 84 83 82 81 80 P0
Figura 9
Espao de registros de funo especial
4 - A Arquitetura do 8051
E.B.
Pgina - 7
Microcontrolador 8051
O 8051 e seus derivados so fabricados nas verses MOS e CMOS. Sua caracterstica de arquitetura
fortalecida e seu conjunto de instrues resultam em um controlador de baixo custo, usado em aplicaes
que requerem at 64K bytes de memria de programa e at 64K bytes de memria de dados. As figuras 10
e 11 apresentam a configurao de pinagem para os modelos 8031/8051/8751, nas verses de encapsulamentos DIP e QFP.
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST / VPD
RxD / P3.0
TxD / P3.1
INT0 / P3.2
INT1 / P3.3
T0 / P3.4
T1 / P3.5
WR / P3.6
RD / P3.7
XTAL2
XTAL1
Vss
DIP
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
Vcc
P0.0 / AD0
P0.1 / AD1
P0.2 / AD2
P0.3 / AD3
P0.4 / AD4
P0.5 / AD5
P0.6 / AD6
P0.7 / AD7
EA / Vpp
ALE/ PROG
PSEN
P2.7 / A15
P2.6 / A14
P2.5 / A13
P2.4 / A12
P2.3 / A11
P2.2 / A10
P2.1 / A9
P2.0 / A8
Figura 10
Pinagem do 8031/8051
/8751 na verso DIP
P1.4
P1.3
P1.2
P1.1
P1.0
n.c.
Vcc
P0.0/ AD0
P0.1/ AD1
P0.2/ AD2
P0.3/ AD3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
6 5 4 3 2 1 44 43 42 41 40
P1.5
P1.6
P1.7
RST / VPD
RxD / P3.0
n.c.
TxD / P3.1
INT0 / P3.2
INT1 / P3.3
T0 / P3.4
T1 / P3.5
7
8
9
10
11
12
13
14
15
16
17
8 0 5 1
39
38
37
36
35
34
33
32
31
30
29
P0.4 / AD4
P0.5 / AD5
P0.6 / AD6
P0.7 / AD7
EA / Vpp
n.c.
ALE/ PROG
PSEN
P2.7 / A15
P2.6 / A14
P2.5 / A13
WR / P3.6
WR / P3.7
XTAL 2
XTAL 1
Vss
n.c.
P2.0 / A8
P2.1 / A9
P2.2 / A10
P2.3 / A11
P2.4 / A12
18 19 20 21 22 23 24 25 26 27 28
E.B.
Figura 11
Pinagem do 8031/8051/
8751 na verso Quad Pack
Pgina - 8
Microcontrolador 8051
A porta 0 uma porta bidirecional de 8 bits, com sada dreno aberto, ou entrada de alta
(P0.0 - P0.7) impedncia. usada para multiplexar o barramento de dados e o barramento de endereo
menos significativo, durante o acesso de memria de dados externa, ou de memria de
programa externa. No 8751 esta porta tambm usada para verificao do cdigo do byte
e, neste caso, so necessrios o uso de resistores "pull-up" externos.
A porta 1 uma porta bidirecional de 8 bits com resistores "pull-up" internos. Assim estes
PORTA 1:
(P1.0 P1.7) pinos podero funcionar como entradas, ou sadas Se uma entrada estiver conectada ao nvel baixo, ela fornecer corrente, devido aos resistores "pull-up" internos. Assim, deve-se
consultar as caractersticas eltricas deste circuito. Os pinos da porta 1 tambm recebem o
endereo menos significativo, durante a verificao de memria de programa para o 8751.
A porta 2 uma porta bidirecional de 8 bits com resistores "pull-up" internos. Esta porta
PORTA 2:
(P2.0 - P2.7) usada para colocar o byte de endereo mais significativo, quando um ciclo de busca externo de memria de programa, ou de dado, com endereo de 16 bits, est sendo realizado
(MOVX @ DPTR). Durante o acesso externo de memria de dados que usa endereo de 8
bits (MOV @ Ri), a porta 2 emite os contedos do registro de funo especial P2.
A porta 3 uma porta bidirecional de 8 bits com resistores "pull-up" internos. A porta 3
PORTA 3:
(P3.0 - P3.7) tem funes especiais para o 8051 que inclui as operaes de comunicao serial, interrupes externas, temporizaes e sinais de leitura escrita como se segue:
RxD (P3.0) - entrada da porta serial.
TxD (P3.1) - sada da porta serial.
INT0 (P3.2) - entrada de interrupo externa nvel 0.
INT1 (P3.3) - entrada de interrupo externa nvel 1. TO (P3.4) - entrada externa para
temporizador 0. T1 (P3.5) - entrada externa para temporizador 1. WR (P3.6) - sada
habilitadora de escrita para memria de dados externa RD (P3.7) - sada habilitadora
de leitura para memria de dados externa.
RESET: (RST) Um nvel alto neste pino com durao de dois ciclos de mquina. enquanto o oscilador estiver operando, realiza uma inicializao (reset) do circuito. Um resistor interno ligado a
Vss permite um reset na energizao do sistema, somente usando um capacitor externo
ligado a VCC.
ALE/PROG: Este pino opera como sada habilitadora de latches de endereamento, durante um acesso
a memria externa. Em operao normal, ALE emitido em uma taxa de 1/6 da freqncia de oscilao e pode ser usado para temporizao externa. Nas verses com EPROM
interna (8751) este pino opera como entrada recebendo o pulso de programao (PROG),
durante a programao da EPROM
Este pino uma sada que habilita a leitura de uma memria de programa externa. PSEN
PSEN:
no ser ativado durante uma busca na regio de memria de programa interna.
Este pino uma entrada que dever ser ligado ao nvel alto, para que o processador tenha
EA/VPP:
acesso a memria interna de programa, nos endereos de 0000H at 0FFFH e acesso a memria externa de programa, para endereos acima de OFFFH. Se estiver ligado ao nvel
baixo, toda a rea de memria de programa, de (3000H a FFFFH, ser externa. Nas verses
com EPROM interna (8751), este pino tambm recebe a tenso de programao de
12,75V, durante a programao da EPROM. Nas verses sem ROM interna, EA deve ser
conectado ao nvel baixo.
Entrada para o Oscilador inversor interno e para o circuito gerador de temporizao interXTAL 1:
no.
a sada do oscilador amplificador e inversor interno.
XTAL 2:
E.B.
Pgina - 9
Microcontrolador 8051
Registro de
endereamento
de RAM
Drivers da
Porta 0
Drivers da
Porta 2
Latch da
Porta 0
Latch da
Porta 2
RAM
ROM/EPROM
Registro de
Endereo
de Programa
Registro
B
ACUMULADOR
Apontador
de Stack
TMP2
TMP1
ALU
Tempori- Registro
zador
de
e
InstruControle
es
Buffer
PSW
Incrementador
de PC
Contador de
Programa
DPTR
Latch da
Porta 1
Latch da
Porta 3
Drivers da
Porta 1
Drivers da
Porta 3
Oscilador
O 8051 contm uma memria ROM interna de 4K x 8 bits usada como memria de programa. O
8031 a verso sem esta memria. O 8751 a verso com EPROM interna. Alm da memria ROM o
mesmo contm 128 x 8 bits de RAM, 32 linhas de entrada e sada distribudas em quatro portas paralelas,
dois contadores/temporizadores de 16 bits, uma estrutura de interrupo de dois nveis, uma porta serial
para comunicao de multiprocessador, oscilador interno e circuito de temporizao circuito de expanso
de perifricos ou UART "full duplex". Em adio o circuito opera com dois modos de consumo de potncia selecionveis por software, somente implementado nas verses CMOS. O modo denominado "ocioso"
(idle) e o modo "baixo consumo" (power-down). O modo ocioso "congela" a CPU, enquanto que a RAM,
temporizadores, porta serial e sistema de interrupo continuam operando normalmente. O modo baixo
consumo mantm o contedo da RAM mas "congela" o oscilador, fazendo com que todas as outras funes estejam inoperantes. Existem cinco verses de velocidade para a famlia 8031/8051/8751 19 MHz,
16 MHz, 24 MHz, 30 MHz e 33 MHz.
4.2 TEMPORIZAO DA CPU.
E.B.
Pgina - 10
Microcontrolador 8051
Todo microcontrolador da famlia 8051 possui um oscilador interno que poder ser usado para
temporizao da CPU. Para tal, um cristal dever ser conectado entre os pinos XTAL1 e XTAL2 do microcontrolador, com capacitores conectados entre estes pinos e a tenso de referncia Vss. Assim, o gerador de temporizao interna definir a seqncia de estados para o ciclo de mquina do 8051.
4.3 CICLO DE MQUINA.
Um ciclo de mquina consistir de uma seqncia de seis estados, numerados de S1 a S6. Cada estado dura dois perodos do oscilador. Ento, um ciclo de mquina tem 12 perodos do oscilador. Por exemplo 1 s para uma freqncia de 12 MHz.
Cada estado dividido em duas fases: fase 1 e fase 2, com durao de um perodo de oscilador.
A figura 13 mostra uma seqncia de busca/execuo para alguns tipos de instruo.
S1
OSC.
Xtal2
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
S1
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
ALE
Leitura de OpCode
S1
S2
S3
S5
S6
S2
S3
S4
S5
Leitura do Prximo
OpCode
S6
S2
S3
S4
S5
S6
Leitura do Prximo
OpCode (Novamente)
S1
S2
S3
S4
S5
S6
nenhum ALE
C) Instrues de 1 byte, 2 ciclos
Leitura de OpCode
Leitura do Prximo Nenhuma Busca
Leitura do Prximo
OpCode (Descartado)
OpCode (Novamente)
S1
S2
S3
S4
S5
S6
Endereo
S1
S2
Dado
S3
S4
S5
S6
Normalmente em um ciclo de mquina so gerados duas buscas de programa, mesmo que a instruo, sendo executada, no requeira. Neste caso, a CPU simplesmente ignora a busca extra e o contador de
E.B.
Pgina - 11
Microcontrolador 8051
programa no ser incrementado. A execuo de uma instruo de um ciclo inicia-se no estado S1 do ciclo de mquina, quando o opcode ser armazenado no registro de instruo. Uma segunda busca ocorrer
durante o estado S4 do mesmo ciclo de mquina. A execuo estar completa no final do estado S6.
A instruo MOVX ser executada em dois ciclos de mquina. Nenhuma busca de programa ser
gerada no segundo ciclo desta instruo. As sequncias de busca/execuo sero as mesmas tanto para a
memria de programa interna, quanto para a memria de programa externa. O tempo de execuo no depende de onde ser buscado a instruo.
4.4 Reset.
A entrada de reset feita atravs do pino RST, conectado a um circuito do tipo Schmitt trigger.
Um reset realizado mantendo-se a entrada RST em nvel alto pelo menos por dois ciclos de mquina (24
perodos do oscilador) com o oscilador operando. O reset ir zerar todos os registros de funes especiais,
exceto os latches das portas o apontador de stack e o registro SBUF. Os registros das portas sero inicializados com FFH7 o apontador de stack; com OFH e o SBUF ser indeterminado. A tabela 2 resume estes
valores.
REGISTRO
PC
VALOR
0000H
ACC
B
PSW
SP
DPTR
P0-P3
IP
IE
TMOD
00H
00H
00H
07H
0000H
FFH
XXX00000 B
0XX00000 B
00H
REGISTRO
TCON
VALOR
00H
TH0
00 H
TL0
00 H
TH1
00 H
TL1
00 H
SCON
00 H
SBUF
Indeterm.
PCON (NMOS) 0XXXXXXX B
PCON (CMOS) 0XXX0000 B
A RAM interna no ser afetada pelo reset. Na energizao do sistema, o seu contedo ser aleatrio e, portanto, indeterminado.
4.5 Reset na energizao do sistemas.
Um reset automtico pode ser obtido quando o pino RST for conectado a fonte VCC atravs de um
capacitor de 10 F, e a referencia Vss, atravs de um resistor de 872 Kohms. Os componentes desta famlia, construdos na verso CMOS, no necessitam do resistor. Porm, sua presena no ser prejudicial.
Quando o sistema for energizado, o circuito manter um nvel alto no pino RST, por um tempo dependente dos valores do capacitor e do resistor, que definem o tempo de carga do capacitor. Para garantir urna
boa inicializao, o sinal de reset deve ter uma durao acima de dois ciclos de mquina de sistema (normalmente alguns mseg.).
E.B.
Pgina - 12
Microcontrolador 8051
F8
F7
F0
EF
E8
E7
ACC E0
DF
D8
D7
PSW D0
CF
C8
C7
C0
BF
B7
AF
A7
9F
97
8F
87 PCON
TH1
TH0
TL1
DPH
TL0
DPL
IP
P3
IE
P2
SBUF SCON
P1
TMOD TCON
SP
P0
B8
B0
A8
A0
98
90
88
80
Note que nesta regio nem todos os endereos foram ocupados. As posies no ocupadas no foram implementados no componente. Assim, acessos de leituras nestes endereos geralmente retornam valores aleatrios,
enquanto que acessos de escrita no tero efeitos. Usurios de programao devem evitar a escrita nestas localizaes, visto que outros produtos desta famlia podero estar usando tais endereos para novas implementaes. Os
registros com endereamento terminado por OH ou 8H so tambm bits endereveis. A figura 15 apresenta os endereos, ou smbolos, ou funes dos bits dos registros de funo especial do 8031/8051.
E.B.
Pgina - 13
Microcontrolador 8051
Smbolo
B*
ACC*
PSW*
Descrio
FFH-F1H
F7H
F0H
EFH-E1H
Acumulador
E7H
E0H
DFH-D1H
Palavra Status de Programa
D7H
D0H
Registrador B
F6H
F5H
F4H
F3H
F2H
F1 H
F0H
E6H
E5H
E4H
E3H
E2H
E1H
E0H
CY
D6H
AC
D5H
F0
D4H
RS1
D3H
RS0
D2H
OV
D1H
--
D0H
P
BFH
--
BEH
--
BDH
--
BCH
PS
BBH
PT1
BAH
PX1
B9H
PT0
B8H
PX0
B7H
RD
B6H
WR
B5H
T1
B4H
T0
B3H
INT1
B2H
INT0
B1H
TxD
B0H
RxD
AEH
--
ADH
--
ACH
ES
ABH
ET1
AAH
EX1
A9H
ET0
A8H
EX0
A15
A6H
A14
A5H
A13
A4H
A12
A3H
A11
A2H
A10
A1H
A9
A0H
A8
9FH
SM0
9EH
SM1
9DH
SM2
9CH
REN
9BH
TB8
9AH
RB8
99H
TI
98H
RI
97H
--
96H
--
95H
--
94H
--
93H
--
92H
--
91H
T2EX
90H
T2
TF1
SMOD
C/T
8EH
TR1
--
M1
8DH
TF0
--
M0
8CH
TR0
--
GATE
8BH
IE1
GF1
C/T
8AH
IT1
GF0
M1
89H
IE0
PD
M0
88H
IT0
IDL
87H
AD7
86H
AD6
85H
AD5
84H
AD4
83H
AD3
82H
AD2
81H
AD1
80H
AD0
IP*
Habilitador de Interrupo
BFH-C9H
B8H
P3*
Porta 3
B7H-B1H
B0H
IE*
Habilitador de Interrupo
AFH-A9H
AFH
A8H
EA
P2*
A7H-A1H
A7H
A0H
Porta 2
P1*
9FH-9AH
99H
98H
97H-91H
90H
Porta 1
TH1
TH0
TL1
TL0
TMOD
TCON* Controle de Temporizador
PCON
Controle de Potncia
DPH
DPL
SP
P0*
8FH-8EH
8DH
8CH
8BH
8AH
GATE
89H
8FH
88H
87H
86H-84H
83H
82H
81H
80H
Pgina - 14
Microcontrolador 8051
Smbolo EndereaFuno
mento de bit
PSW.7 CY
D7H
Flag de carry nas operaes aritmticas e acumulador nas operaes Booleanas.
PSW.6 AC
D6H
Flag de carry auxiliar para as operaes BCD
PSW.5
F0
D5H
Flag disponvel para propsito geral
PSW.4 RS1
D4H
Bit 1 de seleo do Banco de Registros
PSW.3 RS0
D3H
Bit 0 de seleo do Banco de Registros
PSW.2 OV
D2H
Flag de Overflow
PSW.1
-D1H
Flag definvel pelo usurio, disponvel para propsito geral
PSW.0
P
D0H
Flag de paridade correspondente quantidade de bits em 1 no aumulador,
onde P=1 par e P=0 mpar.
Tabela 3 - Bits do PSW
A seleo do banco de registros, realizada pelos bits RS1 e RS0, seleciona os seguintes endereos:
RS1 RS0
0
0
0
1
1
0
1
1
Seleo
Banco 0
Banco 1
Banco 2
Banco 3
Pgina - 15
Microcontrolador 8051
O registro apontador de dados formado por um byte alto (DPH) acessado pelo endereo 83H e
por um byte baixo (DPL), acessado pelo endereo 82H. A sua funo a de manter um endereo de 16
bits, usado para acessar memrias externas. Portanto, este registro pode ser manipulador como um registro de 16 bits, ou como dois registros independentes de 8 bits.
4.8.6 REGISTROS DAS PORTAS 0 3 (P0-P3).
Os registros P0, P1, P2 e P3 so latches das portas 0, l, 2 e 3, respectivamente. O registro P0 acessado pelo endereo 80H. O registro P1, pelo endereo 90H. O P2, pelo endereo A0H e o P3 por B0H.
Todos estes registros so bit enderevel. Escrever 1 no bit de uma porta causar uma sada de nvel alto
no correspondente pino da porta. Quando usado como entrada, o estado externo aplicado ao pino ser
armazenado no correspondente bit do registro da porta.
4.8.7 REGISTRO DE BUFFER DE DADO SERIAL (SBUF).
O registro de buffer de dado serial, na realidade, composto de dois registros separados. Um registro buffer transmissor e um registro buffer receptor. Estes registros so denominados por SBUF e so diferenciados pelas operaes de leitura ou escrita. Quando o dado for movido para SBUF, ele ir para o buffer transmissor que executar a operao de transmisso serial, iniciada pelo prprio movimento do dado.
Quando o dado for movido de SBUF, ele ser lido do buffer de recepo. Este registro acessado pela escrita, ou pela leitura do endereo 99H.
4.8.8 REGISTRO DOS TEMPORIZADORES.
O par de registros (TH0, TL0) e (TH1, TL1) formam o registro contador para o temporizador/contador 0 e 1, respectivamente. So acessados respectivamente pelos endereos 8CH, 8AH, 8DH e
8BH.
4.8.9 REGISTROS DE CONTROLE.
Os registros de funo especial denominados IP, IE, TMOD, TCON, SCON e PCON contm bits
de controle e de status para o sistema de interrupo, os temporizadores/contadores e a porta serial.
E.B.
Pgina - 16
Microcontrolador 8051
5. BIBLIOGRAFIA
- The 8051 Microcontroler. Hardware, Software and Interfacing
Stewart, James W.
Regents / Prentice Hall
- Aplicaes Prticas do Microcontrolador 8051.
Silva Jr., Vidal Pereira da
rica
E.B.
Pgina - 17