You are on page 1of 31

PIC16F877 (74)

Organizacin De La Memoria
Ing. Hctor Jimnez M.

Organizacin De La Memoria

Dispone de tres bloques de memoria

Memoria de Programa tipo FLASH


Memoria de Datos RAM

Estas tienen buses separados para permitir el


acceso simultneo

Memoria de datos EEPROM

Tienen un contador de programa de 13 bits capaz


de direccionar 8K x l4 posiciones de memoria

El registro contador del programa (PC) especifica


la direccin de la instruccin que la CPU buscar
(fetch) para ejecutarla

PIC16F84

Registro PC (Contador de Programa)

Consta de 13 bits separados en dos partes y es capaz


de direccionar un bloque de 8K instrucciones x 14 bits

El byte de menor peso (PC<7:0>) es un registro que se


puede leer y escribir
El de mayor peso (PC<12:8>) no se puede leer, pero puede
escribirse de modo indirecto a travs del registro PCLATH
En cualquier tipo de Reset la parte alta es puesta a ceros

Memoria de Programa

El bloque total
esta subdividido
en 4 pginas de
2K x 14 bits = 8k

Vectores

Vector de Reset .- Cuando ocurre un reset el PC


es forzado a cero, y es la direccin donde la
ejecucin del programa continuar

Vector de interrupcin .- Cuando la CPU acepta


una solicitud de interrupcin ejecuta un salto a
la direccin 0004h

El programador deber colocar aqu la Rutina


de Atencin a la Interrupcin (Interrupt Service
Routine ISR), o bien un salto al inicio de ella

Memoria de Stack

Es una rea de memoria separada de la memoria de datos y


la memoria de programa, almacena las direcciones de
retorno de subrutinas

Consta de 8 niveles de 13 bits y no es ni leble ni escribible

PCLATH no se modifica
Opera en forma circular, es decir, cuando el
apuntador est en la posicin 8 y se ejecuta
otro CALL regresa a la posicin 1
sobrescribiendo el contenido

STACK
1
2
3
4
5

No existe ningn indicador que avise de


esta situacin, as que el usuario debe
llevar el control para que no ocurra

6
7
8

Memoria De Programa

Organizacin de la Memoria de datos

Se divide en cuatro Bancos que contienen los


Registros de Propsito General (GPR) y los Registros
de Funciones Especiales (SFR)

Los bits RP1 (STATUS <6>) y RP0 (STATUS <5> )


seleccionan cada Banco

Estructura de los Bancos

En cada uno hay 7Fh posiciones de memoria


(128 bytes)

Las posiciones ms bajas estn reservadas para


los Registros de Funciones Especiales (SFR)

Por encima de los FSR cada banco estn los


Registros de Propsito General (GPR)
(memoria RAM esttica) para almacenamiento
de datos

Registros de Propsito General

Cada banco tiene 80 bytes, adems los


Bancos 2 y 3 tienen 16 bytes adicionales, que
tambin son independientes

Los 16 bytes superiores de memoria en cada


Banco tienen una raiz comn, accediendo a
cualquiera de los 16 bytes en cualquier
Banco, automticamente nos da acceso a los
del Banco 0 (70h a 7Fh)

Esta forma de acceder puede ser ventajosa en


algunos casos

Estructura de los

Bancos

Para los 874/7, la


memoria para datos
en total es:

96+80+16+80+16+80
= 368 byte

Registros de Funciones Especiales

Los SFR son registros que tienen funciones


de configuracin y estn asociados a
perifricos para controlar su operacin;
tienen un nombre asociado a su funcin

Estos registros estn implementados como


RAM esttica

Registros

Registro de Instruccin.- Registro de 14 bits.


Todas las instrucciones se colocan en l para ser
decodificadas por la CPU antes de ejecutarlas

Registro W.- Registro de 8 bits que guarda


resultados temporales de las operaciones
realizadas por la ALU

Registro STATUS.- Registro de 8 bits, cada uno


de sus bits (Banderas) es un indicador de estado
de la CPU o del resultado de la ltima operacin

STATUS - Banderas

Direcciones 03h, 83h, 103h, 183h

Z - Indica que el resultado de la ltima operacin es cero


1 - Resultado igual a cero
0 - Resultado distinto de creo

STATUS - Banderas

C - Bit de acarreo/prstamo de la ltima


operacin aritmtica
En prstamo (resta), el bit se invierte antes
de guardarse
DC - Bit de acarreo/prstamo proveniente del
cuarto bit menos significativo. Funciona igual
que C, pero para 4 bits

Registro STATUS - Banderas

Las restas se realizan sumando el


complemento a dos del segundo operando

PIC16F877 (74)

Organizacin De La Memoria
Ing. Hctor Jimnez M.

Sd
Df
Df
sd
Df
Sd
Yu
Gvk
Vul
bhul

PIC16F877

You might also like