Escolar Documentos
Profissional Documentos
Cultura Documentos
Endereço da posição
estrangulamento (von
(…)
Memória
Memória de programa e
memória de dados
• Diversos microcontroladores assumem memórias
separadas para armazenamento de programas e
de dados
• No caso da família 51
– As memórias de programa (MP) e dados (MD) partilham
o mesmo barramento (arquitectura tradicional)
– Os “dados” da MD não são operandos das instruções,
mas antes variáveis (ex.: ADD A,#55H — o operando
55H está armazenado na MP logo a seguir ao código de
instrução)
EEC2104 – Microprocessadores - FEUP / DEEC / JMF - 2
MP e MD na família 51
• Normalmente a MP é uma (EP)ROM e a MD uma
RAM
• As (EP)ROM são não-voláteis e conservam o
programa quando se desliga a
alimentação
• As RAM “normais” perdem a informação se falha
a alimentação, embora existam RAM não-voláteis
(que possuem uma bateria interna)
Micro(proc. ou contr.):
Conceitos básicos
• Os µP integram uma unidade de processamento
central num só componente (registo CPU
CONTR.
Microcontrolador, memória
e entrada / saída
• Os quatro tipos de transferência de dados
controlados pelo µC são
– Leitura da memória (dados ou programa)
– Escrita da memória (dados)
– Leitura de um periférico de entrada / saída (ex. a porta
série)
– Escrita num periférico de entrada / saída
• Cada tipo referido pode ainda subdividir-se (ex.: a
leitura da MD tem diferenças face à leitura da MP)
Configuração de pinos no
encapsulamento 40-DIP
• Existem muitos P1.0
P1.1
1
2
40
39
+5 V
P0.0 - AD0
P1.2 3 38 P0.1 - AD1
encapsulamentos P1.3 4 37 P0.2 - AD2
P1.4 5 36 P0.3 - AD3
possíveis (DIP e P1.5 6 35 P0.4 - AD4
P1.6 7 34 P0.5 - AD5
não-DIP, com mais P1.7
RST
8
9
33
32
P0.6 - AD6
P0.7 - AD7
ou menos pinos) P3.0 - RxD
P3.1 - TxD
10
11
31
30
/EA - V PP
ALE - /PROG
P3.2 - /INT0 12 29 /PSEN
P3.3 - /INT1 13 28 P2.7 - A15
Nota: Repare-se P3.4 - T0 14 27 P2.6 - A14
P3.5 - T1 15 26 P2.5 - A13
na multiplexagem P3.6 - /W R 16 25 P2.4 - A12
de sinais nos P3.7 - /RD
XTAL2
17
18
24
23
P2.3 - A11
P2.2 - A10
pinos — porquê? XTAL1
0V
19
20
22
21
P2.1 - A9
P2.0 - A8
Até 64 KB de MD — a MD
externa é lida via /RD e
escrita via /WR (através
das instruções MOVX)
128 ou 256 bytes de RAM
que contêm os registos R0 Nota: Distingue-se entre
a R7, posições de uso RAM genérica e SFR
genérico, SFR (funções (endereços ≥ 128) através
internas de E/S) e stack
EEC2104 – Microprocessadores - FEUP / DEEC / JMF - 11
do modo de endereçamento
O que é a stack?
Chamada a subrotina (PC) (a apontar para a posição Cód. da instr. actual
com endereço “A”) Cód. da instr. seguinte
Cód. da instr. seguinte
(endereços
(endereços crescentes)
crescentes)
? (livre) (PC) ? (livre)
(PC) ? (livre) Ender. da posição A+1
Stack Stack
Subrotina Subrotina
Outras características da
família 51
• O 8051 realiza operações ao bit (ex.: CLR C),
nibble (SWAP A), byte (MOV R0,#0) e duplo-
byte (MOV DPTR,…)
• A inicialização (reset ou power on) obriga à
execução da instrução presente no endereço 0
• Variantes principais: 803X (sem MP interna), 805X
(MP interna de fábrica), 87XX (MP interna
programável pelo utilizador), 89XX (MP interna do
tipo Flash), 8XCXX (tecnologia CMOS)
EEC2104 – Microprocessadores - FEUP / DEEC / JMF - 14