TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: valtasarr en 01 de Mayo de 2004, 14:53:00

Título: Paginas del 16F877
Publicado por: valtasarr en 01 de Mayo de 2004, 14:53:00
Estoy trabajando en una simulacion de una radio mediante un display, es decir, intento que segun que tecla del mando es pulsada la radio actue y se muestre el mensaje correspondiente a la accion el un lcd. Todo funciona bien memnos cuando e añadido mas codigo. Parece ser que los mensajes que salen en el lcd son muchos algunos de ellos estan el la pagina siguiente del pic y cuando los llamo mediante call pues salta el error. El Mpasm me dice que Crosin page boundari. Ensure taht page bits are correct. Yo estoy perdido no tengo ni idea de que es esto y menos de como se soluciona. No se puede escrivir codigo en otra pagina? Como se llama a este codigo? Ruego me ayuden por lo menos a saber de que v aesto para poder buscar algo de informacion pues no se ni por donde empezar.
Gracias
Título: RE: Paginas del 16F877
Publicado por: solid84 en 01 de Mayo de 2004, 22:38:00
checa el data sheet del 877 en el registro status se encuentra unos bits RP0 RP1 estos son para cambiar de pagina cuando tu ejecutas un goto ó un call en una rutina que se encuentra en otra pagina te marca el error que comentas pero debes tener la precaucion de el manejo de estos bits pues de lo contrario se pierde el programa  saludos
Título: RE: Paginas del 16F877
Publicado por: valtasarr en 03 de Mayo de 2004, 13:12:00
Si lo del status creo que ya me lo se pues lo utilice para guardar datos en la memori aeprom y para leerlos a si como para la configuracion de las puertas. Ahora bien para las paginas tambien se utilizan estos?? Mi informacion al respecto aumenta y tengo entendido que hay que mover el PCLATH los bit 3y 4 pero ni idea en que orden, si hay que restaurarlos, si en cada call o goto hay que hacerlo. Es mas supongo que para hacer un call a una etiqueta que esta en otra pagina hay que modificarlo previamente para que pueda hacer la llamada a esa otra pagina pero que pasa con el return? Que pasa si en esa etiqueta hay otro call? Joe es que no me enterro si viera un codigo ejemplo¡¡¡