T
E
RABAJO Y
XPLICACIÓN
Organización de la Memoria
Memoria de Programa
La memoria FLASH en la que se graba el programa de aplicación en los
PIC 16F87X, puede tener una capacidad de 4K u 8K palabras de 14 bits
cada una. Dicha memoria está dividida en páginas de 2K palabras y está
direccionada con el PC, que tiene un tamaño de 13 bits. La pila que tiene 8
niveles de profundidad, es transparente para el usuario, es decir, funciona
automáticamente y no dispone de instrucciones para guardar o sacar de
ella información. Con la instrucción CALL y con las interrupciones, el
valor se salva en el nivel superior. Con las instrucciones RETURN,
RETFIE Y RETLW, en valor contenido en el nivel superior de la pila, se
carga en el PC. Al poseer la pila solo 8 niveles, le corresponde al
programador preocuparse por los anidamientos en las subrutinas para
sobrepasar dicho valor. El vector de reset ocupa la dirección 0000h y el
vector de interrupción la 0004h, igual que el PIC 16F84.
Memoria de Datos RAM
La memoria de datos tiene posiciones implementadas en RAM y otra en
EEPROM. En la sección RAM, se alojan los registros operativos
fundamentales, en el funcionamiento del procesador y en el manejo de sus
periféricos, además de registros que el programador puede usar para
información de trabajo propia de la aplicación. La memoria EEPROM es
para guardar datos de forma no volátil y se considera un dispositivo
especial.
La RAM estática consta de 4 bancos con 128 bytes cada uno. En las
posiciones iniciales de banco se ubican los registros específicos que
gobiernan el procesador y sus recursos. Dos modelos de 16F87X tienen 192
bytes de RAM y otros dos de 368 bytes.
Para seleccionar el banco al que se desea acceder en la RAM se emplean
los bits 6 y 5 del Registro de Estado (STATUS) RP1 y RP0
respectivamente, según el código siguiente:
D
P
ESARROLLO
ROYECTOS Y
PIC 16F87
X
BANCO
0
1
2
3
P
E
ROTOTIPOS
LECTRÓNICOS
RP1
RP0
0
0
0
1
1
0
1
1
2º DPE
9