CURSO DE MICROCONTROLADORES PROGRAMACION E INTERCONEXIONADO DEL µC-8051 * INTRODUCCION * CARACTERISTICAS DEL 8051 * ARQ
Views 298 Downloads 0 File size 198KB
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,