Si tu próxima aplicación para microcontroladores requiere almacenar de forma persistente configuraciones y parámetros y no deseas incluir una memoria EEPROM externa, la solución puede ser la memoria eeprom interna que incluyen la mayoría de los microcontroladores modernos.

En esta entrada compartimos nuestras rutinas para leer y escribir la memoria EEPROM interna en microcontroladores como el popular PIC16F628A, PIC16F88 y otros similares. Siendo este ultimo el que utilizaremos para esta demostración.

No es la intención explicar mucho el funcionamiento de las rutinas, ya que están basadas en lo que se encuentra en la hoja de datos, pero dejamos el proyecto completo en MPLAB X y XC8 para que quien guste pueda estudiar a fondo el tema.

Código Fuente Ejemplo memoria EEPROM Interna del PIC

Este es el archivo principal del proyecto para un PIC16F88. Puedes descargar el proyecto completo en MPLAB X más abajo.

 ¿Que hace el programa?

Se trata solamente de una demostración que hace 3 cosas muy básicas.

  • Al arrancar, el programa muestra un mensaje en el puerto serie a 9600 bps y verifica si ya escribimos algo en la EEPROM interna y si es así imprime el contenido de la memoria EEPROM.
  • Verifica constantemente si oprimimos por más de 5 segundos un botón conectado al pin RA0 y si es así escribe datos en la EEPROM interna
  • Hace parpadear un led conectado al pin RA4

El uso del programa es más o menos así: Después de grabar el programa, la EEPROM interna del PIC se encontrará en blanco, por lo que no se mostrará el mensaje inicial que informa que se encontraron datos. Mientras el led conectado en RA4 parpadea, oprimiremos el botón conectado en RA0 para iniciar la secuencia de grabación de EEPROM. El programa mostrará lo que esta grabando a través del puerto serie. Al reiniciar el PIC o retirarle la alimentación, debemos ver el mensaje al arrancar de que se han encontrado datos en la memoria EEPROM.

La siguiente captura muestra la salida del puerto serial de nuestro ejemplo:

Funcionamiento del programa de prueba para la EEPROM interna en PICs de la familia PIC16F.

Funcionamiento del programa de prueba para la EEPROM interna en PICs de la familia PIC16F.

Al leer la memoria del PIC con la herramienta del PICKit 2 vemos que aparecen los datos que nuestro programa grabó:

Captura de pantalla de la herramienta del PICKit 2, se muestran los datos grabados en la EEPROM por nuestro programa.

 Descarga del proyecto para MPLAB X

Descarga el código fuente, incluyendo el código fuente de las rutinas de acceso a la EEPROM:

 

Agradeceríamos tus comentarios sobre el código y sobre el funcionamiento de este proyecto.

Es necesario que cualquier pago sea realizado a la cuenta que la pagina muestra al crear una orden. No se aceptarán pagos a la cuenta anterior. Hasta nuevo aviso los pagos realizados vía PayPal no serán facturados. Ignorar