35
2/22/2000 Dr. Alejandro Vega Salinas 1 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

Micro 8051

Embed Size (px)

Citation preview

Page 1: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas1

CURSO DE MICROCONTROLADORESPROGRAMACION 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

Page 2: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas2

¿QUE ES

UN

MICROCONTROLADOR?

Page 3: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas3

Programasde aplicación

Microprocesador(µP)

Memorias Pasivaspara programasde aplicación(ROM, PROM, EPROM)

Memorias de acceso aleatorio para datos (RAM)

Módulosde entrada/salida

Lógica adicional

Periferia(memorias periféricas yequipos de entrada/salida)

Bus

Micro-computadora(MC)

Hardware

Software

Estructura de un sistemade microcomputadoras (MCS)

Page 4: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas4

Microprocesador ROM RAM

Módulo periféricode entrada/salida

(programable)

Interrupción delprograma porprioridades

Demanda HOLDInterrupt

Bus de datos

Bus de control

Bus de direccionamiento

La periferia del usuarioConexión de

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

Page 5: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas5

AcumuladorRegistro

intermedio

Flipflopsde condición

Registro de instrucciones

Decodificadorde instrucciones

y control del ciclo de máquina

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

Bus de datosBus dedireccionamiento

B C

D E

H L

Indicador de posición

Contadorde programa

Contador progresivo/regresivoMemoria de direcciones

Control de interrupción Control paraE/S en serie

Unidadaritmética/lógica

Bus de datos interno, 8 bits

Blo

que

de r

egis

tros

Alimentación

Estructura de un microprocesador tomado como ejemplo el µP 8085

Page 6: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas6

Impulsoreloj

Procesadorcentral

de 8 bits

Memoria deprogramasde 2Kbytes

Memoriade datos

de 128 bytesb

Contador/temporizador

de 8 bits

E/Sprogra-mables

ConvertidorA/D

de 8 bits

Contadoresde 4, 8 y12 bits

GeneradorMUX

Codificadorde 7

segmentos

Memoriade salida

Equipo de advertencia

HorasMinuto

Regulacióndela

luminosidad

Memoria deindicación

CronómetroHoras

Minuto

RelojHoras

Minuto

Entradade teclas

Esquema de bloques lógico SAP 80215

Bobina o cuarzo Corriente de reposo

Puertade E/Sen paralelo

Salida de lamatriz deindicación ydel teclado

Salida de lossegmentosde indicación

Salida de la matrizde indicación

Señalde conexión

Tensiónde referencia

Entradasanalógicas

Entradasde computo

Desdela matrizdel teclado

Page 7: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas7

MP(micro-procesador)

Decodificadorde direcciones

RAM(randomaccess memory)

ROMread-onlymemory)

Móduloperiféricode entrada/salida

Bus de datos

Bus de control

CS CS CS

Bus de direccionamiento

Funcionamiento de la microcomputadoray su estructura bus

Page 8: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas8

Procesador central de 8 bits

Procesador booleando

de 1 bit

Memoria de programasde 4 Kbytes

Memoriade datos

de 128 bytes

2 controladores/temporizadores

de 16 bits

Logicade interrupción

Entrada/ salidaen paralelo4 x 8 bits

Entrada/ salidaen serie

8 8 8 8

Esquemas de bloques µP 8051

Page 9: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas9

RelojMemoria

de programasMemoriade datos

Procesadorcentral

Contador/temporizador

Circuitosde entrada/salida

Sistema de microcomputadora en un chip

Page 10: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas10

TECHNOLOGY

Model ram rom addr SI/O PI/O C/T int. widthbytes

ADVENACED MICROSYSTEM80C521 256 8K 64K 1 32 2,16bit 2 8

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

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

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

INTEL CORPORATION (UK) LTD80C512 256 8K 128K 1, uart 56 2,16bit 2 880196KA 232 8K 64K 1, uart 40 4,16bit 16 1680C51BH 128 4K 64K uart 32 2,16bit 2 887C51 128 4K 64K uart 2 2,16bit 2 88096BH 232 8K 64K uart 40 6,16bit 8 1680C1196KB 232 8K 64K uart 40 6,16bit 16 16

MITSUBISHI ELECTRONIC (UK) LTDM50747 256 8K 64K 1 56 3,8bit 6 8M3700M4A 2K 32K 16M 3 68 8,16bit 7 16

Page 11: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas11

MOTOROLA LTD68HC05B6 176 6K 8K 1 32 4,16bit 4 868HC11E9 512 12K 64K 2 40 8,16bit 17 86804P3 124 1.7K 0 20 1,8bit 1 8146805G2 112 2K 8K 0 32 1,8bit 3 868HC05L6 176 6K 8K 1 58 4,16bit 468HC11 256 8K 64K 2 40 8,16bit 17 8

