El PIC16F84A tiene dos bloques de memoria: memoria de programa y memoria de datos. La memoria de datos se divide en dos áreas: registros de funciones especiales (SFR) y registros de propósitos generales (GPR). La memoria de datos también se divide en dos bancos para permitir más de 116 bytes de RAM general de propósito. Los bits de control en el registro de estado se utilizan para seleccionar entre los bancos.
El PIC16F84A tiene dos bloques de memoria: memoria de programa y memoria de datos. La memoria de datos se divide en dos áreas: registros de funciones especiales (SFR) y registros de propósitos generales (GPR). La memoria de datos también se divide en dos bancos para permitir más de 116 bytes de RAM general de propósito. Los bits de control en el registro de estado se utilizan para seleccionar entre los bancos.
El PIC16F84A tiene dos bloques de memoria: memoria de programa y memoria de datos. La memoria de datos se divide en dos áreas: registros de funciones especiales (SFR) y registros de propósitos generales (GPR). La memoria de datos también se divide en dos bancos para permitir más de 116 bytes de RAM general de propósito. Los bits de control en el registro de estado se utilizan para seleccionar entre los bancos.
0 ORGANIZACIÓN DE MEMORIA 1020h, 1420h, 1820h y 1C20h, la
instrucción será la misma. Hay dos bloques de memoria en el El vector RESET está a las 0000h y el vector PIC16F84A. de interrupción está en 0004h. Estas son la memoria del programa y la memoria de datos. Cada bloque tiene su propio bus, por lo que el acceso a cada uno el bloqueo puede ocurrir durante el mismo ciclo de oscilador. La memoria de datos puede dividirse en el RAM de propósito general y la función especial Registros (SFR). El funcionamiento de los SFR que controlar el "núcleo" se describe aquí. Los SFRs utilizados para controlar los módulos periféricos se describen en la sección discutiendo cada módulo periférico individual. El área de memoria de datos también contiene los datos Memoria EEPROM. Esta memoria no está mapeada directamente en la memoria de datos, pero se mapea indirectamente. Es decir, un puntero de dirección indirecta especifica la dirección del datos de memoria EEPROM para leer / escribir. Los 64 bytes de los datos de memoria EEPROM tienen el rango de direcciones 0h-3Fh. 2.2 Organización de memoria de datos 2.1 Organización de la memoria del programa La memoria de datos está dividida en dos áreas. El primero es el área de Registros El PIC16FXX tiene un contador de de funciones especiales (SFR), mientras programa de 13 bits de abordar un que el segundo es el área de Registros de espacio de memoria de programa de 8K x Propósitos Generales (GPR). 14. Por el PIC16F84A, el primer 1K x 14 Los SFR controlan el funcionamiento del (0000h-03FFh) son implementado dispositivo. Las porciones de memoria de físicamente (Figura 2-1). Accediendo a datos están almacenadas. Esto es para una ubicación encima de la dirección ambos implementada físicamente causa un el área SFR y el área GPR. El área de GPR envolvente, Por ejemplo, para es ubicaciones 20h, 420h, 820h, C20h, bancarizado para permitir más de 116 directamente o indirectamente a través bytes de general RAM de propósito Las del áreas bancarizadas del SFR son para el FSR (Sección 2.5). registro que controlan las funciones Las direcciones GPR en el Banco 1 están periféricas. Bancario mapeadas a direcciones en el Banco 0. requiere el uso de bits de control para la Como ejemplo, dirección de ubicación selección del banco. 0Ch u 8Ch accederán al mismo GPR. Estos bits de control se encuentran en el Registro ESTADO. La figura 2-2 muestra la organización del mapa de memoria de datos. Las instrucciones MOVWF y MOVF pueden mover valores del W se registra en cualquier ubicación en el archivo de registro ("F"), y viceversa. Se puede acceder a toda la memoria de datos ya sea directamente usando la dirección absoluta de cada archivo de registro o indirectamente a través del File Select Register (FSR) (Sección 2.5). El direccionamiento indirecto usa el presente valor del bit RP0 para el acceso a las áreas bancarizadas de memoria de datos. La memoria de datos se divide en dos bancos que contener los registros de propósito general y el especial registro de funciones. El banco 0 se selecciona borrando el RP0 bit (ESTADO <5>). Configurar el bit RP0 selecciona el Banco 1. Cada banco se extiende hasta 7Fh (128 bytes). El primero doce ubicaciones de cada banco están reservadas para el Registros de funciones especiales. El resto son generales Registros de propósitos, implementados como RAM estática.