TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: NITITA en 14 de Junio de 2008, 12:59:29

Título: bancos
Publicado por: NITITA en 14 de Junio de 2008, 12:59:29
 
Me gustaria saber porque a veces trabajo en Banco 0 y otras en Banco1.
por ejemplo... para configurar las salidas/entradas ,...optionreg,..siempre hay que hacerlo en el Banco1 ??
y una vez hecho todo tengo que pasarme al banco 0 para implementar el programa??

Siempre es asi???

Un saludoOOo!
Título: Re: bancos
Publicado por: firepic en 14 de Junio de 2008, 13:17:17
Pequeña princesa, saludos!

En muchos pics comunes, la memoria RAM se encuentra organizada en bancos... entonces para poder tener acceso a los registros que están en esos bancos, hay que asegurarse de "estar" en ese banco.
Aquí te dejo el mapa de memoria para un pic común, el PIC16F876A:

(http://img129.imageshack.us/img129/9664/bancoskb6.th.png) (http://img129.imageshack.us/my.php?image=bancoskb6.png)

Como ves, tiene cuatro bancos. Como ves, los TRISx y el registros de opciones están en el banco 1.
Por eso tenemos que cambiarnos de banco para accesar a ellos.

Pero los puertos están en el banco0, esa es una de las razones por las que ese es el banco que más usamos...
Sin embargo, uno puede declarar variables en diferentes bancos, y accesar a ellos para obtener sus valores...

Aparte de la conocida forma de variar los valores de RP0, RP1 del registro status para accesar a los bancos, también se puede hacer por direccionamiento indirecto.
En este caso, el valor de IRP, junto con el bit 7 del registro FSR, los que definen el banco en el que se "está".

Espero haberte ayudado con tu inquietud.
Cuídate, nos leemos!  :mrgreen:
Título: Re: bancos
Publicado por: NITITA en 14 de Junio de 2008, 14:23:52
siiii gracias!! :)
Título: Re: bancos
Publicado por: firepic en 14 de Junio de 2008, 14:44:47
Me alegra haberte ayudado.
Y recuerda, siempre lee las datasheets, son muy aclaratorias.
Saludos, nos leemos!  :mrgreen: