Hallo Robert,

die Ansteuerung des Displays läuft jetzt:

Code:
'###############################################################################
'#                                                                             #
'#    I2C-Display mit PCA 9555D                                                #
'#                                                                             #
'#    (c) Günter Gerold                                                        #
'#                                                                             #
'#    Zum Pin sparen kann ein LCD-Display auch an einen I2C-Bus gehängt werden #
'#    Die eingebauten Bascom-Befehle gehen (noch) nicht                        #
'#    Der Zeilenumbruch erfolgt automatisch                                    #
'###############################################################################

$regfile = "m8def.dat"
$crystal = 8000000

Config Scl = Portc.5                                        'Configure I2C SCL
Config Sda = Portc.4
Const Pca9555_lcd = &H40                                    'Addresse des ICs

Declare Sub Config_To_lcd(byval Configbyte As Byte)
Declare Sub Data_to_lcd(byval Databyte As Byte)

Dim I As Byte
Dim Puffer As Byte
Dim Text As String * 16
Dim Textarr(16) As Byte At Text Overlay

I2cstart                                                    'Hier werden die Ausgänge des ICs gesetzt
I2cwbyte Pca9555_lcd
I2cwbyte &H06
I2cwbyte &H00
I2cwbyte &HE8
I2cstop

Call Config_to_lcd(&H3c)                                    'Function Set
Call Config_to_lcd(&H0f)                                    'Display on/off
Call Config_to_lcd(&H01)                                    'clear Display
Call Config_to_lcd(&H06)                                    'Entry Mode Set

Text = "Hallo   Robert  "

For I = 1 To 16
Puffer = Textarr(i)
If I = 9 Then                                               'Das Display hat 2*8 Zeichen
 Call Config_to_lcd(&Hc0)                                   'Beim 9. Zeichen wird auf die untere Zeile geschaltet
End If
Call Data_to_lcd(puffer)
Next

Do
Loop

Sub Config_to_lcd(configbyte)
    I2cstart
    I2cwbyte Pca9555_lcd
    I2cwbyte &H02
    I2cwbyte Configbyte
    I2cwbyte &H01
    I2cstop
    Waitms 2
    I2cstart
    I2cwbyte Pca9555_lcd
    I2cwbyte &H03
    I2cwbyte &H00
    I2cstop
End Sub
Sub Data_to_lcd(databyte)
    I2cstart
    I2cwbyte Pca9555_lcd
    I2cwbyte &H02
    I2cwbyte Databyte
    I2cwbyte &H05
    I2cstop
    I2cstart
    I2cwbyte Pca9555_lcd
    I2cwbyte &H03
    I2cwbyte &H04
    I2cstop
End Sub
jetzt müssen wir in den Bascomkeller hinuntersteigen und die "Anschlüsse" suchen. Gibts da nicht nen Hausmeister?