Você está na página 1de 4

ESPOCH

FIE
NOMBRE: Santiago Murillo

CODIGO: 426

MODOS DE DIRECCIONAMIENTO UTILIZADOS EN LOS


MICROCONTROLADOES PIC
Los llamados modos de direccionamiento son las diferentes maneras de especificar en
informtica un operando dentro de una instruccin en lenguaje ensamblador.
Un modo de direccionamiento especifica la forma de calcular la direccin de memoria
efectiva de un operando mediante el uso de la informacin contenida en registros o
constantes, contenida dentro de una instruccin de la mquina o en otra parte.

Organizacin de la memoria
Memoria de programa.
Consta de 8192 posiciones (8kwords) y contiene el programa con las instrucciones que
gobiernan la aplicacin. Es no voltil.
Memoria de datos RAM.
Guarda las variables y datos. Est formada por registros de 8 bits. Es voltil.
Memoria EEPROM de datos
Es una pequea rea de memoria de datos de lectura y escritura no voltil que permite
garantizar que determinada informacin estar siempre disponible al reiniciar el
programa.
DIRECCIONAMIENTO DIRECTO: LA MEMORIA DE DATOS (RAM).

La memoria interna se direcciona en forma directa por medio de los 8 bits f


contenidos en las instrucciones que operan sobre registros. De esta manera se puede
direccionar cualquier posicin desde la 00 a la ff.
En los microcontroladores que tengan ms de un banco, antes de acceder a alguna
variable que se encuentre en la zona de los bancos de registros, el programador deber
asegurarse de haber programado los bits de seleccin de banco en el registro fsr.
Caractersticas:

La memoria de datos est distribuida en 4 posibles bancos de 128 bytes cada


uno. Por tanto, la mxima cantidad de memoria disponible en los
microcontroladores pic16 es de 512 bytes. No obstante, no estn implementadas
todas las posiciones de memoria en todos los bancos.

Por ejemplo, un pic16f876 slo tiene implementadas 368 posiciones de memoria


de datos.

A cada posicin de memoria se le denomina registro.

La memoria de datos se organiza en bancos de 128 bytes porque cuando se


indica una direccin de operando fuente, slo se puedeincluir 7 bits en la
codificacin: 27=128 bytes

Sirve para almacenar todos los datos que se manejan en un programa.


Se distinguen dos tipos de registro:
Registros de funciones especiales: son los primeros registros. Cada uno
de ellos cumple un propsito especial en el control del pic.
Registros de propsito general: se pueden usar para guardar datos
temporales. El pic16f877 dispone de 368.
Cuenta con cuatro bancos de memoria: bancos 0, 1, 2 y 3.
Los registros de funciones especiales aparecen de la direccin 00h a 1fh
del banco 0, de 80h a 9fh del banco 1, de 100h a 10f en el banco 2 y de
180h a 18fh del banco 3. Algunos son accesibles desde dos o ms
bancos.
Los registros de propsito general ocupan 368 posiciones de memoria.

DIRECCIONAMIENTO INDIRECTO: EL REGISTRO FSR.


El registro FSR sirve como puntero para direccionamiento indirecto adems de servir
para seleccionar el banco activo. La posicin 00 del mapa de RAM es la llamada
direccin indirecta.

Si en cualquier instruccin se opera con la direccin 00, en realidad se estar operando


con la direccin a donde apunte el contenido del FSR.
Por ejemplo si el FSR contiene el valor 1ah, una instruccin que opere sobre la
direccin 0, en realidad lo har sobre la direccin 1ah. Puede decirse que la posicin
1ah de memoria fue direccionada en forma indirecta a travs del puntero FSR.
1) Se lee el registro contenido en el cdigo de la instruccin.
2) Si el registro es distinto del correspondiente a indf (00h,80h,100h 180h) la
instruccin se ejecuta sobre el registro indicado en la instruccin
complementado con los bits rp1:rp0 del registro status (direccionamiento
directo).
3) Si el registro corresponde a la posicin de indf (00h,80h,100h 180h), la
instruccin se ejecuta sobre el registro indicado en el registro FSR
complementado con el bit irp del registro status.

Ejemplo:
Este programa borra 8 posiciones de memoria a partir de la direccin 1a
Fsr equ 04

;(definicin del puntero fsr)

Movlw 8 ;prepara para repetir 8 veces


movwf dato ;(el registro dato es el contador del bucle)
movlw 1ah ;apunta a la direccin 1ah
Movwf fsr ;guarda en fsr la direccin 1ah
bucle clrf 0 ;borra una posicin de memoria (pone a cero)
incf fsr ;apunta a la siguiente
decfsz dato ;si todava no borr todas (an no es cero)
goto bucle ;salta a bucle (sigue borrando)

El direccionamiento indirecto es muy til para procesar posiciones consecutivas de


memoria (como en el ejemplo) o para el direccionamiento de datos en subrutinas.

DIRECCIONAMIENTO INMEDIATO
El dato utilizado por la instruccin se codifica al mismo tiempo que la propia
instruccin. En este caso, al dato se le denomina literal.
DIRECCIONAMIENTO RELATIVO
No existe este modo de direccionamiento en los microprocesadores PIC.

WEBGRAFIA:
http://entrrnadorpic16f84.wordpress.com/7-modos-de-direccionamiento/
http://es.wikipedia.org/wiki/modos_de_direccionamiento
http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-losmicrocontroladores/

Você também pode gostar