TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: luisbee en 29 de Diciembre de 2012, 23:14:31
-
Hola amigos de Todopic mi nombre es Luis y soy estudiante de Electronica. Hace unos dias estoy intentando realizar un programa para controlar 8 display de 14 segmentos multiplexandolos, en el cual debe mostrarse un mensaje que estara moviendose hacia la izquierda, este mensaje podra ser reescrito mediante un teclado matricial ( que sera controlado por un pin del pic ), similar a los programas para controlar matrices de leds.
Para todo esto utilizo el pic16f877a, dos 74hc164 (que sirven para los segmentos) y algunos otros CI mas, entonces primero me puse a realizar las rutinas para la multiplexacion ( poner el dato en el 74164, luego energizar el display que corresponda, etc), y luego ya me iba a encargar de que el mensaje pueda ser reescrito, y salio todo bien en la simulacion mostrandose dos letras M y U ( intento escribir multiplexacion en los display), pero al momento de escribir el codigo para que salga la letra L el proteus me dice que hay un desbordamiento del stack ; tengo entendido que esto ocurre solo cuando hay subrutinas anidadas grandes, y mi programa no lo tiene, entonces intente simularlo paso a paso con el mplab,y al hacerlo el programa da saltos donde no deberia (no puedo explicarmelo).
Bueno se que el problema es confuso pero le adjunto todos los archivos que tengo para que por favor me ayuden a detectar y solucionar el problema. En el programa que esta en el mplab hay una parte del codigo que esta de color verde, esa seccion es para que se muestre la letra L y salga MUL en los displays, y es donde surge el problema; bueno espero que me hayan entendido y que puedan ayudarme gracias.
-
Bienvenido al foro.
Si hay saltos inesperados en ese programa seguramente se deba a problemas con la paginación de la FLASH de esa familia de PICs. Hay mucho material y se ha discutido y explicado ampliamente este tema. Acá maunix explica un método para poder trabajar con tablas en cualquier ubicación de la FLASH:
http://www.todopic.com.ar/foros/index.php?topic=12918.0
Saludos.