Esto en teoria tendria que servirte:
'***************************************************************************************************
'Include "_FuncionesPic16F88.bas" **********************************************************
'By COS, 17/07/2016, 06/16, 09/15, 04/15, 12/14, 10/14, 09/14, 07/14, 06/14, 12/13
'PSI v7.41 ***************************************************************************************
'***************************************************************************************************
'***************************************************************************************************
'_Write_Single: Guarda un dato tipo Single (Float) en la EEProm.
'Call _Write_Single(V_single, Direccion EEProm)
'_Read_Single: Lee un dato tipo Single (Float) de la EEProm.
'V_single = _Read_Single(Direccion EEProm)
'---------------------------------------------------------------------------------------------------------------
'No retorna valor
'Guarda una variable tipo Single en la EEprom
'_vpaso es la variable tipo Single a guardar en la EEProm
'_direccion es un Word; posición de memoria a guardar en la EEProm
'Call _write_single(_vpaso, _direccion)
Proc _write_single(_vpaso As Single, _direccion As Word)
Write _direccion, _vpaso.LB
_direccion = _direccion + 1
Write _direccion, _vpaso.HB
_direccion = _direccion + 1
Write _direccion, _vpaso.3B
_direccion = _direccion + 1
Write _direccion, _vpaso.4B
End Proc
'Retorna valor: Single
'Lee un Single de la EEprom
'_read_single = variable tipo Single donde se almacena valor leido en EEProm
'_direccion es un Word; posición de memoria a leer de la EEProm
Function _read_single(_direccion As Word) As Single
Read _direccion, _read_single.LB
_direccion = _direccion + 1
Read _direccion, _read_single.HB
_direccion = _direccion + 1
Read _direccion, _read_single.3B
_direccion = _direccion + 1
Read _direccion, _read_single.4B
End Function
Recuerda que una variable tipo Single (Float) ocupa 4Bytes, así que te tienes que desplazar de 4 en 4 posiciones de memoria.