Saltar al contenido
Control Automático Educación

Almacenamiento en memoria externa EEPROM

En esta entrada aprenderas a programar una Memoria EEPROM para cualquier PIC, puede ser el pic18F4550, PIC 16F877A, etc. No importa cual PIC uses, aquí entenderás como poder almacenar datos usando una eeprom, al final del post te dejo un código de ejemplo hecho en un PIC 16F887 para que lo bajes y lo pruebes en tu pic, solo cambiando el encabezado.

Antes que nada puedes visitar EL CURSO GRATIS DE MICROCONTROLADORES PIC

Y las LISTAS DE REPRODUCCIÓN DE YOUTUBE

Memoria EEPROM Externa con PIC

Como se tiene limitaciones para almacenar información en la memoria eeprom interna, hay memorias eeprom seriales externas con diferente capacidad que permiten almacenar mayor información. En el compilador hay drivers que permiten manejar diferentes memorias eeprom externas seriales entre ellos se tiene la memoria 24LC04B.

La conexión de la memoria eeprom externa es la siguiente:

Memoria eeprom externa pic

Preparé el siguiente video donde te explico el código implementado para utilizar el almacenamiento de memoria externa EEPROM con el PIC, con su respectiva explicación y como podemos simularlo por medio del proteus, para que posteriormente podamos llevarlo a la practica. No olvides suscribirte a mi canal de youtube dando click en el siguiente botón, para que puedas recibir toda la información que allí voy publicando.

También te podría interesar aprender como programar la EEPROM con Arduino.

 
 
 

Programación en CCS Compiler PIC C

Los pasos que se deben seguir para almacenar datos en memoria eeprom externa son:
1. En el encabezado del programa incluir el driver para manejar la memoria eeprom externa (en el ejemplo se trabaja con la 24LC04B)

2. En el programa principal inicializar la memoria

3. Para escribir en la memoria se utiliza la instrucción

Dirección: esta limitada por la capacidad de la memoria eeprom externa.
Valor: es un byte.
Esta función puede durar varios milisegundos.
Para leer el contenido de la memoria eeprom externa se utiliza la siguiente instrucción:

Ejemplo del uso de la memoria  EEPROM externa con PIC

Con un teclado telefónico, un LCD y una memoria eeprom externa digitar 4 números y luego recuperarlos, en el LCD mostrar el valor digitado y el valor recuperado.

eeprom externa 2404 con pic

Código de Implementación:

A continuación se presenta el código para que lo copies y lo pegues en tu compilador y puedas reproducirlo. Recuerda que para ver el código debes compartir o darle me gusta al contenido de este post para que más personas se beneficien de esta información.

El siguiente código está hecho en el PIC 16F887, pero si deseas usar el código en otro PIC, debes solo cambiar el encabezado, te dejo dos ejemplos de como queda el encabezado para el 18F4550 y para el 16F877A

INCLUDE<16f877A.h> //PIC16F877A

INCLUDE<18F4550.h> // PIC18F4550

Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Comentarios (5)

HOLA SERGIIO BUENAS TARDES DESDE ESPAÑA ENORABUENA POR TU CANAL ESTOY APRENDIENDO BASTATNTE TE ESCRIBO PORQUE TENGO UN PROBLEMILLA CON ESTE TEMA DE LA MEMORIA EEPROM EXTERNA Y ES QUE EL PROGRAMA CUANDO LO EJECUTO EN PROTEUS EMPIEZA BIEN ME PONE EN DISPLAY DIGITANDO PERO CUANDO DIGITO EL PRIMER CARACTER SE MUESTRA PERO LOS SUIGUIENTES NO Y EL BUS I2C ESTA COMO MULTIPLEXANDO EN VEZ DE ESTAR EN ESTADO UNO COMO VEO EN EL VIDEO EL CODIGO ES EL MISMO LE HE DADO MUCHAS VUELTAS Y NO VEO EL PROBLEMA SIN EMBARGO CUANDO COMENTO LA LINEA ” WRITE_EXT_EEPROM(DIR,K); ME FUNCIONA BIEN EL TECLADO ES COMO SI NO PUDIERA TRABAJAR CON LA MEMORIA EEPROM .PERDONA POR MI IGNORANCIA Y ESPERO TU RESPUESTA GRACIAS UN SALUDO

Responder

Hola Fran, te recomiendo siempre bajes el código directamente desde el sitio web, bien sea copiando el código o bajandolo directamente en el link. Los códigos del sitio web son más actualizados que el mostrado en los videos, los cuales se van mejorando con el pasar del tiempo para solucionar todos esos tipos de inconvenientes que los usuarios reportan. Verifiqué el código que está en el botón de descarga y está funcionando correctamente, dale un vistazo. Saludos

Responder

buanas otra vez sergio el codigo lo he copiado del sitio web, siempre lo hago es el mismo ,no se si sera por proteus he leido por ahi que para estas memorias tipo 24lc…. en proteus se deben utilizar unas resistencias especiales pullups y no las genericas analogicas si no el bus no va bien .probare con eso y te cuento gracias sergio

Responder

HOLA SERGIO ,YA LO SOLUCIONE . AL FINAL ERA LO QUE TE COMENTE DE LAS RESISTENCIAS PULL UPS DE PROTEUS “PULLUP DSIMMDLS DIGITAL PRIMITIVE MODEL OF A PULL UP-RESISTOR” ESTAS RESISTENCIAS ESTAN EN EL MENU COMPONENTES ,PERO TAMBIEN SIRVEN LAS GENERICAS CAMBIANDOLAS DE ANOLOGICAS A DIGITALES .MUCHAS GRACIAS Y PERDONA MI IGNORANCIA UN ABRAZO

Responder

Excelente Fran, me alegra hayas podido solucionar el inconveniente. Saludos y muchos éxitos en tu estudio del microcontrolador PIC.

Responder