Вы находитесь на странице: 1из 26

Registros

de la CPU.
Registro PC.- Registro de 13 bits que
siempre apunta a la siguiente instruccin a
ejecutarse.
Registro de Instruccin.- Registro de
14 bits. Todas las instrucciones se colocan
en l para ser decodificadas por la CPU
antes de ejecutarlas.
PIC16F877A Pag 7

Organizacin de la memoria
8k x 14 words Memoria de programa
FLASH de
368 x 8 bytes Memoria de datos RAM
256 x 8 bytes Memoria de datos
EEPROM

Memoria de Programa
La memoria de programa FLASH est
subdividido en 4 pginas de 2K x 14.
El vector de reset se encuentra en la direccin
0000h
El vector de interrupcin de encuentra en la
direccin 0004h. Por lo que en la memoria de
programa se encuentran reservadas las primeras
5 localidades de memoria y se debe de empezar
a programar el PIC a partir de la direccin
0005h.

MAPA DE MEMORIA DE
PROGRAMA

Manejo del Contador del Programa (PC)


El registro contador del programa (PC) especifica
la direccin de la instruccin que la CPU buscar
para ejecutarla. El PC se encuentra separado en
dos partes:

El registro PCH <12:8> no se puede leer o escribir


directamente todas sus actualizaciones deben ser hechas a
travs del registro PCLATH.

Paginacin
Para saltar entre una pgina y otra, los bits ms significativos
del PC debern ser modificados. Debido a que las
instrucciones GOTO y CALL slo pueden direccionar un bloque
de 2K (pues usan una direccin de 11 bits) deben existir otros
dos bits que completen los 13 bits del PC para moverse sobre
los 8K de memoria de programa.
Estos dos bits extra se encuentran en un registro de funcin
especial denominado PCLATH (Program Counter Latch High)
en sus bits PCLATH<4:3>.
Por esto antes de un GOTO o un CALL hay que asegurarse
que estos bits apunten a la pgina deseada.
Si las instrucciones se ejecutan secuencialmente el PC cruza
libremente los lmites de pgina sin necesidad de que el usuario
escriba en el PCLATH

Memoria de Stack
La memoria de stack es una rea de
memoria completamente separada de la
memoria de datos y la memoria de
programa. El stack consta de 8 niveles de
13 bits cada uno. Esta memoria es usada
por la CPU para almacenar las direcciones
de retorno de subrutinas. El apuntador de
stack no puede ser ledo ni escrito.

Cuando se ejecuta una


instruccin CALL o es
reconocida una
interrupcin el PC es
guardado en el stack y el
apuntador de stack es
incrementado en 1 para
apuntar a la siguiente
posicin vaca.

La Memoria de Datos
La memoria de datos est particionada dentro de 4 bancos de 128 bytes c/u

Registro de Propsito
General (GPR)
Registros de Propsito
Especial (SFR)

Registros de Propsito
General
Los registros de propsito general
pueden ser accesados directa o
indirectamente
Los GPR son memoria RAM de uso
general

Registros de Funciones Especiales


Los registros de funciones especiales son
registros usados por el CPU y mdulos
perifricos para controlar la operacin
deseada del dispositivo. Cada uno de los
registros de propsito especial, est
asociado a un dispositivo interno del C.

STATUS

Mapa de
Archivo de
Registros

PORTB

La memoria de datos
STATUS

STATUS

PORTB

STATUS

REGISTRO STATUS

Direccionamiento de la
memoria de datos
Direccionamiento directo
Para acceder a una posicin de memoria
mediante direccionamiento directo, la CPU
simplemente usa la direccin indicada en
los 7 bits menos significativos del cdigo de
operacin y la seleccin de banco de los
bits RP1:RP0 del registro STATUS

Direccionamiento indirecto
Permite acceder una localidad de memoria
de datos usando una direccin de memoria
variable por medio del registro INDF (00H) a
diferencia del direccionamiento directo, en
que la direccin es fija.
El registro FSR (04H) es un puntero
seleccionador de registros.

Ejemplo de Direccionamiento Indirecto

El Registro 05 contiene el valor 10h


El Registro 06 contiene el valor 0Ah
Se Carga el valor 05 en el registro FSR (FSR = 05)
La lectura del registro INDF retornar el valor 10h
Se Incrementa el valor del registro FSR en 1 (FSR = 06)
La lectura del registro INDF retornar el valor 0Ah.

OSCILADORES
Los uC, disponen de las siguientes
opciones para el oscilador principal:
Oscilador de cristal
Oscilador RC
Oscilador externo
El tipo de oscilador a utilizar se selecciona
mediante los bits de configuracin del PIC.
El PIC puede ser operado en cuatro diferentes
modos de operacin.

LP. Low Power Crystal, se selecciona en aplicaciones de


baja potencia, en el rango de 32kHz a 200KHz
XT. Crystal/Resonator, se ajusta a aplicaciones de
frecuencias medias de 200 kHz a 4MHz)
HS. High Speed Crystal/Resonator , usado en
aplicaciones de alta frecuencia, entre 4MHz a 20MHz)
RC. Resistor/Capacitor, red RC externa, esta es una
opcin de bajo costo, apropiada cuando la precisin y la
estabilidad en el valor de la frecuencia no son esenciales,
hasta 4MHz

OSCILADOR DE CRISTAL

OSCILADOR RC
n

En aplicaciones donde la precisin a la hora de medir tiempo o temporizar no


tiene porqu ser muy elevada, la opcin RC es una solucin vlida y de bajo
coste. En este caso se conectan externamente una resistencia y un
condensador tal y como se indica en la figura.

La frecuencia de oscilacin depende de la tensin de alimentacin VDD, del


valor de la resistencia REXT, del valor del condensador CEXT.

OSCILADOR EXTERNO
La tercera opcin es utilizar un oscilador externo como fuente de reloj

Bits de configuracin
Permiten al usuario programar ciertas
caractersticas del PIC para adaptarlo mejor a las
necesidades de una aplicacin.
No son accesibles durante el funcionamiento
normal del uC, es decir una vez programados
no pueden ser modificados por el programa de
la aplicacin
Los bits de configuracin se agrupan en una
palabra de configuracin que ocupa la direccin
2007h de la memoria del programa.

Caractersticas que se programan en los


bits de configuracin:
Tipo de oscilador
Habilitacin o no del perro guardin
Proteccin de la memoria del programa
Proteccin de la memoria EEPROM de datos
Caractersticas de reset
Alimentacin del dispositivo, etc.

Вам также может понравиться