Você está na página 1de 35

CURSO DE MICROCONTROLADORES

PROGRAMACION E INTERCONEXIONADO DEL µC-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 PERIFÉRICOS
* MANEJO DEL SIMULADOR DEL 8051

2/22/2000 1 Dr. Alejandro Vega Salinas


¿QUE ES
UN
MICROCONTROLADOR?

2/22/2000 2 Dr. Alejandro Vega Salinas


Memorias Pasivas
Microprocesador para programas
(µP) de aplicación(ROM, Programas
PROM, EPROM) de aplicación

Memorias de
acceso aleatorio
para datos (RAM)

Bus Módulos
de entrada/
salida
Micro-
computadora
(MC) Lógica
adicional

Periferia
(memorias periféricas y
equipos de entrada/salida)

Hardware
Software

Estructura de un sistema
de microcomputadoras (MCS)

2/22/2000 3 Dr. Alejandro Vega Salinas


Demanda HOLD
Interrupt

Microprocesador ROM RAM

Bus de datos

Bus de control

Bus de direccionamiento

Módulo periférico Interrupción del


de entrada/salida programa por
(programable) prioridades

Conexión de La periferia del usuario

Configuración técnica de los módulos en una microcomputadora completa


2/22/2000 4 Dr. Alejandro Vega Salinas
Control de interrupción Control para
E/S en serie
Bus de datos interno, 8 bits

Registro Registro B C
Acumulador
intermedio de instrucciones

Bloque de registros
D E

Flipflops H L
de condición Indicador
Decodificador de posición
de instrucciones
Contador
y control del
Unidad de programa
ciclo de
aritmética/ máquina Contador progresivo/
regresivo
lógica Memoria de direcciones

Alimentación

Control de tiempo y de ejecución Buffer de dirección Búffer de datos

Bus de Bus de datos


direccionamiento
Estructura de un microprocesador tomado como ejemplo el µP 8085
2/22/2000 5 Dr. Alejandro Vega Salinas
Bobina o cuarzo Corriente de reposo

Memoria de Memoria Contador/


Impulso
programas de datos temporizador
reloj
de 2Kbytes de 128 bytesb de 8 bits

Procesador E/S
central progra- Puerta
de 8 bits mables de E/S
en paralelo
Tensión
de referencia
Salida de la
Entradas Convertidor Regulación matriz de
Generador
analógicas A/D dela indicación y
MUX
de 8 bits luminosidad del teclado

Entradas Contadores Codificador Salida de los


Memoria de
de computo de 4, 8 y de 7 segmentos
indicación
12 bits segmentos de indicación

Desde Entrada Cronómetro Salida de la


la matriz Memoria matriz
de teclas Horas
del teclado de salida de indicación
Minuto

Equipo de
Reloj
advertencia Señal
Horas
Horas de conexión
Minuto
Minuto

Esquema de bloques lógico SAP 80215


2/22/2000 6 Dr. Alejandro Vega Salinas
Decodificador
de direcciones

Bus de direccionamiento

CS CS CS
MP Módulo
RAM ROM
(micro- (random read-only
periférico
de entrada/
procesador) access memory) memory)
salida

Bus de datos

Bus de control
Funcionamiento de la microcomputadora
y su estructura bus
2/22/2000 7 Dr. Alejandro Vega Salinas
Memoria Memoria 2 controladores/
de programas de datos temporizadores
de 4 Kbytes de 128 bytes de 16 bits
Procesador
central
de 8 bits
Procesador
booleando
de 1 bit
Entrada/ salida Entrada/ salida
Logica
en paralelo en serie
de interrupción
4 x 8 bits

8 8 8 8

Esquemas de bloques µP 8051


2/22/2000 8 Dr. Alejandro Vega Salinas
Memoria Memoria
Reloj
de programas de datos

Procesador
central

Contador/ Circuitos
temporizador de entrada/salida

Sistema de microcomputadora en un chip


2/22/2000 9 Dr. Alejandro Vega Salinas
TECHNOLOGY
Model ram rom addr SI/O PI/O C/T int. width
bytes

ADVENACED MICROSYSTEM
80C521 256 8K 64K 1 32 2,16bit 2 8

DALLAS SEMICONDUCTOR
DS6000T 8-54K 4K 128K 1 32 2,16bit 6 8

HITACHI EUROPE LTD


63L05F1 96 4K 20 1,8bit 6 8
HD647180 512 16K 1M 3 54 3,16bit 15 8
H8/532 1K 32K 1M 1 57 5,8bit 7 16

