of 35 /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)

Text of Micro 8051

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 PERIFRICOS * MANEJO DEL SIMULADOR DEL 8051

2/22/2000

1

Dr. Alejandro Vega Salinas

QUE

ES

UNMICROCONTROLADOR?2/22/2000 2 Dr. Alejandro Vega Salinas

Microprocesador (P)

Memorias Pasivas para programas de aplicacin(ROM, PROM, EPROM)

Programas de aplicacin

Memorias de acceso aleatorio para datos (RAM)

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

Demanda HOLD

Interrupt

Microprocesador

ROM

RAM

Bus de datos

Bus de control

Bus de direccionamiento

Mdulo perifrico de entrada/salida (programable)

Interrupcin del programa por prioridades

Conexin de

La periferia del usuario

Configuracin tcnica de los mdulos en una microcomputadora completa2/22/2000 4 Dr. Alejandro Vega Salinas

Control de interrupcin

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

Acumulador

D H

E L

Flipflops de condicin Decodificador de instrucciones y control del ciclo de mquina

Indicador de posicin Contador de programaContador progresivo/ regresivo Memoria de direcciones

Unidad aritmtica/ lgica Alimentacin

Control de tiempo y de ejecucin

Buffer de direccin

Bffer de datos

Bus de direccionamiento

Estructura de un microprocesador tomado como ejemplo el P 80852/22/2000 5 Dr. Alejandro Vega Salinas

Bloque de registros Bus de datos

Registro intermedio

Registro de instrucciones

B

C

Bobina o cuarzo

Corriente de reposo

Impulso reloj

Memoria de programas de 2Kbytes

Memoria de datos de 128 bytesb

Contador/ temporizador de 8 bits

Procesador central de 8 bits Tensin de referencia Entradas analgicas Convertidor A/D de 8 bits Contadores de 4, 8 y 12 bits Regulacin dela luminosidad

E/S programables

Puerta de E/S en paralelo Salida de la matriz de indicacin y del teclado Salida de los segmentos de indicacin Salida de la matriz de indicacin

Generador MUX

Entradas de computo

Memoria de indicacin

Codificador de 7 segmentos

Desde la matriz del teclado

Entrada de teclas

Cronmetro Horas Minuto

Memoria de salida

Reloj Horas Minuto

Equipo de advertencia Horas Minuto

Seal de conexin

2/22/2000 Esquema de bloques lgico SAP 80215

6

Dr. Alejandro Vega Salinas

Decodificador de direcciones

Bus de direccionamiento CS

MP (microprocesador)

CSROM read-only memory) Mdulo perifrico de entrada/ salida

CS

RAM (random access memory)

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

2 controladores/ temporizadores de 16 bits

Logica de interrupcin

Entrada/ salida en paralelo 4 x 8 bits8 8 8 8

Entrada/ salida en serie

Esquemas de bloques P 80512/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 chip2/22/2000 9 Dr. Alejandro Vega Salinas

TECHNOLOGYModel ram rom bytes addr SI/O PI/O C/T int. width

ADVENACED MICROSYSTEM 80C521 256 8K DALLAS SEMICONDUCTOR DS6000T 8-54K 4K HITACHI EUROPE LTD 63L05F1 96 4K HD647180 512 16K H8/532 1K 32K

64K

1

32 2,16bit

2

8

128K

1

32 2,16bit

6

8

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

4K

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 MITSUBISHI ELECTRONIC (UK) LTD M50747 256 8K M3700M4A 2K 32K

128K 64K 64K 64K 64K 64K

1, uart 1, uart uart uart uart uart

56 40 32 2 40 40

2,16bit 4,16bit 2,16bit 2,16bit 6,16bit 6,16bit

2 16 2 2 8 16

8 16 8 8 16 16

64K 16M

1 3

56 3,8bit 68 8,16bit

6 7

8 16

2/22/2000

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 8K 8K 64K

1 2 0 0 1 2

32 40 20 32 58 40

4,16bit 8,16bit 1,8bit 1,8bit 4,16bit 8,16bit

4 17 1 3 4 17

8 8 8 8 8

NATIONAL SEMICONDUCTOR (UK) LTD COP420 64 1K digits COP888CG 192 4K 32K HPC16083 256 8K 64K NEC ELECTRONICS UK 78214 512 16K 78322 640 16K ROCKWELL INTERNATIONAL R6501 192 36500/15 192 4K

1 2 uart

8 1,10bit 40 3,16bit 52 8,16bit

1 14 8

4 8 16

64K 64K

1 1

60 1,16bit 55 1,16bit 1,12bit 32 2,16bit 32 2,16bit

18 * 19

16

64K 16K

1 1

10 10

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 ZILOG UK LTD Z86E21 Z8800 Z86C11

1

15 82 2,8bit

5

1 48

8 8

112K 64K to 64K

2 1 0

55 54 16 -

2 3

2 2 2

8 8 8

256 8K 352 8K 128 4K

120K 128K to 120K

1 1 uart

32 2,14bit 40 2,16bit 82 2,0bit

6 8 8

8 8 8

2/22/2000

11

Dr. Alejandro Vega Salinas

