Microcontroladores Las Memorias del 8051 Distribuci ón de Distribución Memoria en el 8051 FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Arquitecturas de Microcontroladores Arquitecturas Computacionales Carlos Canto Q. Facultad de Ciencias/UASLP Arquitecturas de Microcontroladores Arquitecturas computacionales bus de Direcciones Memoria RAM Memoria ROM Arquitectura VON NEUMAN CPU CLOCK Bus de Datos El modelo básico de arquitectura empleada por los computadores digitales fue establecida en 1945 por John Von Neumann. Es la arquitectura de computadora más usada actualmente. Se denomina Arquitectura Princeton o Von Neuman. Dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control). Los Microcontroladores con arquitectura Von Neumann son llamados “Microcontroladores CISC” Carlos Canto Q. Facultad de Ciencias/UASLP Arquitecturas de Microcontroladores Arquitecturas computacionales Clock Memoria de DATOS Bus de Bus de Datos CPU Direcc. Memoria de INSTRUCCIONES Arquitectura HARVARD Arquitectura Harvard Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias. Los Microcontroladores con arquitectura Harvard son llamados también “Microcontroladores RISC El 8051 y los PIC´s tienen este tipo de Arquitectura. Carlos Canto Q. Facultad de Ciencias/UASLP Arquitecturas de Microcontroladores Arquitecturas computacionales Arquitecturas computacionales CISC: Complex Instruction Set Computer 9Muchas instrucciones diferentes. Potentes y especializadas. 9 Facilita la programación. 9Código muy compacto 9 P.e.: Motorola RISC: Reduced Instruction Set Computer 9Pocas instrucciones muy sencillas. 9La sencillez de las instrucciones permite liberar área de silicio para implementar caracteristicas que mejoren las prestaciones. 9Chips más baratos, de menor consumo, de menos pines. 9 P.e.: PIC Carlos Canto Q. Facultad de Ciencias/UASLP Las Memorias del 8051 Microcontroladores Tipos de memoria usadas en el 8051 MEMORIAS MEMORIAS De Programa De Programa Solo lectura Solo lectura Interna Interna FACULTAD DE CIENCIAS/ UASLP Externa Externa De Dedatos datos RAM RAM Lectura-escritura Lectura-escritura Interna Interna Externa Externa Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores FFFFH Relación de áreas de almacenamiento en el µC 8051 FFFFH El 8051 tiene espacios de direcciones separados para memoria de programa y memoria de datos. Externa Externa Externa Externa 1000H 0FFFH FFH Interna Internaoo externa externa 7FH 0000H 80H 0000H 00H Memoria de programas Memorias de Datos Interna FACULTAD DE CIENCIAS/ UASLP Microcontroladores Espacio de Registros de Función Especial SFR Memorias de Datos Externa Carlos E. Canto Quintal Las Memorias del 8051 Las Memorias de Programa FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores Tipos de memorias permanente o no volátiles usadas en µControladores ROM Read Only Memory PROM (OTP) One time porogramming EPROM EEPROM FLASH Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores MEMORIA DE PROGRAMA DEL 8051 FFFF FFFF 60 60KK Bytes Bytes Externa Externa El tamaño de la memoria de programa externa puede ampliarse hasta 64kbytes. O 1000 64 64KK Bytes Bytes Externa Externa & 0FFF 0000 4K 4KBytes Bytes Interna Interna Los primeros 4k (8 K para el 8052 ) pueden residir en el chip. FACULTAD DE CIENCIAS/ UASLP 0000 Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores LLÍNEAS ÍNEAS DE DE CONTROL CONTROL DEL DEL 8051 8051 USADAS USADAS PARA PARA EL EL ACCESO ACCESO A A MEMORIAS MEMORIAS EXTERNAS EXTERNAS ALE: Address Latch Enable Habilitación del Latch de Direcciones PSEN: Program Strobe Enable Pulso de Habilitación de memoria externa de programa EA: External Access Señal para forzar acceso a memoria externa de programa WR: Write Escritura en Memoria Externa de Datos RD: Read Lectura de Memoria Externa de Datos Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores EL EL MULTIPLEXAJE MULTIPLEXAJE DEL DEL BUS BUS DE DE DATOS DATOS Y Y PARTE PARTE BAJA BAJA DEL DEL BUS BUS DE DE DIRECCIONES DIRECCIONES Puerto Puerto00 Datos UXX M MU Direcciones Direcciones LATCH DE LATCH DE ALE DIRECCIONES DIRECCIONES MICROCONTROLADOR 8051 BUS DE BUS DE DIRECCIONES DIRECCIONES (Bajo) (Bajo) FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores EL EL MULTIPLEXAJE MULTIPLEXAJE DEL DEL BUS BUS DE DE DATOS DATOS Y Y PARTE PARTE BAJA BAJA DEL DEL BUS BUS DE DE DIRECCIONES DIRECCIONES Puerto Puerto00 Datos MU X BUS DE DATOS Direcciones LATCH DE LATCH DE DIRECCIONES DIRECCIONES ALE MICROCONTROLADOR 8051 BUS DE BUS DE DIRECCIONES DIRECCIONES (Bajo) (Bajo) Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores LLÍNEAS ÍNEAS DE DE CONTROL CONTROL DEL DEL 8051 8051 USADAS USADAS PARA PARA EL EL ACCESO ACCESO A A MEMORIAS MEMORIAS EXTERNAS EXTERNAS Bus de datos Lectura de instrucción Puerto Puerto00 Buffer de Buffer de salida salida 8031 8031 Memoria de programa (EPROM) PSEN OE EA CE FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores EJECUCIÓN DEL PROGRAMA DE MEMORIA INTERNA Memoria de Solo Lectura (ROM,EPROM, FLASH) FFFF Memoria Externa de Programa (expandible hasta un máximo de 60 kbytes) 1000 Se Seinicia inicialalaejecución ejecución del delprograma programaen enlala memoria interna memoria internade de programa programa 0FFF EPROM EPROM INTERNA INTERNA +5v 0000 8051 EA=“1” EA PSEN =1 Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores Memoria de Solo Lectura (ROM,EPROM, FLASH) FFFF EJECUCIÓN DEL PROGRAMA DE MEMORIA EXTERNA MEMORIA EXTERNA DE PROGRAMA (MÁXIMO 64 kBYTES) 0000 Se Seignora ignoraelel programa programaen enlala memoria memoriainterna interna (si (siexistiera) existiera) EPROM EPROM INTERNA INTERNA 8051 PSEN EA PSEN =0 FACULTAD DE CIENCIAS/ UASLP +5v EA=“0” Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores Memoria de programa y la ubicaci ón de las localidades de las interrupciones ubicación 0023H 001BH Localidades de las interrupciones 8 bytes 0013H 000BH 0003H RESET FACULTAD DE CIENCIAS/ UASLP Microcontroladores 0000H Carlos E. Canto Quintal Las Memorias del 8051 MEMORIA DE DATOS RAM (LECTO/ESCRITURA) FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores MEMORIA MEMORIA DE DE DATOS DATOS RAM RAM (LECTO/ESCRITURA) (LECTO/ESCRITURA) RAM INTERNA RAM EXTERNA FFFF µC 8051 EXPANDIBLE HASTA 64 KBYTES FF 7F 00 WR 0000 RD Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores Memoria de Datos Interna FFH Accesible Accesible Accesible Accesiblesolo solocon con Solo Solo con con Direccionamiento Direccionamiento Direccionamiento Direccionamiento Directo Directo Indirecto Indirecto 128 bytes Más altos 80H 7FH 128 bytes Más bajos 00H Accesible Accesiblecon con Direccionamiento Direccionamiento Directo DirectoeeIndirecto Indirecto FACULTAD DE CIENCIAS/ UASLP Registros de Función Especial Puertos Bits de status y control Registros de Timers Stack pointer Acumulador Etc. Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores MEMORIA MEMORIA INTERNA INTERNA DE DE DATOS DATOS FFH 7FH Bits del PSW de selección de Bancos 2FH 20H 1FH 11 10 01 Espacio no Direccionable a Bit 18H 17H 10H 0FH 08H 07H 00 Espacio Direccionable a Bit (Direcciones de los Bits de 07F) 00 4 Bancos de 8 Registros cada uno R0R7 Valor de Reset del Stack Pointer 80H Distribución de los128 bytes más altos de la RAM Interna Distribución de los128 bytes más bajos de la Memoria Interna de Datos Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores Modelos más nuevos (256 localidades disponibles) RAM interna para el 8052 Modelos más viejos (128 localidades disponibles) FFH 7FH 80 80bytes bytes disponibles disponibles 30H 2FH 16 bytes 16 bytes Direccionables Direccionables a bit 20H a bit 1FH 18H 17H 10H 0FH 08H 07H 00H FACULTAD DE CIENCIAS/ UASLP Banco Banco33 Banco Banco22 Banco Banco11 Banco Banco00 Block Block extra extra de de memoria memoria Registros Registros SFR SFR 128 128bytes bytes disponibles disponibles 80H Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores (LSB) Byte (MSB) 7FH 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H 1FH 18H 17H 10H 0FH 08H 07H 00H Direcciones Direcciones de de los los Bits Bits RAM RAM 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 Regi ón de la RAM interna con Región habilidad de ser direccionable a Bit y las direcciones de cada uno de los bits Banco Banco33 Banco2 Banco2 Banco Banco11 Banco Banco00 Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores ESPACIO ÓN ESPECIAL ESPACIO DE DE REGISTROS REGISTROS DE DE FUNCI FUNCIÓN ESPECIAL (SFR) (SFR) En este espacio, las direcciones terminadas en 0H ú 8H también son direccionables a bit FFH Los Registros de los Puertos son B mapeados en memoria interna de ACC datos F0H F7 F6 F5 E0H DF DE DD DC DB DA D9 D8 D0H D7 D6 D5 D4 D3 D2 B8H BD BE B0H B7 B6 B5 B4 B3 B2 B1 A8H AF AE A9 A8 IE A0H A7 A6 A5 A1 P2 98H 9F 9E 90H 97 96 95 94 88H 8F 8E 80H 87 86 85 84 FACULTAD DE CIENCIAS/ UASLP F4 F3 F2 F1 D1 F0 D0 BD BC BB BA B9 B8 AD AC AB AA A4 A3 A2 B0 A0 9D 9C 9B 9A 99 98 93 92 8D 8C 8B 8A 83 82 91 90 PSW IP P3 SCON P1 89 88 TCON 81 P0 80 • Pins de Puertos • Acumulador • PSW • (Etc.) Carlos E. Canto Quintal Microcontroladores Las Memorias del 8051 Registros de Funci ón Especial SFR y su ubicaci ón en Función ubicación el mapa de memoria FACULTAD DE CIENCIAS/ UASLP Microcontroladores Carlos E. Canto Quintal Las Memorias del 8051 Registros de Función Especial SFR y su ubicación en el mapa de memoria Registros Direccionables a Bit FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores Registro de Palabra de Status de Programa PSW CY CY PSW.7 Bandera de acarreo recibe el acarreo producido por los bits 7 en las operaciones de la ALU PSW.6 Bandera de acarreo auxiliar recibe el acarreo producido por los bits 3 en la adición de operandos AC AC F0 F0 RS1 RS1 RS0 RS0 OV OV PP PSW.0 Paridad del acumulador activada por Hardware a 1 si contiene un número impar de 1´s, sino se pone a 0 PSW.1 Bandera Definida por el Usuario PSW.5 Bandera de Status de propósito General PSW.2 Bandera de Sobreflujo, se activa con operaciones aritméticas PSW.4 Bit1 selector de Banco de Registro PSW.3 Bit 0 selector de Banco de Registro FACULTAD DE CIENCIAS/ UASLP Microcontroladores Carlos E. Canto Quintal Las Memorias del 8051 El Acceso a las Memorias Externas FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores EJECUTANDO EL PROGRAMA DESDE MEMORIA EXTERNA EPROM P0 P1 EA LATCH LATCH 80C51 80C51 DIRECC. ALE P3 P2 OE PSEN Carlos E. Canto Quintal FACULTAD DE CIENCIAS/ UASLP Las Memorias del 8051 Microcontroladores ACCESANDO ACCESANDO MEMORIA MEMORIA EXTERNA EXTERNA DE DE DATOS DATOS SI SI LA LA MEMORIA MEMORIA DE DE PROGRAMA PROGRAMA ES ES INTERNA, INTERNA, LOS LOS OTROS OTROS BITS BITS DE DE P2 P2 ESTAN ESTAN DISPONIBLES DISPONIBLES COMO COMO E/S E/S Dato P0 P1 80C51 EA con ROM Interna RAM VCC LATCH LATCH DIRECC. ALE RD WR FACULTAD DE CIENCIAS/ UASLP P3 P2 E/S Bits de página WE OE Carlos E. Canto Quintal Las Memorias del 8051 Microcontroladores Memoria de programa y de datos externa (modo microprocesador) Bus Busde deDatos Datos P1 P0 DIRECC. EPROM 80C51 EA sin ROM Interna DIRECC. PSEN RD WR P2 DIRECC. LATCH LATCH ALE P3 RAM OE WE OE A0-A7 A7-A15 A7-A15 Bus de Direcciones FACULTAD DE CIENCIAS/ UASLP Microcontroladores Carlos E. Canto Quintal La familia del µC 8051 CONEXI ÓN DE LAS MEMORIAS CONEXIÓN MEMORIAS EN EN MODO MODO MICROPROCESADOR MICROPROCESADOR Tanto Tanto la la memoria memoria de de programa como la programa como la de de datos datos son son externas. externas. N ótese que Nótese que el el puerto puerto 00 yy el el puerto2 puerto2 se se ocupan ocupan completamente completamente yy tambié én dos tambi también dos bits bits del del puerto 3 (WR y RD) puerto 3 (WR y RD) FACULTAD DE CIENCIAS/ UASLP Carlos E. Canto Quintal