You are on page 1of 7

MANEJO DE LA MEMORIA EEPROM

El Uc PIC 16f84 cuenta con 64 Bytes de memoria EEPROM, que


pueden ser utilizado por el programador.
Esta memoria es de escritura y lectura, puden ser escrita más de
1’000.000 de veces y guarda el dato hasta más de 40 Años.
Los registros asociados con está memoria son:
EEDATA, EEADR (Banco 0)
EECON1, EECON2(Banco 1)
El Registro EEDATA contiene el dato leido o el dato que se quiere
escribir en la memoria, analogamente los hace el registro EEADR con la
direcci´pon deseada.
Para realizar una lectura hay que configurar el registro EECON1 y sus
bits son los siguientes.

El bit 0=RD se utiliza para inicializar una lectura y se debe colocar en


uno cada vez que se quiera leer
El bit 1=WR, seutiliza para inicializar una escritura en la memoria.
El bit 2= WREN, sirve para habilitar la escritura de la memoria=1
El bit3=WRERR se coloca en uno cuando no se realiza
satisfactoriamente la escritura.
El bit4= EEIF, se coloca en uno cuando la lectura termina y es capaz
de utilizado como bandera de INT si ésta es habilitada. Es el utilizado
para saber cuando el Uc terminó de escribir la memoria.
A continuación se presenta una rutina para escribir en la EEPROM.
LEER MOVF DIR,W
MOVWF EEADR
BSF STATUS,RP0
BSF EECON1,RD
BCF STATUS,RP0
MOVF EEDATA,W
MOVWF REG_AUX
RETURN
Para la utilización de esta rutina primero hay que declarar los registros:
DIR y REG_AUX.
Luego se carga a DIR con la direción deseada y se llama CALL LEER y
el dato de la memoria se obtiene en REG_AUX
Por ejemplo que se quiera leer el dato de la posición 30 de la memoria.
El código será.
MOVLW .30
MOVWF DIR
CALL LEER
MOVF REGAUX,W
En el santerior código leemos la direción 30 y el dato lo gurdamois en
el acumulador.
De manera similar se presenta una rutina para escribir en la memoria .
ESCRIBIR
MOVF DIR,W
MOVWF EEADR
MOVF DATO,W
MOVWF EEDATA
BSF STATUS,RP0
BCF EECON1,EEIF
BCF INTCON,7
BSF EECON1,WREN
MOVLW 55h
MOVWF EECON2
MOVLW 0AAh
MOVWF EECON2
BSF EECON1,WR
NADA BTFSS EECON1,EEIF
GOTO NADA
BCF EECON1,EEIF
BCF STATUS,RP0
RETURN
Esta rutina es un poco más complicada ya sigue un protocolo que el Uc
necesita para poder gurdar y además se encierra en un ciclo llamado
NADA hasta que no se haya escrito la memoria, ya que está demora unos
cuantos mSeg.
Para trabajar con esta rutina primero se deben declarar los registros:
DIR y DATO
Luego se debe cargar DIR con la dirección deseada y DATO con el dato
que se quiera guardar, y luego si se llama la rutina CALL ESCRIBIR
Por Ejemplo que se quiera escribir el numero 48 en la posición de
memoria numero 12 el código será.
MOVLW .12
MOVWF DIR
MOVLW .48
MOVWF DATO
CALL ESCRIBIR
Entre las muchas aplicaciones que se pueden implementar con la
memoria EEPROM, estan las alarmas codificadas, las cerradura
electronica,ientificación de equipos y la implementación de la vida utíl
de un equipo, o controlar las veces que se utiliza un equipo.

Cabe destarcar que antes de cargar el programa que manipule una


aplicación especifica, se deben: carga un programa primero con los datos
iniciales de la memoria EEprom usada. Y posteriormente si se puede
quemar el programa deseado, y cada vez que se olvide la clave se deberá
cargar el programa inicial, seguido del original.

You might also like