Está en la 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 PERIFRICOS
* MANEJO DEL SIMULADOR DEL 8051

2/22/2000

Dr. Alejandro Vega Salinas

QUE

ES

UN
MICROCONTROLADOR?
2/22/2000

Dr. Alejandro Vega Salinas

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

Dr. Alejandro Vega Salinas

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

La periferia del usuario

Configuracin tcnica de los mdulos en una microcomputadora completa


2/22/2000

Dr. Alejandro Vega Salinas

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

Estructura de un microprocesador tomado como ejemplo el P 8085


2/22/2000

Dr. Alejandro Vega Salinas

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

Dr. Alejandro Vega Salinas

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

Dr. Alejandro Vega Salinas

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

Esquemas de bloques P 8051


2/22/2000

Dr. Alejandro Vega Salinas

Reloj

Memoria
de programas

Memoria
de datos

Procesador
central

Contador/
temporizador

Circuitos
de entrada/salida

Sistema de microcomputadora en un chip


2/22/2000

Dr. Alejandro Vega Salinas

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

HITACHI EUROPE LTD


63L05F1
96 4K
HD647180
512 16K
H8/532
1K
32K

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

INTEL CORPORATION (UK) LTD


80C512
256 8K
80196KA
232 8K
80C51BH
128 4K
87C51
128 4K
8096BH
232 8K
80C1196KB
232 8K

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

MITSUBISHI ELECTRONIC (UK) LTD


M50747
256 8K
M3700M4A 2K
32K

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

Dr. Alejandro Vega Salinas

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

NATIONAL SEMICONDUCTOR (UK) LTD


COP420
64 1K
digits
COP888CG
192 4K
32K
HPC16083
256 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

SGS THOMSON MICROELECTRONICS


ST6041
84
64 3,8K
Z86E21
240 8K

TEXAS INSTRUMENTS LTD


TMS370
256 4K
TMS70C48
256 4K
TMS7000
128 4K

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

Dr. Alejandro Vega Salinas

FAMILIA DEL 68HC11


NUMERO
68HC11A8
68HC11A1
68HC11A0
68HC11B8
68HC11B1
68HC11B0
68HC11E9
68HC11E1
68HC11E0
68HC811E2
68HC11D3
68HC11F1

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

Dr. Alejandro Vega Salinas

FAMILIA DEL 8051


4K
8K
4K
8K
8K
2K
2K
2/22/2000

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

Four I/O Ports

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

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 INTERRUPCIN
* 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

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

Dr. Alejandro Vega Salinas

Leer el registro de salida


+5V

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

Circuito de salida de la puerta bidireccional


(esquema)
2/22/2000

17

Dr. Alejandro Vega Salinas

Leer el registro de salida


+5V

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

Circuito de salida de las puertas cuasibidireccionales


1, 2, 3, (esquema)
2/22/2000

18

Dr. Alejandro Vega Salinas

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

EJECUTANDO PROGRAMAS EXTERNOS

2/22/2000

19

Dr. Alejandro Vega Salinas

Bus de datos
P1

RAM

P0

Vcc

LATCH

EA

ALE

C-8051

P2

Bus de direcciones altas

2/22/2000

A7
A8
A9
A10

P SEN
RD

Direcc. Bajas

A0

WR

RD

20

WR

Dr. Alejandro Vega Salinas

Relacin de reas de almacenamiento en el P 8051

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

Dr. Alejandro Vega Salinas

Registros de funciones especiales (SFR)

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

Dr. Alejandro Vega Salinas

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

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 OPERACIN
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 OPERACIN. (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
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

; 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 OPERACIN.
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

MOV <Destino> A

; <Destino>

MOV DPTR, #DATO

; DPTR

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

<fuente>.
A.
16 bits.

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

Ejemplo del Procesador booleano C-8051

P1.1
P2.2

P2.5

&

2H.

&

21H.3

P3.3

P1.6
MOV

C,P2.2

;Introducir P2.2 en el acarreo

ORL

C,P2.5

;Relacin O con P2.5

ANL

C,P1.1

;Relacin Y con P1.1

CPL

;Invertir el resultado

MOV

F, C

; Almacenar transitoriamente el resultado

MOV

C,2H.

;Introducir el bit 2H. en el acarreo

ANL

C,/21H.3

;Relacin Y con el bit 21H.3 invertido

ORL

C,F

;Relacin O con el bit F

ORL

C,/P1.6

;Relacin 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

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

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 Transmisin


serial cuando se utiliza el timer 1

GF1

Propsitos generales

GF2

Propsitos generales

PD

Bajo consumo de energa


80C51BH

IDL

Bajo consumo de energa


CMOS

2/22/2000

33

Dr. Alejandro Vega Salinas

IE REG. HABILITADOR DE INTERRUPCIONES


EA

ET2

ES

ET1

EX1

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

ET0 EX0

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 Transicin de INT1

IT1

TCON.2

Control del modo de control de la INT1

IE1

TCON.1

Bit de Transicin de INT0

IT0

TCON.0

Control del modo de control de la


INTO

2/22/2000

35

Dr. Alejandro Vega Salinas

También podría gustarte