i have this code for the max519, i hope this helps you:

DEFINE NO_CLRWDT 1
DEFINE OSC 20
DEFINE LCD_DREG PORTB ' Se establece el puerto de datos
DEFINE LCD_DBIT 4 ' Se establece el bit de inicio de los datos
DEFINE LCD_RSREG PORTB ' Se establece el puerto de R/S
DEFINE LCD_RSBIT 1 ' Se establece el bit R/S
DEFINE LCD_EREG PORTB ' Se establece el puerto de E
DEFINE LCD_EBIT 0 ' Se establece el bit E
ADCON1=7
PAUSEUS 1

SDA VAR PORTA.2
SCL VAR PORTA.3
I2C_READ CON 1
I2C_WRITE CON 0
I2C_OUT VAR BYTE
I2C_IN VAR BYTE[2]
I2C_ACK VAR BIT

a var word
a=0

top:
GOSUB CONFIG_REGISTER
GOSUB START_CONVERT
IF PORTA.1=1 THEN GOTO SALIDA
a=a+1
GOTO TOP

CONFIG_REGISTER:
GOSUB I2C_START
I2C_OUT=%10010000
GOSUB I2C_TX
I2C_OUT=$AC
GOSUB I2C_TX
I2C_OUT=$00
GOSUB I2C_TX
GOSUB I2C_STOP
RETURN

START_CONVERT:
GOSUB I2C_START
I2C_OUT=%01000000
GOSUB I2C_TX
I2C_OUT=%00000000
GOSUB I2C_TX
I2C_OUT=a
gosub i2c_tx
GOSUB I2C_STOP
RETURN

I2C_START:
HIGH SDA
HIGH SCL
LOW SDA
LOW SCL
RETURN

I2C_STOP:
LOW SDA
HIGH SCL
HIGH SDA
PAUSE 1
RETURN

I2C_TX:
SHIFTOUT SDA,SCL,1,[I2C_OUT]
SHIFTIN SDA,SCL,0,[I2C_ACK\1]
RETURN

SALIDA:
LCDOUT $FE,1,DEC A
END