Author
javipe47020
View
64
Download
7
Embed Size (px)
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,