NATIONAL SEMICONDUCTOR (UK) LTDCOP420 64 1K 1 8 1,10bit 1 4

digitsCOP888CG 192 4K 32K 2 40 3,16bit 14 8HPC16083 256 8K 64K uart 52 8,16bit 8 16

NEC ELECTRONICS UK78214 512 16K 64K 1 60 1,16bit 18 *78322 640 16K 64K 1 55 1,16bit 19 16

1,12bitROCKWELL INTERNATIONALR6501 192 - 64K 1 32 2,16bit 10 836500/15 192 4K 16K 1 32 2,16bit 10 8

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

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

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

Page 12: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas12

FAMILIA DEL 68HC11

NUMERO ROM EPROM RAM CONF

68HC11A8 8K 512 256 $0F68HC11A1 0 512 256 $0D68HC11A0 0 0 256 $0C68HC11B8 8K 512 256 $0F68HC11B1 0 512 256 $0D68HC11B0 0 0 256 $0C68HC11E9 12K 512 512 $0F68HC11E1 0 512 512 $0D68HC11E0 0 0 512 $0C68HC811E2 0 2K 256 $FF68HC11D3 4K 0 192 N/A68HC11F1 0 512 1K $FF

Page 13: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas13

FAMILIA DEL 8051

ROM S-EPROM E PROM4K 8051 8031 87C518K 8052 80324K 83C451 80C451 87C4518K 83C552 83C552 83C5528K 83C652 83C652 83C6522K 83C751 83C7512K 83C752 83C752

Page 14: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas14

InterruptControl

4k

ROM

32k ROM

In 8XC528

16K ROM

In 8XC054,

8XC654

8K ROM

In 8052,

8XC52

8XC053

8XC552

8XC562

8XC652

2k ROMIn 83C751,83C752J

128

RAM

512 RAMIn 8XC528256 RAMIn 8052,8XC528XC552,8XC562,8XC652,8XC654

64 RAMIn 83C751,83C752

CPU

Osc

256 EEPROM83C851

Timer 2Capture/Compare

Array(8XC552,8XC562

Timer 0

Timer 2(8052,

8XC52,8Xc528)

Timer 1

CounterInputs

BusControl

Four I/O PortsI/OPort

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

SerialPorts

SCL I2c

SDA Port

Serial

WatchdogTimer(8XC528,8XC550,8XC552,8XC562)

Fixed RateTimer(83c751/2)

PWM System(8XC552,8XC562,8XC752)

P0 P2 P1 P3 P4-P5-P6

Address/Data

TXD RXD

NOTES:P0-P3 for 8051, 8052, 8XC652, 8XC528, 8XC52, 8XC654, 8XCL410, 8XC551P0-P5 for 8XC552, 8XC562, 8XC592P0-P6 for 8XC451Part of P0, AND P1, P3 for 8XC751 and 8XC752

Page 15: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas15

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)

Page 16: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas16

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

RST

P3.0-RxD

Tx

INTO

INTI

T O

T 1

W R

P3.7 R D

X TAL 2

X TAL 1

VSS

1

2

3

4

5

6

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

VCC

P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

VPP/EA

PROG/ALE

PSEN

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

805180318751

Page 17: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas17

Leer el registro de salida

+5V

Pin del

Bus interno

Impulsode inscripciónde salidaAcceso de bus

Leer el pin

Pin E/S

T2

T1

&

1QØ

1DØ

1QØ

CLK

Circuito de salida de la puerta bidireccional Ø(esquema)

Page 18: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas18

Leer el registro de salida

+5V

Pin del

Bus interno

Impulsode inscripciónde salida

Refuerzodel flancoBAJO ALTO

Leer el pin

Pin E/S

T2

T1

&

1QØ

1DØ

ØQ1

CLK

Circuito de salida de las puertas cuasibidireccionales1, 2, 3, (esquema)

1Ø...4Ø kΩ

Page 19: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas19

LATCH

BUS DE DATOS

DIRECCIONBAJA

RAM

A0

A7

A8

A15

RD WR

A8

A15

E PROM

RD WR

P2P SEN

EA ALE

8051 P0

EJECUTANDO PROGRAMAS EXTERNOS

DIRECCION ALTA

OE

Page 20: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas20

LATCH

RD WR

P SEN

EA ALE

µC-8051

P0

Direcc. Bajas

Bus de direcciones altas

VccP1

P2

RAM

A0

A7

A9

A10

RD WR

A8

Bus de datos

Page 21: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas21

65535

4Ø964Ø95

Ø

Externa

Internao externa

127

Ø

255

128

65535

Ø

Memoriade programas

Memoriade datos interna

Registros SFR Memoriade datos externa

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

Page 22: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas22

Registros de funciones especiales (SFR)

Stack

Memoria de datosutilizable 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)

