Professional Documents
Culture Documents
CURSO 04/05
Práctica 1: Introducción al 8051
T0 PUERTO 0 E/S
RAM
256 Bytes
T1 PUERTO 1 E/S
8051
MEMORIA (8 bits) PUERTO 2 E/S
PASIVA PUERTO
(OPCIONAL) SERIE
PUERTO 3 E/S
HASTA 4KBytes
MEMORIA RAM INTERNA: ORGANIZACIÓN 1.3
FF
SFR
80
7F
RAM
00
MEMORIA RAM INTERNA: ORGANIZACIÓN 1.4
BANCO 3 R7 R6 R5 R4 R3 R2 R1 R0 18H
BANCO 2 R7 R6 R5 R4 R3 R2 R1 R0 10H
BANCO 1 R7 R6 R5 R4 R3 R2 R1 R0 08H
BANCO 0 R7 R6 R5 R4 R3 R2 R1 R0 00H
SFR (“Special Function Registers”) 1.5
• ACC: acumulador.
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
• IE : habilitación de interrupciones.
• IP: prioridad de interrupciones.
SFR 1.7
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
• SP (“Stack Pointer”):
– Tamaño 8 bits. Después de reset apunta a la dirección 07h.
– Se incrementa antes de PUSH.
– Se decrementa después de POP.
Tema 1: Introducción al 8051
C Bit de acarreo
AC Bit de acarreo auxiliar para operaciones en BCD
F0 Flag de propósito general
RS1 RSO 0 0 Selección del banco de registros 0
OV Flag de desbordamiento
F1 Flag de propósito general
P Flag de paridad, indica un número par/impar de unos en el acumulador
MEMORIA PASIVA INTERNA 1.8
datos y de programa):
PSEN
Tema 1: Introducción al 8051
Memoria
Programa
80C537
RD
Memoria
WR
Datos
RAM T0 PUERTO 0
AB[7:0]/D[7:0]
256 Bytes T1 PUERTO 1
8051 MEMORIA
MEMORIA
(8 bits) EXTERNA
PUERTO PUERTO 2 AB[15:8]
PASIVA
(OPCIONAL) SERIE
PUERTO 3
HASTA 4KBytes
MODOS DE DIRECCIONAMIENTO (I) 1.11
• Direccionamiento directo:
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
• Direccionamiento indirecto:
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
• DPTR: 16 bits.
– Ejemplo: ADD A,@R0
• Direccionamiento indexado:
– El código de instrucción se obtiene de la suma de un registro base
(DPTR/PC) y un registro índice (ACC).
– Facilita el acceso a tablas de datos.
– Ejemplo: MOVC A,@ A + DPTR
JUEGO DE INSTRUCCIONES 1.13
Modos direccionamiento
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
Mnemónico Resultado de la instrucción DIR IND REG INM
MOV A, src (A) = (src) X X X X
Conjunto de instrucciones
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
• Ejemplos:
MOV A,R0
MOV @R1,A
dato
25H
R0
R1 26(1AH)
DPTR
A DPTR
25H
R0
A 26(1AH)
5FH
A
Tema 1: Introducción al 8051
MOV A,#3
2F7AH
2A
5F
A4
3 9AC8
1C
F5 2F7A
1C
2A
03
F5 1C
2A
F5
MOV 25H,26
MOV DPTR,#2F7AH 5FH
B3
Conjunto de instrucciones
MOV C,P3.1
C P3.1 C P3.1
0 1 1 1
Transferencia datos sobre IRAM (Ejemplos 2) 1.16
• Ejemplo:
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
RAM interna
SP 255
PUSH ACC
3A
39
51
50 +-
POP ACC
Tema 1: Introducción al 8051
1 3AH
51H BF
06
A
06
45
BF Posición
inicial
Transferencia datos sobre XRAM 1.17
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
MOVX A,@R0
MOVX @DPTR,A
A
R0
A5
84
39
6F
03A5
DPTR
03A5H
6F
BF
39A5H
RAM Externa Datos
0
255
65535
1.18
Transferencia datos desde memoria de programa 1.19
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
Ejemplo:
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
MOVC A,@A+DPTR
Tema 1: Introducción al 8051
MOVC A,@A+PC
RAM
Memoria
Externa
programa
Datos
DPTR
PC 65535
65535
E12A
B4B0
+ E12DH
B4C8H 9C
C2
A
03
18
9C
C2
00
Instrucciones lógicas 1.21
RLC A rota 1 bit a la izquierda el acumulador de forma circular a través del bit acarreo (el bit 7
pasa a ser el acarreo y el acarreo pasa a ser el bit 0)
Tema 1: Introducción al 8051
RR A rota 1 bit a la derecha el acumulador de forma circular (el bit 0 pasa a ser el bit 7)
RRC A rota 1 bit a la derecha el acumulador de forma circular a través del bit acarreo (el bit 0 pasa
a ser el acarreo y el acarreo pasa a ser el bit 7).
SWAP A intercambia los “nibbles” (4 bits) bajo y alto del acumulador. Es igual a una rotación de 4
bits (RL o RR)
Modos de direccionamiento:
Mnemónico: Resultado : DIR IND REG INM
DIR: direc. Directo; IND: direc. Indirecto; REG: direc. Registro; INM: direc. Inmediato
Instrucciones de manejo de bits 1.22
C: bit de acarreo
DIV AB divide el acumulador (A) entre el registro B (ambos enteros sin signo). La
parte entera del cociente se guarda en A y el resto entero se guarda
en B. Una división por cero pone OV=1
SUBB A, resta el byte y el acarreo (C) del acumulador y guarda el resultado en este X X
byte último. El acarreo de la resta (C) se pone a 1 cuando el resultado es
negativo. Esto permite hacer restas de mayor precisión (16 bits, etc.).
El desbordamiento se indica mediante OV=1
DIR: direc. Directo; IND: direc. Indirecto; REG: direc. Registro; INM: direc. Inmediato
Instrucciones de salto incondicional 1.25
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
DIR: direc. Directo; IND: direc. Indirecto; REG: direc. Registro; INM: direc. Inmediato
-128 ≤ rel ≤ +127
CPU: CICLO MÁQUINA 1.27
– Bit a bit: se puede trabajar con cada bit de los puertos por
separado mediante las instrucciones de manejo de bits. Para
direccionar un bit la sintaxis es Px.y donde "x" es el número del
puerto e "y" el bit deseado (0 a 7).
INICIALIZACIÓN PUERTOS DE E/S 1.35
FUENTE
SISTEMAS ELECTRÓNICOS DIGITALES. CURSO 04/05
(.src)
INFORME
ENSAMBLADOR INTEL
(.LST)
Tema 1: Introducción al 8051
M. objeto
(.obj)
ENLAZADOR
CONVERSOR
Intel-hex
DEPURADOR UVI51
(.hex)
SIMULADOR UVI51
DIRECTIVAS ASM51 de INTEL (I) 1.37
sjmp inicio
END ; Fin de programa