Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Existen dos tipos de memoria en todos los µC, memoria de programa y memoria de datos. La primera (EPROM, EEPROM, FLASH, etc) contiene los códigos de operación que se ejecutarán para seguir una secuencia determinada por el usuario. El segundo tipo (RAM) sirve para almacenar datos de manera temporal para ser usados durante la ejecución del programa. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA La organización de la memoria en los µC51 se puede clasificar en memoria externa y memoria interna: Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Externa de Programa Para la ejecución externa de programa, los puertos P0 y P2 están dedicados para el direccionamiento de esta: El puerto P0 sirve como bus de datos y parte baja de direcciones. Este envía la parte baja del contador de programa (PCL). Durante el tiempo que se genera el byte bajo de direcciones(A0-A7), la señal ALE habilita un Latch para multiplexar este puerto. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Externa de Programa Para la ejecución externa de programa, los puertos P0 y P2 están dedicados para el direccionamiento de esta: El puerto P2 sirve para generar la parte alta de direcciones (PCH). En este momento la señal PSEN’ habilita la salida de datos de la memoria externa y la CPU lee el código de operación a través del puerto P0. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Externa de Programa El tiempo de acceso a la memoria esta determinado por los ciclos de maquina en el microcontrolador. En los µC51 un ciclo de máquina equivale a 12 periodos de oscilación de reloj. Durante un ciclo de máquina la señal ALE’ se activa dos veces para leer dos bytes de la memoria de programa dependiendo de los byte que determinen las instrucciones. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Externa de Datos En el caso de tener a memoria externa de datos, la CPU genera las señales de RD’ y WR’ (pines P3.6 y P3.7) necesarias para tener acceso a dicha memoria. En este caso la señal PSEN’ queda sin uso. La única manera de tener acceso a este tipo de memoria es con la instrucción MOVX usando cualquiera de los registros DPTR, R0 ó R1 como registros de dirección. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Externa de Datos La memoria de datos (RAM) se interfasa con el microcontrolador a través de las líneas RD’ y WR’. Usando los puertos P0 y P2 se pueden direccionar 64K Bytes de memoria. El diagrama de tiempos para lectura (escritura) de memoria externa de datos mediante la instrucción: MOVX A,@DPTR (MOVX @DPTR,A) Se muestra en la figura siguiente: Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Decodificación de Memoria Externa Cuando se interfasan múltiples memorias (ROM y RAM) al µC51 se requiere de decodificar la memoria. La decodificación es similar a la de todos los procesadores mediante el uso de decodificadores (74HC138) como dispositivos de control de habilitación de las memorias. Dado que se tienen señales distintas para lectura de memoria (PSEN’ y RD’) se pueden direccionar 64K Bytes de memoria de ambos tipos. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Interna de Datos La memoria interna de datos esta dividida en dos bloques de 128 bytes. El primer bloque (00H - 7FH) es accesado por direccionamiento directo e indirecto. El segundo bloque (80H - FFH) sólo puede ser accesado por direccionamiento directo y es donde se encuentran los registros de funciones especiales (SFR`s). Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Interna de Datos El acceso de los 128 bytes menos significativos de la RAM interna esta dividido en tres bloques básicos: 00H - 1FH. Área de bancos para acceso indirecto ó apuntadores. 20H - 2FH. Área direccionable por bits. 30H - 7FH. Área de propósito general. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Acceso a Memoria Interna de Datos Los 128 bytes más significativos de la memoria RAM interna contienen los registros de funciones especiales SFR’s. Estos registros (80H - FFH) se pueden accesar únicamente de manera directa*. * Los modos de direccionamiento se analizarán mas adelante. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s PSW (Program Status Word). Contiene la información del estado del procesador después de haber ejecutado una instrucción. P (Bandera de paridad). Refleja el numero de 1’s en el acumulador: P=0, par P=1, impar Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s PSW (Program Status Word). Contiene la información del estado del procesador después de haber ejecutado una instrucción. OV (Bandera de sobreflujo). Un nivel alto “1” indica un sobreflujo en operaciones aritméticas de multiplicación y división. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s PSW (Program Status Word). Contiene la información del estado del procesador después de haber ejecutado una instrucción. RS1,0 (Banderas de selección de bancos). RS1 RS0 BANCO 0 0 0 0 1 1 1 0 2 1 1 3 Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s PSW (Program Status Word). Contiene la información del estado del procesador después de haber ejecutado una instrucción. AC (Bandera de acarreo intermedio). Indica acarreo o préstamo entre los bits 3 y 4 del operando destino en operaciones BCD. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s PSW (Program Status Word). Contiene la información del estado del procesador después de haber ejecutado una instrucción. CY (Bandera de acarreo). Indica acarreo o préstamo del operando destino en operaciones aritméticas de suma y resta. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s Acc (Registro Acumulador). Es el registro de propósito general el cual es usado en algunas de las instrucciones que modifican el PSW. B (Registro Auxiliar). Es un registro de propósito general el cual es usado como segundo operando en instrucciones de multiplicación y división. Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s DPTR (Registro Apuntador de datos). Es usado para accesar datos y tablas. Este registro consiste en dos registros de 8 bits (DPH y DPL) ó bien puede usarse como registro de 16 bits para apuntar a direcciones de memoria. DPH (bits 15-8) DPL (bits 7-0) Ing. Ricardo Godínez Bravo. Sistemas Digitales II El µC AT89C51. ORGANIZACIÓN DE LA MEMORIA Registros de Funciones Especiales SFR’s SP (Registro Apuntador de pila). Es usado para direccionar la pila durante instrucciones PUSH, POP y CALL. El valor por default de la pila es la dirección 07H dentro de la memoria interna de datos (RAM), siendo esta de tipo LIFO. El valor del SP se incrementa antes de almacenar información y se decrementa después de recuperar información. Ing. Ricardo Godínez Bravo.