Funciones de lamemoria de datosinterna µµC-8051

MemoriaMemoriaRAM noRAM nodisponible endisponible enel 8031el 8031

F8 FFF0 B F7E8 EFE0 ACC E7D8 DFD0 PSW D7C8 CFC0 C7B8 IP BFB0 P3 B7A8 IE AFA0 P2 A798 SCON SBUF 9F90 P1 9788 TCON TMOD TL0 TL1 TH0 TH1 8F80 P0 SP DPL DPH PCON 87

Page 23: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas23

B F7 F6 F5 F4 F3 F2 F1 F0 F0H30

7F 7C 78 2FH ACC 50 EDA77 74 706F 6C 68 PSW D0 DOH67 64 605F 5C 58 IP B8H57 54 50 2AH4F 4C 48 P3 B0H47 44 40 28H3F 3C 38 IE A8H37 34 302F 2C 28 P2 A0H27 24 201F 1C 18 SCON 9F 9E 9D 9C 9B 9A 99 98 98H17 16 15 14 13 12 11 10 22H0F 0E 0D 0C 0B 0A 9 8 21H P1 97 90H7 6 5 4 3 2 1 0 20H

BANCO 3 TCON 8F 8E 8D 8C 8B 8A 89 88 88HBANCO 2BANCO 1 P0 87 86 85 84 83 82 81 80 80HBANCO 0 SFRRAM INTERNA

Page 24: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas24

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

Page 25: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas25

DIRECCIONAMIENTO INMEDIATOEL VALOR DE UNA CONSTANTE SIGUE AL CODIGO DE OPERACIÓNEN 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 DIRECTOEL OPERANDO ES ESPECIFICADO POR UNA DIRECCION DE 8 BITSEN DONDE SE ENCUENTRA EL DATO CON EL QUE SE DESEAHACER LA OPERACIÓN. (SOLO EN RAM int. Y SFR).

MOV A, 2EH ; EL ACC. SE CARGA CON EL -DATO QUE SEENCUENTRA EN LA DIREC. 2EH.

MOV 3DH, 4EH

ADD A, 7FH

Page 26: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas26

DIRECCIONAMIENTO INDIRECTOSE UTILIZA UN REGISTRO EN DONDE SE ENCUENTRA LADIRECCIÓN DEL DATO CON EL QUE SE DESEA REALIZARLA OPERACIÓN.

SE UTILIZAN LOS REGISTROS R0, R1 Y SP, PARA ELDIRECCIONAMIENTO DE 8 BITS.

PARA LAS DIRECCIONES DE 16 BITS SE UTILIZA EL DPTR. TANTORAM 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

Page 27: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas27

DIRECCIONAMIENTO POR REGISTRO

SON LAS INSTRUCCIONES QUE UTILIZANCUALQUIERA DE LOS REGISTROS, PARAREALIZAR LA OPERACIÓN.

ADD A, R5

MOV R7, A

Page 28: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas28

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.

Page 29: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas29

DIRECCIONAMIENTO DE TABLAS

RAM EXTERNAMOVX A, @R1 ; A <-- <@Ri>.

MOVX @R1, A ; <@Ri> <--A.

MOVX A, @DPTR ; A <-- <@DPTR>

MOVX @DPTR, A ; <@DPTR> <--A

MEMORIA DEL PROGRAMAMOVC A, @A+DPTR

MOVC A, @A+PC

Page 30: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas30

INSTRUCCIONES BOOLEANASANL 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

Page 31: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas31

&≥1

& ≥1

P1.1

P2.2

P2.5

2ØH. Ø

21H.3

P1.6

P3.3

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

Ejemplo del Procesador booleano µC-8051

Page 32: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas32

REGISTROS INTERNOS DE CONTROL DEL 8051

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

PSW (Palabra del estado del programa)

CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV -- PP

Page 33: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas33

PCON (CONTROL DE POTENCIA)

SMOD Dobla el baud rate en la Transmisiónserial 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

SMODSMOD - - - - GF1 GF0 PD IDL - - GF1 GF0 PD IDL

Page 34: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas34

IE REG. HABILITADOR DE INTERRUPCIONES

IP REGISTRO DE PRIORIDAD DE INTERRUPCIONES

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

EAEA - ET2 ES ET1 EX1 ET0 EX0 - ET2 ES ET1 EX1 ET0 EX0

- - PT2 PS- - PT2 PS PT1 PT1 PX1 PT0 PX0 PX1 PT0 PX0PT2 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

Page 35: Micro 8051

2/22/2000 Dr. Alejandro Vega Salinas35

TCON REGISTRO DE CONTROL DE

TEMPORIZADORES Y CONTADORES

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

TF1 TF1 TR1 TR1 TF0 TF0 TRO TRO IE1 IE1 IT1 IT1 IE0 IE1IE0 IE1