Hallo,
hier mal ein Ausschnitt aus meinem Programm.
Vielleicht hilft es dir.

Code:
$regfile = "m88pdef.dat"                          'atmega88p
$crystal = 20000000                               'ext. quarz pin9+10
Baud = 9600                                       'Standard datenrate seriell für Vinculum
Open "com1:" For Binary As #1                     'pin2 data in, pin3 data out,
$hwstack = 80
$swstack = 80
$framesize = 80

'I2C LCD konfigurieren++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$lib "LCD_i2c.lib"                                'i2c Treiber
Config I2cdelay = 1
Const Pcf8574_lcd = &H40
Dim _lcd_e As Byte                                'Steuerung für 4-Zeilen LCD
_lcd_e = 128                                      'obere 4 Zeilen
Config Lcd = 20 * 4

Cls
Cursor Off
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Locate 1 , 2 : Lcd "Regenwasseranlage"
Locate 2 , 1 : Lcd "Leitungs-Druckregler"
Locate 3 , 3 : Lcd "Datenlogger fuer"
Locate 4 , 5 : Lcd "Wasservorrat"
Wait 5
Ich weiß jetzt nicht, ob was überflüssiges drin ist, jedenfalls hat es so bei mir funktioniert.
Die LCD Anschlüsse am Pcf8574 müssen aber auch zur LIB passen. Vielleicht hast du ja da einen Fehler.

Gruß
Bernd