lectura/escritura EEPROM de datos pic16F76

buenos dias...
Estoy haciendo un programa con un PIC 16f876 y estoy teniendo problemas con escribir/leer en la memoria eeprom de datos... Estoy escribiendo en la memoria segun las intrucciones especificadas por el datasheet del fabricante, y esta funcionando bien pero cuando le quito la alimentacion el dato escrito dura uno o dos dias (el tiempo que tarda en descrgarse el capacitor de la fuente que lo alimenta), y si saco el chip del socalo se borra inmeditamente... entiendo que en la memoria EEPROM de datos, el valor escrito deberia permanecer aun dejando completamente sin alimentacion el pic...esto es correcto verdad?
alguien tiene alguna idea de que puede estar pasando ?? o le ha ocurrido algo similar?? estoy programando en assembler...estas son las lineas estandar de escritura:

BSF STATUS, RP1 ;
BSF STATUS, RP0 ;Bank 3
BTFSC EECON1, WR ;Wait for
GOTO $-1 ;write to finish
BCF STATUS, RP0 ;Bank 2
MOVF ADDR, W ;Address to
MOVWF EEADR ;write to
MOVF VALUE, W ;Data to
MOVWF EEDATA ;write
BSF STATUS, RP0 ;Bank 3
BCF EECON1, EEPGD ;Point to Data memory
BSF EECON1, WREN ;Enable writes
;Only disable interrupts
BCF INTCON, GIE ;if already enabled,
;otherwise discard
MOVLW 0x55 ;Write 55h to
MOVWF EECON2 ;EECON2
MOVLW 0xAA ;Write AAh to
MOVWF EECON2 ;EECON2
BSF EECON1, WR ;Start write operation
;Only enable interrupts
BSF INTCON, GIE ;if using interrupts,
;otherwise discard
BCF EECON1, WREN ;Disable writes

Agradeceria mucho alguna ayuda.
saludos !!!
 
Atrás
Arriba