INMOS-LTD
IMST245 4K 4G 4,links 2,32bit 2 32
IMST222 4K 64K 4,links 2,16bit 2 1
IMSM212 2K 4K 64K 4 2,16bit 2 16

INTEL CORPORATION (UK) LTD


80C512 256 8K 128K 1, uart 56 2,16bit 2 8
80196KA 232 8K 64K 1, uart 40 4,16bit 16 16
80C51BH 128 4K 64K uart 32 2,16bit 2 8
87C51 128 4K 64K uart 2 2,16bit 2 8
8096BH 232 8K 64K uart 40 6,16bit 8 16
80C1196KB 232 8K 64K uart 40 6,16bit 16 16

MITSUBISHI ELECTRONIC (UK) LTD


M50747 256 8K 64K 1 56 3,8bit 6 8
M3700M4A 2K 32K 16M 3 68 8,16bit 7 16

2/22/2000 10 Dr. Alejandro Vega Salinas


MOTOROLA LTD
68HC05B6 176 6K 8K 1 32 4,16bit 4 8
68HC11E9 512 12K 64K 2 40 8,16bit 17 8
6804P3 124 1.7K 0 20 1,8bit 1 8
146805G2 112 2K 8K 0 32 1,8bit 3 8
68HC05L6 176 6K 8K 1 58 4,16bit 4
68HC11 256 8K 64K 2 40 8,16bit 17 8

NATIONAL SEMICONDUCTOR (UK) LTD


COP420 64 1K 1 8 1,10bit 1 4
digits
COP888CG 192 4K 32K 2 40 3,16bit 14 8
HPC16083 256 8K 64K uart 52 8,16bit 8 16

NEC ELECTRONICS UK
78214 512 16K 64K 1 60 1,16bit 18 *
78322 640 16K 64K 1 55 1,16bit 19 16
1,12bit
ROCKWELL INTERNATIONAL
R6501 192 - 64K 1 32 2,16bit 10 8
36500/15 192 4K 16K 1 32 2,16bit 10 8

SGS THOMSON MICROELECTRONICS


ST6041 84 64 3,8K - 15 5 1 8
Z86E21 240 8K 1 82 2,8bit 48 8

TEXAS INSTRUMENTS LTD


TMS370 256 4K 112K 2 55 2 2 8
TMS70C48 256 4K 64K 1 54 3 2 8
TMS7000 128 4K to 64K 0 16 - 2 8

ZILOG UK LTD
Z86E21 256 8K 120K 1 32 2,14bit 6 8
Z8800 352 8K 128K 1 40 2,16bit 8 8
Z86C11 128 4K to 120K uart 82 2,0bit 8 8

2/22/2000 11 Dr. Alejandro Vega Salinas


FAMILIA DEL 68HC11
NUMERO ROM EPROM RAM CONF

68HC11A8 8K 512 256 $0F


68HC11A1 0 512 256 $0D
68HC11A0 0 0 256 $0C
68HC11B8 8K 512 256 $0F
68HC11B1 0 512 256 $0D
68HC11B0 0 0 256 $0C
68HC11E9 12K 512 512 $0F
68HC11E1 0 512 512 $0D
68HC11E0 0 0 512 $0C
68HC811E2 0 2K 256 $FF
68HC11D3 4K 0 192 N/A
68HC11F1 0 512 1K $FF

2/22/2000 12 Dr. Alejandro Vega Salinas


FAMILIA DEL 8051

ROM S-EPROM E PROM


4K 8051 8031 87C51
8K 8052 8032
4K 83C451 80C451 87C451
8K 83C552 83C552 83C552
8K 83C652 83C652 83C652
2K 83C751 83C751
2K 83C752 83C752

2/22/2000 13 Dr. Alejandro Vega Salinas


