Problemas con EEPROM en PIC 16F877A

Hola gente!!!

Soy nuevo en el foro al que llegué cuando buscaba datos sobre el almacenamiento y recuperación de datos de la EEPROM de un PIC 16F877A.
El tema es que utilizo las rutinas de escritura y lectura de la EEPROM que están publicadas y sugeridas en las hojas de datos de dicho microcontrolador; pero cuando lo llevo a la práctica sucede que, algunas veces, se me modifican solos los datos almacenados en algunas
posiciones de la EEPROM, al azar.
No sucede siempre, pero con bastante frecuencia se me modifican datos en forma caprichosa, aunque no ejecute instrucciones de escritura.
Las posisiones que se modifican por si mismas son aleatorias, no se realmente que es lo que me puede estar ocurriendo.

Agradeceré cualquier ayuda y consejos al respecto.

Muchas Gracias!!!!!!!!!!!!
 
Mitutoyo2002 dijo:
Hola gente!!!

Soy nuevo en el foro al que llegué cuando buscaba datos sobre el almacenamiento y recuperación de datos de la EEPROM de un PIC 16F877A.
El tema es que utilizo las rutinas de escritura y lectura de la EEPROM que están publicadas y sugeridas en las hojas de datos de dicho microcontrolador; pero cuando lo llevo a la práctica sucede que, algunas veces, se me modifican solos los datos almacenados en algunas
posiciones de la EEPROM, al azar.
No sucede siempre, pero con bastante frecuencia se me modifican datos en forma caprichosa, aunque no ejecute instrucciones de escritura.
Las posisiones que se modifican por si mismas son aleatorias, no se realmente que es lo que me puede estar ocurriendo.

Agradeceré cualquier ayuda y consejos al respecto.

Muchas Gracias!!!!!!!!!!!!


Mitutoyo2002 te respondo aquí ya que veo me has hecho la misma pregunta en privado.

Las EEPROM se pueden borrar si hay problemas con el hardware o con una fuente muy ruidosa. Esto no es exclusivo de los PICs sino con cualquier eeprom puede suceder lo mismo.

Solucion? Hay varias

1) Activar el BrownOut Reset minimiza algunos efectos ya que si estas leyendo la eeprom en un momento en que el PIC se está encendiendo y se cae la tensión por alguna razón se sobreescribirá la posición leída con 'basura' o con valores aleatorios

2) Muy importante filtrar la fuente, si usas un 7805 usa los capacitores de compensación que indica el fabricante. Usa capacitores de .1uF a los bornes del Vdd y Vss del pic. Usa todas las conexiones Vss y Vdd que te indica el pic, no solo 2.

3) Fijate si tu circuito de reset es adecuado, si tienes duda sube una imagen del esquemático de como lo has armado y con que valores de resistencia y capacitores (si es que has usado).

Saludos
 
Atrás
Arriba