Practica 24LC256 - LCD
Practica 24LC256 - LCD
Practica 24LC256 - LCD
Office: 0-45102623
Mail: [email protected]
Guayaquil – Ecuador
PRACTICA #9
Aprender a guardar datos en una memoria EEPROM externa por comunicación I2C.
Mostrar los datos y las direcciones de la memoria EEPROM externa en el LCD.
DESCRIPCION:
El presente proyecto hace uso del interruptor S1-S2, LCD y memoria EEPROM, por lo que vamos a
tener tres estados posibles.
1. Al estar ambos botones sin presionar se realizara una operación de LECTURA y se mostrara
en el LCD la dirección de la memoria y el dato que está leyendo.
2. Al presionar S1 se ejecuta la operación BORRAR, en esta etapa se borraran todos los datos
de cada dirección dejando los datos que vienen de fábrica, 0xFF.
3. Al presionar S2 se ejecuta la operación ESCRIBIR, se escribirá datos en cada dirección de la
memoria EEPROM.
Nota: El punto dos y tres puede tardar entre tres a cuatro minutos así que en el caso de ver
demora no desesperar, para comprobar que se terminó el proceso se puede verificar con los
LED, ya que van a estar apagados
DESARROLLO:
Para realizar el práctica planteado es necesario ubicar algunos JUMPER de tal manera que permita
el uso de los componentes necesarios para este práctica.
1/8 Página
2. Para hacer uso de los pulsadores S1 y S2 tenemos que ubicar el JUMPER que esta alado
de los botones en la posición EN (Enable=Habilitado) para ambos pulsadores como se
muestra en la figura.
3. Para realizar la comunicación I2C es necesario dos resistencias pull-up conectadas a ambos
buses de comunicación, estas se habilitan ubicando ambos JUMPER en posición EN como
se muestra en la figura.
2/8 Página
5. Circuito Implementado
3/8 Página
PROGRAMACION:
'*******************************************************************************
'******************* Ideas & Tecnología **************************
'******************* Módulo Desarrollo PIC16F887 I&T **************************
'******************* www.ideastechnology.com **************************
'
' * Nombre proyecto:
' EEPROM_LCD
' * Descripción:
' Hacer el uso de una memoria externa EEPROM por comunicación i2c a través
' del módulo desarrollo PIC16F887 I&T en donde están designado el chip select
' A0 = 0
' A1 = 0
' A2 = 0
' donde el byte de control es 0xA0
' * Configuraciones:
' Microcontrolador: PIC16F887
' Oscillator: INT_RC_OSC_NOCLKOUT, 8MHz
' Compilador: MikroBasic 3.2
'*******************************************************************************
program EEPROM_LCD
main:
PORTB = 0X00
' Registro Puerta E
TRISE = 0X04 ' Porte.2 como entrada digital, los demás salidas
PORTE = 0X00
delay_ms(250)
delay_ms(250)
inc(i)
Página
end if
wend
'' ESCRIBIR EN LA EEPROM
if Button(PORTE, 2, 1, 0) then
for i=0 to 0x7FFF ' Recorremos todas las direcciones de memoria
escribe_eeprom(hi(i), lo(i), num_temp)
inc(num_temp) ' Incrementamos el valor a guardar en la memoria
PORTD = 0XFF ' Encendemos los leds indicando el trabajo
next i
PORTD = 0X00 ' Apagamos los leds indicando el terminado
end if
'' BORRAR LA ESPROM
if Button(PORTB, 0, 1, 0) then
for i=0 to 0x7FFF ' Recorremos todas las direcciones de memoria
' por defecto el valor de la eeprom es 0xFF
escribe_eeprom(hi(i), lo(i), 0xFF)
PORTD = 0XFF ' Encendemos los leds indicando el trabajo
next i
PORTD = 0X00 ' Apagamos los leds indicando el terminado
end if
wend
end.
'*******************************************************************************
'******************* Ideas & Tecnología **************************
'******************* Módulo Desarrollo PIC16F887 I&T **************************
'******************* www.ideastechnology.com **************************
'*******************************************************************************
7/8 Página
NOTA: Para un mejor entendimiento del funcionamiento de la práctica se recomienda leer todos
los comentarios puestos durante la programación, ahí se explica de manera detallada todo el
proceso.
Contáctenos:
: youtube.com/ideastecnology
: facebook.com/ideastechnology
: twitter.com/ideastechnology
8/8 Página