Title: Microprocessador 8051 Aula 01
1Microprocessador 8051Aula 01
- Prof Afonso Ferreira Miguel
2Sistemas Processados
- Fundamentos de computação (cont.)
- Programa (Software) conjunto de instruções
arranjadas de forma organizada que apresenta
função específica (Ex Programas Básicos,
Aplicativos, Utilitários, etc.) - Firmware Programa que está armazenado em memória
não volátil (ROM) - Hardware partes eletrônicas de um
microcomputador - Microcontrolador microcomputador integrado num
único chip (microprocessador periféricos)
3Sistemas Processados
- Periféricos
- Circuitos acessórios ao computador que realizam
tarefas específicas - Exemplos
- Timers
- CCP (Comparação, Captura e PWM)
- Conversores Analógico-Digital e
Digital-Analógico - Portas de comunicação (USART, I2C, SPI, USB,
CAN,...).
4Arquiteturas
- von Neumann
- Instruções e dados compartilham a mesma unidade
física de memória - Hamacher Computer Organization
5Arquiteturas - von Neumann
uP
BUS
AX
BX
CX
DX
tempA
tempB
tempA
0
tempA
Memória
A
IR
MOV
AX,0
Entrada B
Entrada A
Entrada B
Entrada A
MOV AX,0
0
MOV AX,0
0
IP
0
MOV BX,1
1
MOV BX,1
1
Inst.
Saída Z
Saída Z
ADD AX,BX
2
ADD AX,BX
2
MA
0
JMP 2
3
JMP 2
3
MDMOV
AX,0
...
4
.
4
...
4
O
5
Dados
...
4
L
6
...
4
A
7
6Arquiteturas
- Harvard
- Instruções e dados são armazenados em memórias
diferentes - Heuring Computer Systems Disignd and
Architecture
Vantagem Instruções e dados podem ser acessados
simultaneamente, aumentando o desempenho!
7Arquiteturas
Memória de Programa
uP
MOV AX,0
0
MOV AX,0
0
BUS
IR
MOV
AX,0
MOV BX,1
1
MOV BX,1
1
Inst.
ADD AX,BX
2
ADD AX,BX
2
IP
0
JMP 2
3
JMP 2
3
AX
tempA
tempB
tempA
0
tempA
BX
Memória de Dados
CX
Entrada B
Entrada A
Entrada B
Entrada A
DX
...
4
.
0
Saída Z
Saída Z
MA
0
...
4
O
1
Dados
...
4
L
2
MDMOV
AX,0
...
4
A
3
8Instruction Set
- Definição Conjunto de instruções que um
processador compreende - Cada processador possui seu próprio conjunto de
instruções, inviabilizando, na maioria dos casos,
a portabilidade.
9Instruction Set
- Ciclo de execução de uma instrução em
processadores seqüenciais
...
Fetch 0
Fetch 1
Decod 0
Decod 1
Exec 0
Exec 1
Primeira instrução
Tempo perdido entre uma instrução e outra
10Instruction Set
- Pipeline de Instrução
- Ciclo de execução de uma instrução em
processadores seqüenciais com Pipeline.
...
Na maioria das vezes, uma instrução é executada
imediatamente após a outra.
11Instruction Set
- CISC Complex Instruction Set Computing
- Computação onde o número de instruções é muito
grande - RISC
- Computação onde um número reduzido de instruções
estão disponíveis.
12Instruction Set
- Considerações sobre RISC e CISC
- Uma única instrução CISC pode equivaler a várias
instruções RISC - Uma instrução CISC precisa realizar passos
semelhantes aos realizados pelas RISC
equivalentes (não há ganho de desempenho) - CISC minimiza o número de acessos a memória de
programa - RISC simplifica a decodificação de instruções,
deixando esta etapa mais rápida.
13Instruction Set
- Vantagens CISC
- Apesar do conjunto de instruções ser muito
grande, oferece um número maior de instruções
(ferramentas) ao programador Assembly - Menor quantidade de instruções são necessárias
para desenvolver um programa (programas ocupam
menos memória).
14Instruction Set
- Vantagens RISC
- Etapa de decodificação tão simples que pode, em
alguns casos, ser eliminada - Com um número menor de instruções, os parâmetros
destas podem ser agregados no opcode (código de
máquina de uma instrução), simplificando
inclusive o FETCH. - Simplificação dos circuitos eletrônicos.
15- Quem é melhor?
- RISC x CISC
16Microcontrolador 8051 (MCS-51)
- Família INTEL MSC-51 CISC/von Neumann
- 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.
17Microcontrolador 8051 (MCS-51)
- Família INTEL MSC-51
- 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 clock.
18Microcontrolador 8051 (MCS-51)
19Microcontrolador 8051 (MCS-51)
20Microcontrolador 8051 (MCS-51)
21Microcontrolador 8051 (MCS-51)
22Microcontrolador 8051 (MCS-51)
- Memória de programa Externa
23Microcontrolador 8051 (MCS-51)
FFh
FFh
FFh
FFh
Acessível por endereçamento
Acessível por endereçamento
Acessível
somente
por
Acessível
somente
por
direto
(
SFRs
Portes,
de
direto
(
SFRs
Portes,
de
Bits
Bits
endereçamento
indireto
(128
endereçamento
indireto
(128
bytes
bytes
controles dos
,
controles dos
,
Timers
Timers
superiores)
superiores)
Acumulador,
etc
)
Acumulador,
etc
)
80h
80h
80h
80h
7Fh
7Fh
Acessível por endereçamento
Acessível por endereçamento
direto e indireto (128
direto e indireto (128
bytes
bytes
inferiores)
inferiores)
00h
00h
24Microcontrolador 8051 (MCS-51)
- 128 bytes inferiores da RAM
25Microcontrolador 8051 (MCS-51)
- 128 bytes inferiores da RAM
26Microcontrolador 8051 (MCS-51)
- 128 bytes inferiores da RAM
27Microcontrolador 8051 (MCS-51)
- 128 bytes inferiores da RAM
28Microcontrolador 8051 (MCS-51)
29Microcontrolador 8051 (MCS-51)
- Registradores de Funções Especiais (SFRs)
30Microcontrolador 8051 (MCS-51)
- Regs de Funções Especiais (SFRs)
31Microcontrolador 8051 (MCS-51)
- Modos de endereçamento
- Particular On-chip Resources This includes the
Accumulator (A), the Stack Pointer (SP), the Data
Pointer (DP), the Program Counter (PC), and the
Carry (C). Other On-chip Registers are
Memory-mapped while these have special Op-codes. - Immediate operands The sign is the designator.
These are 8-bits except for DPTR contents
(16-bits). - Register operands Designated as Rn, where n is
0..7. One of the four Register Banks is used (PSW
selected).
32Microcontrolador 8051 (MCS-51)
- Modos de endereçamento
- Direct Operands From 00 to FF Hex, specifies one
of the internal data addresses. - Indirect Address Designated as _at_Ri, where i is 0
or 1, uses the contents of R0 or R1 in the
selected Register Bank to specify the address.
Other form is _at_A, using Accumulator contents.
33Microcontrolador 8051 (MCS-51)
34Microcontrolador 8051 (MCS-51)
35Microcontrolador 8051 (MCS-51)
36Microcontrolador 8051 (MCS-51)
37Microcontrolador 8051 (MCS-51)
38Microcontrolador 8051 (MCS-51)
39Microcontrolador 8051 (MCS-51)
40Microcontrolador 8051 (MCS-51)
41Microcontrolador 8051 (MCS-51)
- Ferramentas de desenvolvimento IAR
42Microcontrolador 8051 (MCS-51)
- Portas de IO
- Four 8-bit I/O ports
- Most have alternate functions
- Quasi-bidirectional
- Soft pull-up when port latch contains a 1. Can be
used as inputs (30kohm average pull-up).
43Microcontrolador 8051 (MCS-51)
- Porta P0
- As an I/O port
- No strong pull-up, outputs act as open drain.
- As a multiplexed data bus
- Tristate bus with strong pull-ups.
- 8-bit instruction bus, strobed by PSEN.
- Low byte of address bus, strobed by ALE.
- 8-bit data bus, strobed by WR and RD.
- 3.2 mA outputs (about 8 LS-TTL loads).
44Microcontrolador 8051 (MCS-51)
- Porta P1
- As an I/O port
- Standard quasi-bidirectional.
- Alternate functions
- Only on some derivatives.
- 1.6 mA outputs (about 4 LS-TTL loads).
45Microcontrolador 8051 (MCS-51)
- Porta P2
- As an I/O port
- Standard quasi-bidirectional.
- Alternate functions
- High byte of address bus for external program and
data memory accesses. - 1.6 mA outputs (about 4 LS-TTL loads).
46Microcontrolador 8051 (MCS-51)
- Porta P3
- As an I/O port
- Standard quasi-bidirectional.
- Alternate functions
- Serial I/O - TXD, RXD
- Timer clocks - T0, T1
- Interrupts - INT0, INT1
- Data memory - RD, WR
- 1.6 mA outputs (about 4 LSTTL loads).
47Microcontrolador 8051 (MCS-51)
REGISTRO VALOR REGISTRO VALOR
PC 0000 H TMOD 00 H
ACC 00 H TCON 00 H
B 00 H TH0 00 H
PSW 00H TL0 00 H
SP 07 H TH1 00 H
DPTR 0000 H TL1 00 H
P0 a P3 FF H ou 11111111 B SCON 00 H
IP 0XX00000 B SBUF indeterminado
IE 00 H PCON (CMOS) 0XXX0000 B
48Microcontrolador 8051 (MCS-51)
- Ligando o 8051 Circuito de RESET típico
49Microcontrolador 8051 (MCS-51)