;*****************************************************************************
; RUTINAS PARA GRABAR Y LEER EN LA EEPROM INTERNA DE UN PIC
;*****************************************************************************
; variables necesarias
CBLOCK
eepromdata ; datos a la eeprom
eepromaddr ; direccion de la eeprom
ENDC
;*****************************************************************************
; grabación de EEPROM
;*****************************************************************************
grabaEEPROM
movf eepromdata,w ;aquí va el dato a escribir en EEPROM
bsf STATUS,RP0 ;cambiar a Banco 1
bsf EECON1,WREN ;habilitar grabación de EEPROM
movwf EEDATA ;poner dato en en EEDATA
movlw eepromaddr ;dirección de EEPROM
movwf EEADR ;ponerla en EEADR
movlw h'55'
movwf EECON2 ;comando
movlw h'aa'
movwf EECON2 ;comando
bsf EECON1,WR ;agregar el dato en la EEPROM
btfsc EECON1,WR ;esperar a que termine (10 ms)
goto $-1
bcf STATUS,RP0 ;cambiar a Banco 0
return
;*****************************************************************************
; lectura de EEPROM
;*****************************************************************************
leeEEPROM
bsf STATUS,RP0 ;cambiar a Banco 1
movlw eepromaddr ;dirección de EEPROM
movwf EEADR ;ponerla en EEADR
bsf EECON1,RD ;operación de lectura
movf EEDATA,w ;leer dato desde EEPROM
bcf STATUS,RP0 ;cambiar a Banco 0
movwf eepromdata ;guardar el dato
return
|