Академический Документы
Профессиональный Документы
Культура Документы
CON ROM
CON
EPROM
ROM
BYTES
RAM
BYTES
TIMERS
16 BITS
INTERRUPCIONES
8031
8032
8051
8052
8751
8752
4K
8K
128
256
2
3
5
6
256 Bytes en el
8052
Timer 0
Control de
Interrupciones
128 Bytes
RAM
ROM
Timer 0
Timer 0
CPU
Oscilador
Bus de
Control
Puerto Serial
4 Puertos I/O
0V
0V
0V
P0
P1
P2
Direcciones / Datos
P3
TxD
RxD
Entradas
del Contador
MEMORIA DE PROGRAMA
(SOLO DE LECTURA)
FFFFh
FFFFh
EXTERNA
EXTERNA
1FFFh
FFh
EA = 1
8052
0FFFh
8051
EA = 0
EXTERNA
SFR
8052
7Fh
INTERNA
8051
0000
00
PSEN
00
RD
WR
(1) INTERRUPCION
(2) VECTOR DE
INTERRUPCION
(4) RETORNO DE
INTERRUPCION
PROGRAMA PRINCIPAL
RTI
Interrupcin Externa 0
0003h
Timer 0
000Bh
Interrupcin Externa 1
0013h
Timer 1
001Bh
Puerto Serial
0023h
Timer 2
002Bh
0FFFh
MCS-51
P1
ROM EXTERNA
P0
INSTR
EA
0V
P3
LATCH
ALE
ADDR
P2
PSEN
OE
P2
S2
P1
P2
S3
P1
P2
S4
P1
P2
S5
P1
P2
S6
P1
P2
CICLO DE MAQUINA
MCS-51
RAM EXTERNA
P0
P1
EA
DATOS
+5V
LATCH
ALE
RD
P3
ADDR
P2
WR
I/O
Bits de Pgina
WE
OE
ACCESIBLE MEDIANTE
DIRECCIONAMIENTO
DIRECTO
80h
7Fh
ACCESIBLE MEDIANTE
DIRECCIONAMIENTO
DIRECTO E INDIRECTO
00h
Registros de Propsito
Especia:l
Puertos
Bits de Estado
y de Control
Timers
Registros
Puntero de Pila
Acumulador
F8
F0
E8
E0
D8
D0
C8
C0
B8
B0
A8
A0
98
90
88
80
B
ACC
PSW
(T2CON)
IP
P3
IE
P2
SCON
P1
TCON
P0
(RCAP2L)
(RCAP2H)
(TL2)
(TH2)
TL0
DPL
TL1
DPH
TH0
TH1
SBUF
TMOD
SP
FF
F7
EF
E7
DF
D7
CF
C7
BF
B7
AF
A7
9F
97
8F
PCON 87
B.
PSW.
P0, P1, P2, y P3. Puertos 0 a 3 son los cerrojos de los puertos 0,1,2 y 3
respectivamente.
IE.
IP.
SCON. Serial Port Control o Control del Puerto Serial. Establece los
parmetros para la transmisin o recepcin de datos a travs
del puertos serial (ancho del dato, bits de inicio y parada,
velocidad, etctera.)
TCON. Timer/Counter Control o Control de Temporizador/Contador.
Controla dos modos de operacin de los temporizadores y
maneja las interrupciones asociadas, as como los bancos de
activacin.
1.7.7.3.2 Registros no direccionables bits a bit
SBUF. Serial Buffer o Buffer Serial de datos. Son dos registros que se
utilizan para la transmisin y recepcin de datos a travs del
puerto serial.
TMOD.
SP.
DPTR. Data Pointer o Puntero de Datos. Est constituido por una arte
alta (DPH) y una parte baja (DPL) y contiene una direccin de
16 bits. Se puede manejar como un registro de 16 bits o como
dos registros independientes de 8 bits.
T0 y T1. Timers o Temporizadores. Son registros de 16 bits que pueden
actuar como temporizadores o contadores e incluyen dos
registros de 8 bits TH0, TL0, TH1 y TL1.
PCON. Power Control o Control de Poder. Posee un bit que cambia la
velocidad de comunicacin serial y en versiones CHMOS de
esta familia, puede modificar el rgimen de trabajo del
microcontrolador, reduciendo el consumo de energa.
1.7.7.3.3 Registros exclusivos de los microcontroladores 8XX2
T2CON. Lo mismo queTMOD yTCON, pero aplicado al timer adicional
que posee esta versin de microcontrolador.
RCAP2. Capture Register o Registros de Captura. Incluye dos registros
de 8 bits (RCAP2H y PCAP2L) que trabajan en conjunto con el
TIMER2.
TH2.
Direcciones/Datos
Direcciones/Datos
para
este
1.7.9 Comunicaciones
En puerto serie trabaja el modo full duplex, lo que significa que puede
transmitir y recibir datos simultneamente. La familiaMCS-51 posee cuatro modos
de comunicacin, dentro de los cuales se encuentran sincrnicos y asncronicos,
con velocidades variables por usuario.
En estos modos de comunicacin no solamente le permiten dialogar con
otros microcontroladores de la misma familia, sino con la de otros fabricantes, con
memoria seriales e incluso con computadores personales tipo PC.
1.7.10 Microcontrolador 8051
Todos los miembros de la familia MCS-51 ejecutan del mismo conjunto de
instrucciones, las cuales estn orientadas hacia aplicaciones de 8 bits. Estas
instrucciones disponen de una amplia variedad de modos de direccionamiento
para acceder a la RAM interna, facilitando las operaciones de byte sobre una
pequea estructura de datos. Tambin, estas permiten la manipulacin directa de
bits para sistemas lgicos y de control que requieran procesamiento Booleano.
1.7.10.1 Modos de direccionamiento
Los modos de direccionamiento son las formas en las cuales se puede
acceder a la informacin existente, bien sea dentro de la RAM interna, la externa,
la zona de registros de propsito especial o la ROM de programa. Existen varias
clases de direccionamiento:
1.7.10.1.1 Direccionamiento inmediato
El operando fuente es un valor constante que sigue al operando destino. El
smbolo # indica este tipo de direccionamiento.
Ejemplo:
MOV SP,#34H
ANL A,#101B
Instrucciones aritmticas
Instrucciones lgicas
Instrucciones para la transferencia de datos en memoria interna
Instrucciones para la transferencia de datos en memoria externa
Instrucciones para el tratamiento de tablas
Instrucciones Booleanas
Instrucciones de salto
ADD
ADD
ADD
ADD
ADDC
ADDC
ADDC
ADDC
SUBB
SUBB
SUBB
SUBB
INC
A,Rn
A,direct
A,@Ri
A,#data
A,Rn
A,direct
A,@Ri
A,#data
A,Rn
A,direct
A,@Ri
A,#data
A
1
2
1
2
1
2
1
2
1
2
1
2
1
Descripcin
INC
INC
INC
DEC
DEC
DEC
DEC
INC
MUL
DIV
DA
Rn
direct
@Ri
A
Rn
direct
@Ri
DPTR
AB
AB
A
1
2
1
1
1
2
1
1
1
1
1
Increment register
Increment direct byte
Increment direct RAM
Decrement Accumulator
Decrement Register
Decrement direct byte
Decrement indirect RAM
Increment Data Pointer
Multiply A & B
Divide A by B
Decimal Adjust Accumulator
ANL
ANL
ANL
ANL
ANL
ANL
ORL
ORL
ORL
ORL
ORL
ORL
XRL
XRL
XRL
XRL
XRL
XRL
CLR
CPL
RL
RLC
RR
RRC
SWAP
A,Rn
A,direct
A,@Ri
A,#data
direct,A
direct,#data
A,Rn
A,direct
A,@Ri
A,#data
direct,A
direct,#data
A,Rn
A,direct
A,@Ri
A,#data
direct,A
direct,#data
A
A
A
A
A
A
A
1
2
1
2
2
3
1
2
1
2
2
3
1
2
1
2
2
3
1
1
1
1
1
1
1
Descripcin
puntero de pila. Se debe recordar que la pila est situada dentro de la memoria
RAM interna y el puntero de pila est sealando hacia el banco 1 de registros pero
puede reubicarse, de tal manera que se localice en el rea del Scratch Pad.
La operacin XCH A,<byte> hace que el acumulador y el byte direccinado
intercambien sus datos. La instruccin XCHD A,@Ri es similar, pero solamente los
nibbles bajos participan en el intercambio.
Tab.1.7.E Instrucciones de Transferencia de datos
Memnico Operandos Ciclos
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOVC
MOVC
MOVX
MOVX
MOVX
MOVX
PUSH
POP
XCH
XCH
XCH
XCHD
A,Rn
1
A,direct
2
A,@Ri
1
A,#data
2
Rn,A
1
Rn,direct
2
Rn,#data
2
direct,A
2
direct,Rn
2
direct,direct 3
direct,@Ri 2
direct,#data 3
@Ri,A Move 1
@Ri,direct 2
@Ri,#data 2
DPTR,#data 3
A,@A+DPTR 1
A,@A+PC 1
A,@Ri
1
A,@DPTR 1
@Ri,A
1
@DPTR,A 1
direct
2
direct
2
A,Rn
1
A,direct
2
A,@Ri
1
A,@Ri
1
Descripcin
CLR
LR
SETB
SETB
CPL
CPL
ANL
ANL
ORL
ORL
MOV
MOV
JC
JNC
JB
JNB
JBC
C
bit
C
bit
C
bit
C,bit
C,/bit
C,bit
C,/bit
C,bit
bit,C
rel
rel
bit,rel
bit,rel
bit,rel
1
2
1
2
1
2
2
2
2
2
2
2
2
2
3
3
3
Descripcin
Clear Carry
Clear direct bit
Set Carry
Set direct bit
Complement Carry
Complement direct bit
AND direct bit to CARRY
AND complement of direct bit to Carry
OR direct bit to Carry
OR complement of direct bit to Carry
Move direct bit to Carry
Move Carry to direct bit
Jump if Carry is set
Jump if Carry not set
Jump if direct Bit is set
Jump if direct Bit is Not set
Jump if direct Bit is set & clear bit
ACALL
LCALL
RET
RETI
AJMP
LJMP
SJMP
JMP
JZ
JNZ
CJNE
addr11
addr16
addr11
addr16
rel
@A+DPTR
rel
rel
A,direct,rel
2
3
1
1
2
3
2
1
2
2
3
CJNE
A,#data,rel
CJNE
Rn,#data,rel 3
CJNE
@Ri,#data,rel3
DJNZ
DJNZ
NOP
Rn,rel
direct,rel
2
3
1
Descripcin
CASO_0
CASO_1
CASO_2
CASO_3
una constante de 16 bits. Si el salto est por fuera del rango descrito, el
ensamblador escribir el mensaje "Destination out of Range" (Destino fuera de
rango) en el listado de errores del programa.
Las instrucciones JZ y JNZ verifican directamente el acumulador, ya que no
se posee una bandera de cero en el registro PSW. La instruccin DJNZ
(Decrement and Jump if Not Zero - decremento y salto si no es cero) se utiliza
para controlar bucles. Para ejecutar unas instrucciones N nmero de veces, se
carga un contador con N y se termina el bucle con la instruccin DJNZ , como se
muestran el siguiente ejemplo:
MOV Contador,#10
Loop:
2 Timer/Counter de 16 bits
6 Fuentes de interrupcin
5
4
2
3
6
7
8
9
11
20
XT AL1
VCC
RS T
XT AL2
AT89C2051
(RXD) P 3.0
(T XD) P 3.1
(INT 0) P3.2
(INT 1) P3.3
(T 0) P 3.4
(T 1) P 3.5
P3.7
12
(A IN0) P 1.0
13
(A IN1) P 1.1
14
P1.2
15
P1.3
16
P1.4
17
P1.5
18
P1.6
19
P1.7
GND
10
40
X T A L1
VCC
X T A L2
RS T
E A/V P P
A LE P
/ R OG
PS EN
(T 2) P 1.0
(A D0) P 0.0
(T 2 E X ) P 1.1
(A D1) P 0.1
P 1.2
(A D2) P 0.2
P 1.3
(A D3) P 0.3
P 1.4
(A D4) P 0.4
P 1.5
(A D5) P 0.5
P 1.6
(A D6) P 0.6
P 1.7
(A D7) P 0.7
AT89C52
(R X D ) P 3.0
(A 8) P 2.0
(T X D ) P 3.1
(A 9) P 2.1
(IN T 0
) P 3.2
(A 10) P 2.2
(IN T 1
) P 3.3
(A 11) P 2.3
(T 0) P 3.4
(A 12) P 2.4
(T 1) P 3.5
(A 13) P 2.5
(W R) P 3.6
(A 14) P 2.6
(RD) P 3.7
(A 15) P 2.7
GN D
20
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28