TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: sanbentan en 10 de Julio de 2009, 18:59:16

Título: Manejo de tablas PIC 16f87x
Publicado por: sanbentan en 10 de Julio de 2009, 18:59:16
Buenas a todos. Hoy es mi primer dia en el foro  :). Llegue buscando algun tutorial sobre manejo de tablas. No encontre ninguno que me sirva  :(. El tema es el siguiente. Tengo examen el 12/07 y no se bien como usar tablas. Hasta el momento lo que se hacer por lo que lei en diferentes foros es moverme en la tabla. Lo que quisiera saber, si alguien me puede ayudar, es como crear una tabla y como escribo en la misma. O sea me muevo en la tabla modificando el FSR pero no se como, una vez que estoy posisionado en la tabla como escribo en esa posicion.

Muchas gracias desde ya ! Espero me puedan ayudar  :mrgreen:
Título: Re: Manejo de tablas PIC 16f87x
Publicado por: Suky en 10 de Julio de 2009, 19:22:48
Usa el Buscador! Aquí (http://www.todopic.com.ar/foros/index.php?topic=24720.0) explico un poco sobre el manejo de tablas y direccionamiento indirecto
Título: Re: Manejo de tablas PIC 16f87x
Publicado por: sanbentan en 14 de Julio de 2009, 09:00:13
Buenisimo, gracias ! De todas formas no se como cargar una tabla con valores que voy tomando a medida que corre el programa :?.

Si alguien me ayuda de mas  :D
Título: Re: Manejo de tablas PIC 16f87x
Publicado por: sanbentan en 14 de Julio de 2009, 11:45:59
Listooo ! Ya averigue ! Muchas gracias =  :-/...
Título: Re: Manejo de tablas PIC 16f87x
Publicado por: Leon Pic en 14 de Julio de 2009, 11:50:41
Nota, falló el servidor y no pude publicar antes.

El pic no escribe en la tabla, lo que hace es leer en la tabla y retorna o se dirige a un lugar específico para continuar.
Como programador, TU escribes la tabla con todos los valores que se van a utilizar.
La decisión a que parte de la tabla tiene que dirigirse el CP dependerá de como tiene que ir "decidiendo" el pic de acuerdo a sucesos que van pasando.

Por ejemplo, tu quieres que en un display de led se muestre sucesivamente los números del 0 al 9 y en la tabla está la codificación en binario para mostrar en el display.
Del 0 al 9 hay 10 posiciones, entonces tienes que contar del 1 al 10, y por cada cuenta consultas a la tabla.

Por ejemplo, tenemos la variable contar. Los pasos que debes hacer es lo siguiente:

1. Borrar variable contar
2. ¿vale 10 la variable contar?
3. si, salgo.
4. No, Sumo 1 a contar y lo guardo en W
5. Llamas a tabla, por la rutina CALL
6. Cuando termina vuelve aquí y pasas del registro w al portb que es dónde está conectado el display
7. Volves a la posición 2

Fijate en este ejemplo  de Suky (http://www.todopic.com.ar/foros/index.php?topic=24720.msg201401#msg201401)