hola que tal
yo tamnbien tengo muchas dudas sobre esto del PCL y el cambio de paginas, ya que no se cuando
hay que efectuar tal cambio , pues por lo que me ha pasado y he leido pienso que dicho cambio
debe efectuarse o cuando en una tabla el PCL se pasa de .255 o cuando el codigo de programa
sobrepasa los 2K, no estoy seguro y por eso escribo, ademas porque me pasan dos situaciones que creo yo que tienen
que ver con eso y son las siguientes:
yo estoy programando un 16F877A en asm
mi programa contiene datos para visualizar en una LCD y uun teclado que funciona por interrupcion
en la parte alta del puerto B; como el programa contiene un menu entonces yo utilizo varias tablas
que son las que van mostrando los mensajes en la LCD, analizando el programa hay una parte donde comienza una tabla
posicion para la cual el PCL me muestra que se encuentra en .254 lo que causa que cuando
me va a empezar a mostrar este mensaje el pic vuelve inmediatamente al primer pantallazo
como si hubiese habido un resetpues leyendo me doy cuenta que es porque el PC se desborda leyendo
sobre creo que es porque tengo que cambiarme de pagina; pero como hago esto, no se usar dichas instrucciones para esto
ademas me queda la duda si esto solo lo tengo que hacer en caso del que el PC se desborde mientras corre la tabla es decir digamos que
la tabla acabo de correr bien entonces luego el PC vuelve a empezar y si entonces sigue otra tabla no hay problema?
es que como ya dije mi programa tiene varias tablas y tambien me ocurre que una tablas mas adelante en el programa
el PC me muestra que esta en .6 pero lo que realmente me visualiza el LCD es parte del mensaje
de la primera tabla que tengo en el programa.
otra situacion que me ocurre es que como el teclado funciona por interrupcion, yo pues la subrutina de interrupcion casi al final del programa
y todo iba muy bien, pero a medida que le iba metiendo mas codigo me sucedia que el programa me
mostraba el primer pantallazo perfectamente pero el teclado no servia es decir no se efectuaba la
interrupcion, simule en el MPLAB y todo funciona perfecto, compile y no me salio ni un
error y ningun warning; pude solucionar esto provicionalmente pasando la subrutina de interrupcion
para las primeras lineas de programa, pero entonces me queda la duda de saber si la instruccion
GOTO tiene un limite de lineas de salto, porque yo inicialmente pense que era por lo mismo
de las paginas pero llevo aproximadamente 1000 lineas y tengo entendido que son aproximadamente 2000
por pagina, o es que acaso las interrupciones tienen tambien limitaciones en cuanto a esto.
tambien si alguien sabe quisiera que me dijera como saber cuanto lleva uno de memoria de codigo
es decir como saber que uno lleva 2K o menos o mas para asi saber cuando efectuar el cambio de pagina
y como hacerlo.
gracias
espero pronta respuesta