Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Micro 8051
Micro 8051
* INTRODUCCION
* CARACTERISTICAS DEL 8051
* ARQUITECTURA DEL 8051
* TERMINALES DEL 8051
* REGISTROS INTERNOS DEL 8051
* MODOS DE DIRECCIONAMIENTO DEL 8051
* INSTRUCCIONES DEL 8051
* INTERCONEXIONADO CON CIRC PERIFRICOS
* MANEJO DEL SIMULADOR DEL 8051
2/22/2000
QUE
ES
UN
MICROCONTROLADOR?
2/22/2000
Memorias Pasivas
para programas
de aplicacin(ROM,
PROM, EPROM)
Microprocesador
(P)
Programas
de aplicacin
Memorias de
acceso aleatorio
para datos (RAM)
Bus
Microcomputadora
(MC)
Mdulos
de entrada/
salida
Lgica
adicional
Periferia
(memorias perifricas y
equipos de entrada/salida)
Hardware
Software
Estructura de un sistema
de microcomputadoras (MCS)
2/22/2000
Demanda HOLD
Microprocesador
Interrupt
ROM
RAM
Bus de datos
Bus de control
Bus de direccionamiento
Mdulo perifrico
de entrada/salida
(programable)
Conexin de
Interrupcin del
programa por
prioridades
Acumulador
Registro
intermedio
Registro
de instrucciones
Flipflops
de condicin
Unidad
aritmtica/
lgica
Decodificador
de instrucciones
y control del
ciclo de
mquina
Indicador
de posicin
Contador
de programa
Bloque de registros
Control para
E/S en serie
Bus de datos interno, 8 bits
Control de interrupcin
Contador progresivo/
regresivo
Memoria de direcciones
Alimentacin
Control de tiempo y de ejecucin
Buffer de direccin
Bffer de datos
Bus de
direccionamiento
Bus de datos
Bobina o cuarzo
Impulso
reloj
Corriente de reposo
Memoria de
programas
de 2Kbytes
Memoria
de datos
de 128 bytesb
Procesador
central
de 8 bits
Contador/
temporizador
de 8 bits
E/S
programables
Tensin
de referencia
Puerta
de E/S
en paralelo
Entradas
analgicas
Convertidor
A/D
de 8 bits
Regulacin
dela
luminosidad
Generador
MUX
Salida de la
matriz de
indicacin y
del teclado
Entradas
de computo
Contadores
de 4, 8 y
12 bits
Memoria de
indicacin
Codificador
de 7
segmentos
Salida de los
segmentos
de indicacin
Desde
la matriz
del teclado
Entrada
de teclas
Cronmetro
Horas
Minuto
Memoria
de salida
Salida de la
matriz
de indicacin
Reloj
Horas
Minuto
Equipo de
advertencia
Horas
Minuto
2/22/2000
Esquema de bloques lgico SAP 80215
Seal
de conexin
Decodificador
de direcciones
Bus de direccionamiento
CS
MP
(microprocesador)
RAM
(random
access memory)
CS
ROM
read-only
memory)
CS
Mdulo
perifrico
de entrada/
salida
Bus de datos
Bus de control
Funcionamiento de la microcomputadora
y su estructura bus
2/22/2000
Procesador
central
de 8 bits
Procesador
booleando
de 1 bit
Memoria
de programas
de 4 Kbytes
Memoria
de datos
de 128 bytes
Logica
de interrupcin
Entrada/ salida
en paralelo
4 x 8 bits
8
2 controladores/
temporizadores
de 16 bits
Entrada/ salida
en serie
Reloj
Memoria
de programas
Memoria
de datos
Procesador
central
Contador/
temporizador
Circuitos
de entrada/salida
TECHNOLOGY
Model
ram
rom
bytes
addr
SI/O
PI/O
C/T
int.
width
ADVENACED MICROSYSTEM
80C521
256 8K
64K
32 2,16bit
DALLAS SEMICONDUCTOR
DS6000T
8-54K
4K
128K
32 2,16bit
1M
1M
3
1
20 1,8bit
54 3,16bit
57 5,8bit
6
15
7
8
8
16
INMOS-LTD
IMST245
4K
IMST222
4K
IMSM212
2K
4G
64K
64K
4,links
4,links
4
2,32bit
2,16bit
2,16bit
2
2
2
32
1
16
128K
64K
64K
64K
64K
64K
1, uart
1, uart
uart
uart
uart
uart
2,16bit
4,16bit
2,16bit
2,16bit
6,16bit
6,16bit
2
16
2
2
8
16
8
16
8
8
16
16
64K
16M
56 3,8bit
68 8,16bit
6
7
8
16
2/22/2000
4K
56
40
32
2
40
40
1
3
10
MOTOROLA LTD
68HC05B6
68HC11E9
6804P3
146805G2
68HC05L6
68HC11
176
512
124
112
176
256
6K
12K
1.7K
2K
6K
8K
8K
64K
1
2
0
0
1
2
8K
8K
64K
4,16bit
8,16bit
1,8bit
1,8bit
4,16bit
8,16bit
4
17
1
3
4
17
8
8
8
8
8 1,10bit
40 3,16bit
52 8,16bit
14
8
8
16
16
uart
32
40
20
32
58
40
NEC ELECTRONICS UK
78214
512 16K
78322
640 16K
64K
64K
1
1
60 1,16bit
55 1,16bit
1,12bit
18 *
19
ROCKWELL INTERNATIONAL
R6501
192 36500/15
192 4K
64K
16K
1
1
32 2,16bit
32 2,16bit
10
10
8
8
15
82 2,8bit
1
48
8
8
2
3
2
2
2
8
8
8
6
8
8
8
8
8
112K
64K
to 64K
2
1
0
55
54
16 -
ZILOG UK LTD
Z86E21
Z8800
Z86C11
120K
128K
to 120K
1
1
32 2,14bit
40 2,16bit
82 2,0bit
2/22/2000
256 8K
352 8K
128 4K
uart
11
2/22/2000
ROM
8K
0
0
8K
0
0
12K
0
0
0
4K
0
EPROM
RAM
CONF
512
512
0
512
512
0
512
512
0
2K
0
512
256
256
256
256
256
256
512
512
512
256
192
1K
$0F
$0D
$0C
$0F
$0D
$0C
$0F
$0D
$0C
$FF
N/A
$FF
12
ROM
S-EPROM E PROM
8051
8052
83C451
83C552
83C652
83C751
83C752
8031
8032
80C451
83C552
83C652
13
87C51
87C451
83C552
83C652
83C751
83C752
Dr. Alejandro Vega Salinas
32k ROM
In 8XC528
16K ROM
In 8XC054,
512 RAM
In 8XC528
256 RAM
In 8052,
8XC52
8XC552,
8XC562,
8XC652,
8XC654
8XC654
8K ROM
In 8052,
8XC52
4k
8XC053
8XC552
8XC562
128
8XC652
Interrupt
Control
ROM
Timer 2
Capture/
Compare
Array
(8XC552,
8XC562
Timer 2
(8052,
8XC52,
8Xc528)
Counter
Inputs
Timer 1
2k ROM
In 83C751,
83C752J
64 RAM
In 83C751,
83C752
RAM
Timer 0
256 EEPROM
83C851
A/D
(8XC550,
8XCC552,
8XCC562,
8XC752)
CPU
Osc
Bus
Control
I/O
Port
SCL I2c
Serial
Serial
Ports
SDA Port
TXD RXD
Watchdog
Timer
(8XC528,
8XC550,
8XC552,
8XC562)
Fixed Rate
Timer
(83c751/2)
2/22/2000
P0
P2
P1
P3 P4-P5-P6
PWM System
(8XC552,
8XC562,
8XC752)
Address/Data
NOTES:
P0-P3 for 8051, 8052, 8XC652, 8XC528, 8XC52,
8XC654, 8XCL410, 8XC551
P0-P5 for 8XC552, 8XC562, 8XC592
P0-P6 for 8XC451
Part of P0, AND P1, P3 for 8XC751 and 8XC752
14
15
VCC
39
P0.0
38
P0.1
37
P0.2
36
P0.3
35
P0.4
34
P0.5
33
P0.6
32
P0.7
31
VPP/EA
30
PROG/ALE
29
PSEN
28
P2.7
27
P2.6
26
P2.5
25
P2.4
24
P2.3
23
P2.2
22
P2.1
21
P2.0
P1.1
P1.2
P1.3
P1.4
P1.5
2/22/2000
40
P1.0
P1.6
P1.7
RST
P3.0-RxD
10
Tx
11
INTO
12
INTI
13
T O
14
T 1
15
WR
16
P3.7 R D
17
X TAL 2
18
X TAL 1
19
VSS
20
8051
8031
8751
16
Pin del
Bus interno
1
Q
1
D
T1
&
Pin E/S
T2
1
Q
Impulso
de inscripcin
de salida
Acceso de bus
CLK
Leer el pin
17
Pin del
Bus interno
1
Q
1
D
T1
&
Pin E/S
T2
Q
1
Impulso
de inscripcin
de salida
1...4 k
CLK
Refuerzo
del flanco
BAJO ALTO
Leer el pin
18
BUS DE DATOS
8051 P0
EA
ALE
LATCH
DIRECCION
BAJA
A0
A7
DIRECCION ALTA
P2
P SEN
RD
RAM
E PROM
A8
A8
A15
A15
OE
WR
RD
WR
2/22/2000
19
Bus de datos
P1
RAM
P0
Vcc
LATCH
EA
ALE
C-8051
P2
2/22/2000
A7
A8
A9
A10
P SEN
RD
Direcc. Bajas
A0
WR
RD
20
WR
65535
65535
Externa
496
495
255
Interna
o externa
128
127
Memoria
de programas
2/22/2000
Registros SFR
Memoria
de datos interna
21
Memoria
de datos externa
Memoria
RAM no
disponible en
el 8031
F8
F0
E8
E0
D8
D0
C8
C0
B8
B0
A8
A0
98
90
88
80
B
ACC
PSW
IP
P3
IE
P2
SCON SBUF
P1
TCON TMOD TL0 TL1 TH0 TH1
P0
SP
DPL DPH
FF
F7
EF
E7
DF
D7
CF
C7
BF
B7
AF
A7
9F
97
8F
PCON 87
Stack
Funciones de la
memoria de datos
interna C-8051
Memoria de datos
utilizable discrecionalmente
Area direccionable por bits
(128 posiciones binarias)
Banco de registros 3(R0-R7)
Banco de registros 2(R0-R7)
Banco de registros 1(R0-R7)
Banco de registros 0(R0-R7)
2/22/2000
22
B
7F
77
6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
7
7C
74
6C
64
5C
54
4C
44
3C
34
2C
24
1C
16 15 14 13 12 11
0E 0D 0C 0B 0A 9
6
5
4
3
2
1
BANCO
3
BANCO
2
BANCO
1
BANCO
0
RAM
INTERNA
2/22/2000
30
78 2FH ACC
70
68
PSW
60
58
IP
50 2AH
48
P3
40 28H
38
IE
30
28
P2
20
18
SCON
10 22H
8 21H P1
0 20H
TCON
F7
F6
F5
F4
F3
F2
F1
F0
F0H
50 EDA
D0
DOH
B8H
B0H
A8H
A0H
9F
9E
9D
9C
9B
9A
99
97
8F
23
90H
8E
87
P0
98 98H
8D
86
8C
85
84
SFR
8B
8A
83
82
89
88 88H
81
80 80H
MODOS DE DIRECCIONAMIENTO
DEL MICROPROCESADOR 8051.
a) DIRECCIONAMIENTO INMEDIATO
b) DIRECCIONAMIENTO DIRECTO
c) DIRECCIONAMIENTO INDIRECTO
d) DIRECCIONAMIENTO INDEXADO
e) DIRECCIONAMIENTO POR REGISTRO
f) DIRECCIONAMIENTO POR BIT
2/22/2000
24
DIRECCIONAMIENTO INMEDIATO
EL VALOR DE UNA CONSTANTE SIGUE AL CODIGO DE OPERACIN
EN LA MEMORIA DEL PROGRAMA.
MOV A, #64H
; CARGA EL APUNTADOR
ADD A, #120
DIRECCIONAMIENTO DIRECTO
EL OPERANDO ES ESPECIFICADO POR UNA DIRECCION DE 8 BITS
EN DONDE SE ENCUENTRA EL DATO CON EL QUE SE DESEA
HACER LA OPERACIN. (SOLO EN RAM int. Y SFR).
MOV A, 2EH
25
DIRECCIONAMIENTO INDIRECTO
SE UTILIZA UN REGISTRO EN DONDE SE ENCUENTRA LA
DIRECCIN DEL DATO CON EL QUE SE DESEA REALIZAR
LA OPERACIN.
SE UTILIZAN LOS REGISTROS R0, R1 Y SP, PARA EL
DIRECCIONAMIENTO DE 8 BITS.
PARA LAS DIRECCIONES DE 16 BITS SE UTILIZA EL DPTR. TANTO
RAM int COMO ext. PUEDEN SER DIRECCIONADAS INDIR.
ADD A, @RO
MOV A, @R1
2/22/2000
26
2/22/2000
27
TRANSFERENCIA DE DATOS
RAM INTERNA
MOV <Destino>, <fuente>
MOV A, <fuente>
;A
MOV <Destino> A
; <Destino>
; DPTR
PUSH <fuente>
POP <Dest>
XCH A; <byte>
XCHD A, @R1
2/22/2000
<fuente>.
A.
16 bits.
28
DIRECCIONAMIENTO DE TABLAS
RAM EXTERNA
MOVX A, @R1
; A <-- <@Ri>.
MOVX @R1, A
; <@Ri> <--A.
29
INSTRUCCIONES BOOLEANAS
ANL C, bit
ANL C, /bit
ORL C, bit
ORL C, /bit
MOV C, bit
; C <-- bit
CLR C
; C <-- 0
CLR bit
; bit <--0
SETB C
; C <--1
SETB bit
; bit <--1
CPL C
; C <-- NOT.C
CPL bit
JC REL
JB bit, REL
2/22/2000
30
P1.1
P2.2
P2.5
&
2H.
&
21H.3
P3.3
P1.6
MOV
C,P2.2
ORL
C,P2.5
ANL
C,P1.1
CPL
;Invertir el resultado
MOV
F, C
MOV
C,2H.
ANL
C,/21H.3
ORL
C,F
ORL
C,/P1.6
MOV
P3.3, C
2/22/2000
31
AC
F0
RS1
RS0
OV
CY
PSW.7
ACARREO
AC
PSW.6
ACARREO AUX.
FO
PSW.5
USOS GENERALES
RS1
PSW.4
RS0
PSW.3
OV
PSW.2
OVERFLOW
PSW.1
INDEFINIDA
PSW.0
PARIDAD*
32
GF1
GF0
PD
IDL
SMOD
GF1
Propsitos generales
GF2
Propsitos generales
PD
IDL
2/22/2000
33
ET2
ES
ET1
EX1
EA
IE.7
DESACTIVA INTER.
ET2
IE.5
ES
IE.4
ET1
IE.3
EX1
IE.2
ET0
IE.1
EX0
IE.0
ET0 EX0
PT2
PS
PT1
PX1
PT0 PX0
PT2
IP.5
PS
IP.4
PT1
IP.3
PX1
IP.2
PT0
IP.1
PX0
IP.0
2/22/2000
34
TF1
TR1
TF0
TRO IE1
IT1
IE0
IE1
TF1
TCON.7
TR1
TCON.6
TF0
TCON.5
TR0
TCON.4
IE1
TCON.3
IT1
TCON.2
IE1
TCON.1
IT0
TCON.0
2/22/2000
35