Está en la página 1de 6

El PIC posee 3 memorias: Memoria de Datos (Memoria RAM) Memoria de Programa (Memoria Flash) Memoria EEPROM

Memoria de Datos

La memoria de datos tiene de 2 partes: Registro de Funciones Especiales (SFR Special Function Registers) Son aquellos que controlan ciertos perifricos del PIC (Timers, Puertos, Registro de Estado, etc) Registros de Propsito General (GPR General Purpose Registers) Son aquellos que el usuario puede utilizar libremente para almacenar valores en su programa.

Memoria de programa La memoria de programa es aquella donde se graban las instrucciones y su tamao es variable (En un PIC16F84A es de 1k, en un PIC 16F877A es de 8k). Cuando se enciende el PIC se empiezan a ejecutar estas instrucciones inicindose desde la posicin 0x0000 e incrementndose de uno en uno normalmente, salvo en el caso que la instruccin sea una instruccin de salto (call goto). Existe un contador de programa (PC) de 13 bits que en todo momento lleva la cuenta del numero de instruccin que se encuentra ejecutando el PIC. Cuando se ejecuta una instruccin de salto de tipo call, la direccin desde la que se salta es guardada en una pila de 8 niveles (Stack), para luego poder regresar a ella utilizando la instruccin return. Memoria Flash de un PIC 16F84A (1023 instrucciones Media pagina)

Memoria FLASH de un PIC 16F876A (4095 instrucciones 2 Paginas)

Memoria FLASH de un PIC 16F877A (8191 instrucciones 4 Paginas)

Las instrucciones en el PIC son de 14 bits.

Las instrucciones son de 4 tipos: Instrucciones de operaciones orientadas a registros. Instrucciones de operaciones orientadas a bits. Instrucciones con Literales. Instrucciones de salto.

Instrucciones de operaciones orientadas a registros Me permiten ejecutar operaciones con los registros de la RAM.

Como se ve en la fig, solo contamos con 7 bits para indicar la direccin del registro con el que se trabajar (0x00- 0x7F), por lo que aparentemente solo podramos utilizar estas instrucciones con los registros del Banco-0 del PIC. Sin embargo para poder acceder a los registros de otros bancos utilizaremos los bits RP0, RP1 del STATUS.

Los bits RP1 y RP0 se concatenan con los 7 ltimos bits de la instruccin para poder aacceder a los registros ubicados en otro banco de la memoria RAM.

En resumen, para ingresar a los diferentes bancos de los pics deberemos hacer: Banco 0 1 2 3 RP1 0 0 1 1 RP0 0 1 0 1

Instrucciones de salto

Las instrucciones de salto me permiten saltar de una posicin de la memoria de programa a otra. Como vemos solo tiene 11 bits para indicar la direccin a la cual saltar, sin embargo, los pics necesitan al menos 13 bits para direccionar todas las posiciones de su memoria flash. Estos 2 bits restantes se encuentran en el registro PCLATH y se debern configurar antes de ejecutar la instruccin de salto.

Registro de Estado: STATUS

También podría gustarte