Organización De Memoria; Registros Especiales Sfr - EVOLUPIC b Manual Del Usuario

Tabla de contenido

Publicidad

7. Memoria
La arquitectura HARVARD permite el uso de dos buses de datos separados para la memoria de programa y de datos.
La memoria de programa es del tipo FLASH, con capacidad de programar y borrar hasta 10,000 veces, y cuenta con 4096 localidades
de 14 bits, con direcciones de la 000H a la FFFH.
Las direcciones 0 y la 4 de esta memoria son usadas para los vectores de RESET e interrupción respectivamente, es
decir, después de RESET, al contador del programa apunta hacia la dirección 0 y después de la ocurrencia de una interrupción (que se
encuentre habilitada), el contador del programa apuntará a la dirección 4.
La memoria de datos es de localidades de 8 bits, e incluye 368 localidades de RAM, y 256 localidades de EEPROM
(con capacidad de programar y borrar hasta 10 millones de veces). La memoria de datos RAM está organizada en 4 bancos y se
encuentra debajo de los registros especiales (SFR) del 16F88. Las direcciones disponibles de RAM son: BANCO 0: 20H A 7FH (96
bytes), BANCO 1: A0H a EFH (80 bytes), BANCO 2: 110H a 16FH (96 bytes) y BANCO 3: 190 a 1EF (96 bytes). Las localidades
pueden ser accesadas con direccionamiento directo o indirecto.
En el siguiente diagrama, se muestran los dos tipos de arquitectura usados en computadoras: la arquitectura Harvard y la Von
Neumann.
8. Registros especiales. SFR
Los denominados SFR (Special Function Registers), permiten al programador seleccionar las distintas opciones de las
funciones del microcontrolador. En seguida se detalla la función de cada registro de estos 4 bancos de memoria. El banco se
selecciona mediante los bits RP0 y RP1 del registro de STATUS. Algunos de los registros se encuentran repetidos en los bancos.
Registros en el 16F88, similares al 16F84:
INDF
REGISTRO USADO, JUNTO CON EL APUNTADOR FSR, PARA DIRECCIONAMIENTO INDIRECTO .
TMR0
REGISTRO QUE CONTIENE EL VALOR DEL CONTADOR/ TEMPORIZADOR (8 BITS)
OPTION REG REGISTRO QUE PERMITE EL CONTROL DEL CONTADOR/ TEMPORIZADOR 0, DE LA INTERRUPCION
EXTERNA Y DE LAS RESISTENCIAS DE PULL UP DEL PUERTO B.
PCL
PARTE BAJA DEL CONTADOR DEL PROGRAMA (8 BITS).
STATUS
GUARDA EL ESTADO DE LAS BANDERAS C (CARRY), DC (HALF CARRY), Z (ZERO), PD (POWER
DOWN, TO (TEMPORIZADOR), RP0 (SELECTOR DE BANCO), RP1 (SELECTOR DE BANCO).
FSR
REGISTRO APUNTADOR USADO PARA EL DIRECCIONAMIENTO INDIRECTO DE LA MEMORIA DE
DATOS. SE USA JUNTO CON INDF PARA LEER O ESCRIBIR SOBRE UNA LOCALIDAD DE MEMORIA.
PORTA
PUERTO A
TRISA
REGISTRO DE SELECCIÓN DE BITS DE ENTRADA O SALIDA DEL PUERTO A
PORTB
PUERTO B
TRISB
REGISTRO DE SELECCIÓN DE BITS DE ENTRADA O SALIDA DEL PUERTO B.
EEDATA
ALMACENA EL VALOR LEIDO DE LA EEPROM, DE LA LOCALIDAD A DONDE APUNTA EEADDR.
EECON1
REGISTRO DE CONTROL HABILITA LECTURA Y ESCRITURA DE EEPROM.
EEADDR
APUNTADOR QUE ALMACENA LA DIRECCIÓN QUE HABRA DE LEERSE EN LA EEPROM
FIGURA 6
EVOLUPIC Bootloader 16F88 Punto Flotante, S.A. 2011
7

Publicidad

Tabla de contenido
loading

Tabla de contenido