Code:
'ARDUINO IIC LCD GY-LCD-V1
'PIC 12F629
'PRINTS " HELLO RCG!_"
Define OSC 20               
DEFINE I2C_SLOW 1           
CMCON = $7           
OPTION_REG.7 = 0
C VAR GPIO.1         
D VAR GPIO.0
ADDR VAR BYTE           
ADDR = $40
CMD VAR BYTE
LCD_CMD VAR BYTE            
E VAR LCD_CMD.BIT4    
RS VAR LCD_CMD.BIT6
E=0:RS=0
LCD_CMD = 0
PAUSE 1000                  
LCD_CMD = $2 
GOSUB LCDWRITE     
GOSUB LCDWRITE       
LCD_CMD = $8  
GOSUB LCDWRITE       
LCD_CMD = $0  
GOSUB LCDWRITE
LCD_CMD = $E
GOSUB LCDWRITE       
LCD_CMD = $0  
GOSUB LCDWRITE
LCD_CMD = $6
GOSUB LCDWRITE       
RS=1  
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $48
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $45
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $4C
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $4C
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $4F
GOSUB LCDWRITE
LCD_CMD = $42   
GOSUB LCDWRITE
LCD_CMD = $40
GOSUB LCDWRITE
LCD_CMD = $45   
GOSUB LCDWRITE
LCD_CMD = $42
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $43
GOSUB LCDWRITE
LCD_CMD = $44   
GOSUB LCDWRITE
LCD_CMD = $47
GOSUB LCDWRITE
LCD_CMD = $42   
GOSUB LCDWRITE
LCD_CMD = $41
GOSUB LCDWRITE
RETURN
LCDWRITE:
I2CWRITE D,C,ADDR,[LCD_CMD]
E=1
I2CWRITE D,C,ADDR,[LCD_CMD]
E=0
I2CWRITE D,C,ADDR,[LCD_CMD]
RETURN
END