FAMILIA DEL 68HC11NUMERO 68HC11A8 68HC11A1 68HC11A0 68HC11B8 68HC11B1 68HC11B0 68HC11E9 68HC11E1 68HC11E0 68HC811E2 68HC11D3 68HC11F1 8K 0 0 8K 0 0 12K 0 0 0 4K 0 ROM EPROM 512 512 0 512 512 0 512 512 0 2K 0 512 RAM 256 256 256 256 256 256 512 512 512 256 192 1K CONF $0F $0D $0C $0F $0D $0C $0F $0D $0C $FF N/A $FF

2/22/2000

12

Dr. Alejandro Vega Salinas

FAMILIA DEL 8051ROM4K 8K 4K 8K 8K 2K 2K2/22/2000

S-EPROM E PROM8031 8032 80C451 83C552 83C652 87C51 87C451 83C552 83C652 83C751 83C752Dr. Alejandro Vega Salinas

8051 8052 83C451 83C552 83C652 83C751 83C752

13

32k ROM In 8XC528 16K ROM In 8XC054, 8XC654 8K ROM In 8052, 8XC52

4k

8XC053 8XC552 8XC562 8XC652

128 RAM

512 RAM In 8XC528 256 RAM In 8052, 8XC52 8XC552, 8XC562, 8XC652, 8XC654 64 RAM In 83C751, 83C752

Timer 2 Capture/ Compare Array (8XC552, 8XC562 Timer 2 (8052, 8XC52, 8Xc528)

Interrupt Control

ROM

2k ROM In 83C751, 83C752J

Timer 1

Counter Inputs

Timer 0

256 EEPROM 83C851A/D (8XC550, 8XCC552, 8XCC562, 8XC752)

CPU

Osc

Bus Control

Four I/O Ports

I/O Port

Serial Ports

SCL I2c Serial SDA Port

TXD RXDWatchdog Timer (8XC528, 8XC550, 8XC552, 8XC562)

P0

P2

P1

P3 P4-P5-P6

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

Fixed Rate Timer (83c751/2)

Address/DataNOTES: 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

2/22/2000

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

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 WR P3.7 R D X TAL 2 X TAL 1 VSS

1 2 3 4 5 6 6 7 8 9 10

40 39 38 37 36 35 34

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

11 12 13 14 15 16 17 18 19 20

8051 8031 8751

33 32 31 30 29 28 27 26 25 24 23 22 21

2/22/2000

16

Dr. Alejandro Vega Salinas

Leer el registro de salida +5V

Pin del Bus interno

1 D

1 Q

T1

&Pin E/S

1 Q Impulso de inscripcin de salida Acceso de bus CLK

T2

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 D

1 Q

T1

&

1...4 k

Bus interno

Pin E/S

Q 1 Impulso de inscripcin de salida Refuerzo del flanco BAJO ALTO CLK

T2

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 P0EA ALEP2 P SENRD WRLATCH

E PROM DIRECCION BAJAA0 A7

RAM

DIRECCION ALTA

A8 A15

A8 A15 RD WR

OE

EJECUTANDO PROGRAMAS EXTERNOS

2/22/2000

19

Dr. Alejandro Vega Salinas

Bus de datos P1Vcc EA ALEP2

P0LATCH

RAM

Direcc. Bajas

A0 A7 A8 A9 A10 RD WR

C-8051

Bus de direcciones altas

P SENRD WR

2/22/2000

20

Dr. Alejandro Vega Salinas

Relacin de reas de almacenamiento en el P 8051

65535 Externa 496 495 255 Interna o externa Memoria de programas 128 127 Memoria de datos interna Registros SFR

65535

Memoria de datos externa

2/22/2000

21

Dr. Alejandro Vega Salinas

Registros de funciones especiales (SFR)F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88 80 B ACC PSW FF F7 EF E7 DF D7 CF C7 BF B7 AF A7 9F 97 8F PCON 87

Memoria RAM no disponible en el 8031

IP P3 IE P2 SCON SBUF P1 TCON TMOD TL0 TL1 TH0 TH1 P0 SP DPL DPH

Stack 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

Funciones de la memoria de datos interna C-8051

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

F7

F6

F5

F4

F3

F2

F1

F0

F0H 50 EDA

D0

DOH B8H B0H A8H A0H

9F 97 8F 87

9E

9D

9C

9B

9A

99

98 98H 90H

8E 86

8D 85

8C 84 SFR

8B 83

8A 82

89 81

88 88H 80 80H

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 BIT2/22/2000 24 Dr. Alejandro Vega Salinas

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

DIRECCIONAMIENTO DIRECTOEL 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 MOV 3DH, 4EH ADD A, 7FH2/22/2000 25 Dr. Alejandro Vega Salinas

; EL ACC. SE CARGA CON EL -DATO QUE SE ENCUENTRA EN LA DIREC. 2EH.

DIRECCIONAMIENTO INDIRECTOSE 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 MOV A, @R1 ; SUMA AL ACC EL DATO APUNTADO POR R0. ; 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 REGISTROSON 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 DATOSRAM INTERNAMOV , MOV A, MOV A MOV DPTR, #DATO PUSH POP XCH A; XCHD A, @R1 ;A . A. 16 bits.

; ; DPTR

; INC SP,