TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: tumamatepega en 21 de Marzo de 2009, 16:38:43

Título: Ayuda!!! no se como grabar y leer la ram interna de manera secuencial.
Publicado por: tumamatepega en 21 de Marzo de 2009, 16:38:43
Hola. :) Resulta ke debo hacer un programa en el ke necesito grabar varios registros de la memoria ram muchas veces para pasarlos en conjuntos de 8 registros a la EEPROM, osea voy a recibir datos continuamente que provienen de un teclado matricial y debo guardar cada dato en un registro diferente de la memoria ram, al llegar al 8vo dato debo transferir los 8 registros almacenados en la RAM a la EEPROM y asi sucesivamente hasta llenar la EEPROM. Es algo muy tedioso hacerlo por variables definidas el ir llenando cada una y kisiera saber si hay alguna manera de grabar y leer la RAM de manera secuencial, osea un dato detras de otro.
Gracias.
Título: Re: Ayuda!!! no se como grabar y leer la ram interna de manera secuencial.
Publicado por: migsantiago en 21 de Marzo de 2009, 17:04:11
Puedes usar el direccionamiento indirecto del PIC. Checa el funcionamiento de los registros INDF y FSR.
Título: Re: Ayuda!!! no se como grabar y leer la ram interna de manera secuencial.
Publicado por: pibe en 21 de Marzo de 2009, 18:55:31
El FSR es el que apunta la direccion y el INDF es que el que leerá el dato en esa misma dirección.

O sea:

1- Le cargas al FSR el inicio de la memoria que quieres leer (por ejemplo 20h)

2- Lees el INDF que contiene el dato en esa dirección
3- Lo guardas en la EEPROM de datos e incrementas la dirección EEprom
4- Incrementas el FSR en 1
5- Preguntas si llegó a al final de la ram (+1) que querias leer (en tu caso miras que el FSR no sea 28h)
Si llegó, entonces sales y sigues con tu programa
Sino vuelves al punto 2
Título: Re: Ayuda!!! no se como grabar y leer la ram interna de manera secuencial.
Publicado por: tumamatepega en 22 de Marzo de 2009, 16:15:40
 :) Muchas gracias ya lo pude resolver con el direccionamiento indirecto. Gracias.