32k ROM
Timer 2
In 8XC528
Capture/
16K ROM
In 8XC054,
Compare
512 RAM Array
8XC654 In 8XC528
8K ROM 256 RAM
(8XC552,
In 8052, In 8052, 8XC562
8XC52 8XC52 Timer 2
4k 8XC053 8XC552, (8052,
8XC552 8XC562, 8XC52,
8XC562 8XC652, 8Xc528)
8XC652 128 8XC654 Counter
Timer 1 Inputs
Interrupt ROM 2k ROM
64 RAM
In 83C751,
Control 83C752J RAM In 83C751,
83C752 Timer 0

256 EEPROM
83C851

A/D
(8XC550,
CPU 8XCC552,
8XCC562,
8XC752)

SCL I2c
Bus I/O Serial
Osc Four I/O Ports Serial
Control Port Ports
SDA Port

TXD RXD
Watchdog PWM System
Timer (8XC552,
(8XC528, 8XC562,
8XC550,
8XC552, 8XC752)
8XC562) P0 P2 P1 P3 P4-P5-P6

Fixed Rate Address/Data


Timer
(83c751/2) NOTES:
P0-P3 for 8051, 8052, 8XC652, 8XC528, 8XC52,
8XC654, 8XCL410, 8XC551
P0-P5 for 8XC552, 8XC562, 8XC592
P0-P6 for 8XC451
2/22/2000 14
Part of P0, AND P1, P3 for 8XC751 and 8XC752 Dr. Alejandro Vega Salinas
CARACTERISTICAS DEL µC-8051
* UN CPU DE 8 BITS
* CAPACIDAD DE PROCESAR LAS FUNCIONES
* BOOLEANAS POR BIT
* 32 LINEAS DE ENTRADA/SALIDA
* 128 BYTES DE MEMORIA RAM
* 2 CONTADORES/TEMPORIZADORES DE 16B
* UN UART FULL DUPLEX
* 5 ESTRUCTURAS DE INTERRUPCIÓN
* UN OSCILADOR INTEGRADO
* 64KB DE ESPACIO DE PROGRAMA
* 64KB DE ESPACIO DE DATOS
* 4KB EN ROM (SOLO EN EL 8051)

2/22/2000 15 Dr. Alejandro Vega Salinas


40 VCC
P1.0 1
2 39 P0.0
P1.1
3 38 P0.1
P1.2
4 37 P0.2
P1.3
5 36 P0.3
P1.4
6 35 P0.4
P1.5
6
34 P0.5
P1.6 7
33 P0.6
P1.7
RST
8
9
8051 32 P0.7

P3.0-RxD 10 8031 31
30
VPP/EA
PROG/ALE
Tx 11
INTO 12 8751 29 PSEN
28 P2.7
INTI 13
27 P2.6
T O 14
26 P2.5
T 1 15
25 P2.4
WR 16
24 P2.3
P3.7 R D 17
23 P2.2
X TAL 2 18
22 P2.1
X TAL 1 19
21 P2.0
VSS 20

2/22/2000 16 Dr. Alejandro Vega Salinas


Leer el registro de salida

+5V

Pin del 1 1 T1
D Q
Bus interno Ø Ø &
Pin E/S

T2
1
Q
Ø
Impulso CLK
de inscripción
de salida
Acceso de bus

Leer el pin

Circuito de salida de la puerta bidireccional Ø


(esquema)
2/22/2000 17 Dr. Alejandro Vega Salinas
Leer el registro de salida

+5V

Pin del
1 1 T1
D Q
Ø Ø & 1Ø...4Ø kΩ
Bus interno Pin E/S

T2
Ø
Q
1
Impulso CLK
de inscripción
de salida
Refuerzo
del flanco
BAJO ALTO

Leer el pin

Circuito de salida de las puertas cuasibidireccionales


1, 2, 3, (esquema)
2/22/2000 18 Dr. Alejandro Vega Salinas
BUS DE DATOS

RAM
8051 P0 E PROM
DIRECCION
A0
LATCH BAJA
EA ALE A7

DIRECCION ALTA
P2 A8 A8
P SEN A15 A15

OE
RD WR RD WR

EJECUTANDO PROGRAMAS EXTERNOS

2/22/2000 19 Dr. Alejandro Vega Salinas


Bus de datos
RAM
P1 P0
Vcc A0
LATCH
Direcc. Bajas
EA ALE A7

µC-8051 A8
P2 Bus de direcciones altas A9
A10
P SEN
RD WR RD WR

2/22/2000 20 Dr. Alejandro Vega Salinas


Relación de áreas de almacenamiento en el µP 8051

65535 65535

Externa

4Ø96
4Ø95
255
Interna
o externa 128
127

Ø Ø Ø
Memoria Memoria Registros SFR Memoria
de programas de datos interna de datos externa

2/22/2000 21 Dr. Alejandro Vega Salinas


Registros de funciones especiales (SFR)
F8 FF
F0 B F7
E8 EF
E0 ACC E7
D8 DF
Memoria D0 PSW D7
C8 CF
RAM no C0 C7
B8 IP BF
disponible en B0 P3 B7
A8 IE AF
el 8031 A0 P2 A7
98 SCON SBUF 9F
90 P1 97
88 TCON TMOD TL0 TL1 TH0 TH1 8F
80 P0 SP DPL DPH PCON 87

Stack
Memoria de datos
utilizable discrecionalmente
Area direccionable por bits
(128 posiciones binarias)
Banco de registros 3(R0-R7)
Funciones de la
memoria de datos Banco de registros 2(R0-R7)
interna µC-8051 Banco de registros 1(R0-R7)
Banco de registros 0(R0-R7)

2/22/2000 22 Dr. Alejandro Vega Salinas


B F7 F6 F5 F4 F3 F2 F1 F0 F0H
30
7F 7C 78 2FH ACC 50 EDA
77 74 70
6F 6C 68 PSW D0 DOH
67 64 60
5F 5C 58 IP B8H
57 54 50 2AH
4F 4C 48 P3 B0H
47 44 40 28H
3F 3C 38 IE A8H
37 34 30
2F 2C 28 P2 A0H
27 24 20
1F 1C 18 SCON 9F 9E 9D 9C 9B 9A 99 98 98H
17 16 15 14 13 12 11 10 22H
0F 0E 0D 0C 0B 0A 9 8 21H P1 97 90H
7 6 5 4 3 2 1 0 20H
BANCO 3 TCON 8F 8E 8D 8C 8B 8A 89 88 88H
BANCO 2
BANCO 1 P0 87 86 85 84 83 82 81 80 80H
BANCO 0 SFR
RAM INTERNA

2/22/2000 23 Dr. Alejandro Vega Salinas


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 Dr. Alejandro Vega Salinas


DIRECCIONAMIENTO INMEDIATO
EL VALOR DE UNA CONSTANTE SIGUE AL CODIGO DE OPERACIÓN
EN LA MEMORIA DEL PROGRAMA.
MOV A, #64H ; CARGA EL Acc CON 64hex
MOV DPTR, #1234H ; CARGA EL APUNTADOR
ADD A, #120 ; SUMA EL VALOR 120 decimal.

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 OPERACIÓN. (SOLO EN RAM int. Y SFR).
MOV A, 2EH ; EL ACC. SE CARGA CON EL -DATO QUE SE
ENCUENTRA EN LA DIREC. 2EH.
MOV 3DH, 4EH
ADD A, 7FH
2/22/2000 25 Dr. Alejandro Vega Salinas
DIRECCIONAMIENTO INDIRECTO
SE UTILIZA UN REGISTRO EN DONDE SE ENCUENTRA LA
DIRECCIÓN DEL DATO CON EL QUE SE DESEA REALIZAR
LA OPERACIÓN.
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 ; SUMA AL ACC EL DATO APUNTADO POR R0.
MOV A, @R1 ; CARGA EL ACC. CON DATO APUNTADO R0
MOVX @DPTR, A ; CARGA ACC EN MEM. RAM EXTERNA
MOVX A, @R0

2/22/2000 26 Dr. Alejandro Vega Salinas


DIRECCIONAMIENTO POR REGISTRO
SON LAS INSTRUCCIONES QUE UTILIZAN
CUALQUIERA DE LOS REGISTROS, PARA
REALIZAR LA OPERACIÓN.
ADD A, R5
MOV R7, A

2/22/2000 27 Dr. Alejandro Vega Salinas


TRANSFERENCIA DE DATOS
RAM INTERNA

MOV <Destino>, <fuente>


MOV A, <fuente> ;A <fuente>.
MOV <Destino> A ; <Destino> A.
MOV DPTR, #DATO ; DPTR 16 bits.
PUSH <fuente> ; INC SP, <@SP> <--f.
POP <Dest> ; <Dest> <- @SP>, DEC SP.
XCH A; <byte> ; ACC <--> <byte>.
XCHD A, @R1 ; ACC <--> @R1 NIBBLES BAJOS.

2/22/2000 28 Dr. Alejandro Vega Salinas


DIRECCIONAMIENTO DE TABLAS

RAM EXTERNA
MOVX A, @R1 ; A <-- <@Ri>.
MOVX @R1, A ; <@Ri> <--A.
MOVX A, @DPTR ; A <-- <@DPTR>
MOVX @DPTR, A ; <@DPTR> <--A

MEMORIA DEL PROGRAMA


MOVC A, @A+DPTR
MOVC A, @A+PC

2/22/2000 29 Dr. Alejandro Vega Salinas


INSTRUCCIONES BOOLEANAS
ANL C, bit ; C <-- C. AND. Bit
ANL C, /bit ; C <-- C. AND. NOT.bit
ORL C, bit ; C <-- C. OR. Bit
ORL C, /bit ; C <-- C. OR..NOT. 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 ; BIT <-- NOT.bit
JC REL ; SI C=1 BRINCA A REL.
JB bit, REL ; SI bit=1, BRINCA A REL.
JBC bit, REL ; SI bit=1, BRINCA Y LIMPIA
2/22/2000 30 Dr. Alejandro Vega Salinas
P1.1 Ejemplo del Procesador booleano µC-8051

P2.2 & FØ
P2.5 ≥1

2ØH. Ø

21H.3 & ≥1 P3.3

P1.6
MOV C,P2.2 ;Introducir P2.2 en el acarreo
ORL C,P2.5 ;Relación O con P2.5
ANL C,P1.1 ;Relación Y con P1.1
CPL C ;Invertir el resultado
MOV FØ, C ; Almacenar transitoriamente el resultado
MOV C,2ØH.Ø ;Introducir el bit 2ØH.Ø en el acarreo
ANL C,/21H.3 ;Relación Y con el bit 21H.3 invertido
ORL C,FØ ;Relación O con el bit FØ
ORL C,/P1.6 ;Relación O con el bit P1.6 invertido
MOV P3.3, C ;Transferir a P3.3 el resultado final

2/22/2000 31 Dr. Alejandro Vega Salinas


REGISTROS INTERNOS DE CONTROL DEL 8051
PSW (Palabra del estado del programa)

CY AC F0 RS1 RS0 OV - P

CY PSW.7 ACARREO
AC PSW.6 ACARREO AUX.
FO PSW.5 USOS GENERALES
RS1 PSW.4 SEL 1 DEL B. DE REG.
RS0 PSW.3 SEL 0. DEL B. DE REG.
OV PSW.2 OVERFLOW
- PSW.1 INDEFINIDA
P PSW.0 PARIDAD*
Si el #’s de bits en el Acc = 1, es Impar P=1, sino P=0

2/22/2000 32 Dr. Alejandro Vega Salinas


PCON (CONTROL DE POTENCIA)

SMOD - - - GF1 GF0 PD IDL

SMOD Dobla el baud rate en la Transmisión


serial cuando se utiliza el timer 1
GF1 Propósitos generales
GF2 Propósitos generales
PD Bajo consumo de energía
80C51BH
IDL Bajo consumo de energía
CMOS

2/22/2000 33 Dr. Alejandro Vega Salinas


IE REG. HABILITADOR DE INTERRUPCIONES
EA - ET2 ES ET1 EX1 ET0 EX0
EA IE.7 DESACTIVA INTER.
ET2 IE.5 PERMITE INT. DEL TIMER2
ES IE.4 PERMITE INT. PTO. SERIAL
ET1 IE.3 PERMITE INT. DEL TIMER1
EX1 IE.2 PERMITE INTER EXTER.1
ET0 IE.1 PERMITE INT. DEL TIMER0
EX0 IE.0 PERMITE INTER. EXTER.0

IP REGISTRO DE PRIORIDAD DE INTERRUPCIONES

- - PT2 PS PT1 PX1 PT0 PX0


PT2 IP.5 ALTA PRIORIDAD PARA T2
PS IP.4 ALTA PRIORIDAD INTERSERIAL
PT1 IP.3 ALTA PRIORIDAD PARA T1
PX1 IP.2 ALTA PRIORIDAD PARA INT 1
PT0 IP.1 ALTA PRIORIDAD PARA T0
PX0 IP.0 ALTA PRIORIDAD PARA INT 0

2/22/2000 34 Dr. Alejandro Vega Salinas


TCON REGISTRO DE CONTROL DE
TEMPORIZADORES Y CONTADORES

TF1 TR1 TF0 TRO IE1 IT1 IE0 IE1

TF1 TCON.7 Sobreflujo del Timer 1


TR1 TCON.6 Bit de arranque Timer1
TF0 TCON.5 Sobreflujo del Timer0
TR0 TCON.4 Bit de arranque Timer0
IE1 TCON.3 Bit de Transición de INT1
IT1 TCON.2 Control del modo de control de la INT1
IE1 TCON.1 Bit de Transición de INT0
IT0 TCON.0 Control del modo de control de la
INTO

2/22/2000 35 Dr. Alejandro Vega Salinas

Você também pode gostar