Micro 8051

CURSO DE MICROCONTROLADORES PROGRAMACION E INTERCONEXIONADO DEL µC-8051 * INTRODUCCION * CARACTERISTICAS DEL 8051 * ARQ

Views 298 Downloads 0 File size 198KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 para programas de aplicación(ROM, PROM, EPROM)

Microprocesador (µP)

Programas de aplicación

Memorias de acceso aleatorio para datos (RAM)

Bus Microcomputadora (MC)

Módulos de entrada/ salida 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

Microprocesador

Interrupt

ROM

RAM

Bus de datos

Bus de control

Bus de direccionamiento

Módulo periférico de entrada/salida (programable)

Conexión de

Interrupción del programa por prioridades

La periferia del usuario

Configuración técnica de los módulos en una microcomputadora completa 2/22/2000

4

Dr. Alejandro Vega Salinas

Acumulador

Registro intermedio

Registro de instrucciones Flipflops de condición

Unidad aritmética/ lógica

Decodificador de instrucciones y control del ciclo de máquina

B

C

D

E

H

L

Indicador de posición Contador de programa

Bloque de registros

Control para E/S en serie Bus de datos interno, 8 bits

Control de interrupción

Contador progresivo/ regresivo Memoria de direcciones

Alimentación Control de tiempo y de ejecución

Buffer de dirección

Búffer de datos

Bus de direccionamiento

Bus de datos

Estructura de un microprocesador tomado como ejemplo el µP 8085 2/22/2000

5

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

Tensión de referencia

Puerta de E/S en paralelo

Entradas analógicas

Convertidor A/D de 8 bits

Regulación dela luminosidad

Generador MUX

Salida de la matriz de indicación y del teclado

Entradas de computo

Contadores de 4, 8 y 12 bits

Memoria de indicación

Codificador de 7 segmentos

Salida de los segmentos de indicación

Desde la matriz del teclado

Entrada de teclas

Cronómetro Horas Minuto

Memoria de salida

Salida de la matriz de indicación

Reloj Horas Minuto

Equipo de advertencia Horas Minuto

2/22/2000 Esquema de bloques lógico SAP 80215

6

Señal de conexión

Dr. Alejandro Vega Salinas

Decodificador de direcciones

Bus de direccionamiento CS

MP (microprocesador)

RAM (random access memory)

CS ROM read-only memory)

CS Módulo periférico de entrada/ salida

Bus de datos Bus de control Funcionamiento de la microcomputadora y su estructura bus

2/22/2000

7

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 interrupción

Entrada/ salida en paralelo 4 x 8 bits 8

8

8

2 controladores/ temporizadores de 16 bits

Entrada/ salida en serie

8

Esquemas de bloques µP 8051 2/22/2000

8

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

9

Dr. Alejandro Vega Salinas

TECHNOLOGY Model

ram

rom bytes

addr

SI/O

PI/O

C/T

int.

width

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

1

8 1,10bit

1

4

2

40 3,16bit 52 8,16bit

14 8

8 16

16

uart

32 40 20 32 58 40

8

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

5

1

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

VCC

2

39

P0.0

3

38

P0.1

4

37

P0.2

5

36

P0.3

6

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

1

P1.1 P1.2 P1.3 P1.4 P1.5

2/22/2000

40

P1.0

6

P1.6

7

P1.7

8

RST

9

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 inscripción 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 inscripción 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

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

65535

65535

Externa 4Ø96 4Ø95 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 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 , MOV A,

;A

MOV A

;

MOV DPTR, #DATO

; DPTR

PUSH

; INC SP,