Hallo Robert,
die Ansteuerung des Displays läuft jetzt:
jetzt müssen wir in den Bascomkeller hinuntersteigen und die "Anschlüsse" suchen. Gibts da nicht nen Hausmeister?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







Zitieren

Lesezeichen