Found another one using I2C

Code:
'****************************************************************
'*  Name    : Ext. EEprom.BAS                                   *
'*  Author  : [GADELHAS]                                   *
'*  Notice  : Copyright (c) 2011                   *
'*          : All Rights Reserved                               *
'*  Date    : 14-08-2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          : EASYPICV6 + PIC16F887 + LCD 16X2                  *
'****************************************************************
@__CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _BOR_ON & _DEBUG_OFF & _LVP_OFF & _FCMEN_ON & _IESO_OFF  
@__CONFIG _CONFIG2, _WRT_OFF & _BOR40V

DEFINE OSC 8   
DEFINE I2C_HOLD 1

'                               VARIÁVEIS
' ====================================================================
I var byte  'VARIÁVEL DOS I2C READ AND WRITE
buffer var byte[13]
buffer1 var byte[13]
buffer[0] = "H"
buffer[1] = "u"
buffer[2] = "g"
buffer[3] = "o"
buffer[4] = " "
buffer[5] = "O"
buffer[6] = "l"
buffer[7] = "i"
buffer[8] = "v"
buffer[9] = "e"
buffer[10] = "i"
buffer[11] = "r"
buffer[12] = "a"



'                              REGISTOS PINOUT 1 = IN; 0 = OUT
' ====================================================================
         '76543210
TRISA  = %00000001 
TRISB  = %00000000 
TRISC  = %00000000 
TRISD  = %00000000 
TRISE  = %00000000
ADCON0 = 0
ANSEL  = 0 
ANSELH = 0
CM1CON0= 0
CM2CON0= 0

PORTA = 0
PORTB = 0
PORTC = 0
PORTD = 0
PORTE = 0

'                              NOMES PINOUT
' ====================================================================
LED    VAR PORTA.0
SDA    var PORTC.4
SCL    var PORTC.3

'                              DEFENIÇÕES
' ====================================================================
    DEFINE LCD_DREG PORTB       ' LCD Data bits on PORTB
    DEFINE LCD_DBIT 0           ' PORTB starting address
    DEFINE LCD_RSREG PORTB      ' LCD RS bit on PORTB
    DEFINE LCD_RSBIT 4          ' LCD RS bit address
    DEFINE LCD_EREG PORTB       ' LCD E bit on PORTB
    DEFINE LCD_EBIT 5           ' LCD E bit address
    DEFINE LCD_BITS 4           ' LCD in 4-bit mode
    DEFINE LCD_LINES 2          ' LCD has 2 rows
    DEFINE LCD_COMMANDUS 2000   ' Set command delay time in us
    DEFINE LCD_DATAUS 50        ' Set data delay time in us
      
'                             INICIO PROGRAMA
' ====================================================================
MAIN:
    HIGH LED
    PAUSE 500
    LOW LED
    PAUSE 500
    HIGH LED
    PAUSE 500
    LOW LED
    PAUSE 500
    HIGH LED
    
                 '0123456789012345  
    lcdout $FE, 1, "Teste Ext.EEprom"
    lcdout $FE,$C0," Hugo  Oliveira"
    
    GOSUB WRITEEEPROM
    GOSUB READEEPROM:
    
    lcdout $FE, 1, "Teste Ext.EEprom"
    lcdout $FE,$C0, STR buffer1\13

end
'                      SUB ROTINA - LE EEprom
' ====================================================================
READEEPROM:
    FOR I = 0 to 12  
        i2cread sda,scl,$A3, I,[buffer1[I]]
    NEXT
    RETURN  
'                      SUB ROTINA - ESCREVE EEprom
' ====================================================================
WRITEEEPROM:
    FOR I = 0 to 12
        i2cwrite sda,scl,$A2, I,[buffer[I]]
        pause 5
    next
RETURN
END