4.10 Ejemplo 8
Utilizar memoria EEPROM
Este ejemplo muestra cómo escribir y leer la memoria EEPROM incorporada. El programa funciona de la siguiente manera. El bucle principal lee constantemente el contenido de localidad de la memoria EEPROM en la dirección 5. Luego el programa entra en el bucle infinito en el que el puerto PORTB se incrementa y se comprueba el estado de entradas del puerto PORTA.2. En el momento de presionar el botón denominado MEMO, un número almacenado en el puerto PORTB será guardado en la memoria EEPROM en la dirección 5, directamente leído y visualizado en el puerto PORTD en forma binaria.

'Cabecera******************************************************
program example_8 ' Nombre de programa
main: ' Inicio del programa
ANSEL = 0 ' Todos los pines de E/S se configuran como digitales
ANSELH = 0
PORTB = 0 ' Valor inicial del puerto PORTB
TRISB = 0 ' Todos los pines del puerto PORTB se configuran como salidas
PORTD = 0 ' Valor inicial del puerto PORTB
TRISD = 0 ' Todos los pines del puerto PORTD se configuran como salidas
TRISA = 0xFF ' Todos los pines del puerto PORTA se configuran como entradas
PORTD = EEPROM_Read(5) ' Leer la memoria EEPROM en la dirección 5
while 1 ' Bucle infinito
PORTB = PORTB + 1 ' Incrementar el puerto PORTB en 1
Delay_ms(100) ' Tiempo de retardo de 100mS
while not PORTA.B2 ' Quedar en este bucle hasta que el botón esté pulsado
if not PORTA.B2 then
EEPROM_Write(5,PORTB) ' Si se pulsa el botón MEMO, guardar el puerto PORTB
PORTD = EEPROM_Read(5) ' Leer el dato escrito
end if
wend
wend
end. ' Final de programa
Para que este ejemplo funcione apropiadamente, es necesario marcar la librería EEPROM en la ventana Library Manager antes de compilar el programa:
Para comprobar el funcionamiento de este programa, basta con pulsar el botón MEMO y apagar el microcontrolador. Después de reiniciar el dispositivo, el programa visualizará en el puerto PORTD el valor guardado en la memoria EEPROM en la dirección 5. Acuérdese de que en el momento de escribir, el valor fue visualizado en el puerto PORTB.