BASCOM Lib für I²C LCD Modul von eBay

OP #4438351
Lesenswert?

Hallo liebes Forum,
ich bin neu hier und habe auch gleich eine Frage:

Ich suche für BASCOM eine Lib, um über I²C Modul mit einem PCF8574 (von 
eBay; Bild im Anhang) ein 20x4 LCD anzusteuern.

Es gibt ja einige Libs im Internet, allerdings habe ich noch keine 
gefunden, welche mit der Anschlussbelegung des Moduls vom eBay 
übereinstimmt.

Die Anschlussbelegung des Moduls ist folgende:

P0 : RS
P1 : RW
P2 : E
P3 : Backlight LCD
P4 : D4
P5 : D5
P6 : D6
P7 : D7

Ich hoffe, ihr könnt mir helfen!

Alexander_43
Angehängte Dateien:
OP #4438380
Lesenswert?

Leider haben die fertigen Module meines Wissens nach immer dieselbe 
Belegung und ich würde halt gerne dieses Modul verwenden, da ich es 
schon gekauft habe. Vor dem Kauf hätte ich nicht gedacht, dass das mit 
der Lib so ein Problem wird.
Vielleicht kennt ja aber auch jemand eine Lib, bei der ich die Pins 
individuell konfigurieren kann?

Vielen Dank für die Hilfe im Voraus!
OP #4438846
Lesenswert?

Vielen Dank für die Antwort!

Soweit läuft das Ganze auch, allerdings möchte ich Hardware I²C 
verwenden. Dazu habe ich die "i2c_twi.lbx" reingeladen und das config 
SCL/SDA weggelassen. Das Ganze funktioniert soweit auch. Allerdings 
bringt BASCOM mit der "i2c_twi.lbx" und ohne das config SCL/SDA mehrere 
Fehlermeldungen. Funktionieren tut es trotzdem.

Mein Problem ist nur, dass meine gemessene Bus-geschwindigkeit (Oszi an 
SCL) bei 2,85 KHZ liegt, obwohl ich Config Twi = 100000 angegeben habe. 
Da ich später noch eine DS1307 im Bus mit anschließe, kann ich maximal 1 
kHz Busgeschwindigkeit haben.

Ich hoffe, jemand weis eine Lösung für die Probleme.
Vielen Dank im Voraus!

Hier mein code:


$regfile = "M8adef.dat"
$crystal = 8000000
$hwstack = 50
$swstack = 50
$framesize = 100

'Config Scl = Portc.5 
'Konfigurieren von I2C
'Config Sda = Portc.4



$lib "YwRobot_Lcd_i2c.lib"   'YwRobot Treiber für LCD
$lib "i2c_twi.lbx"
Config Twi = 100000


'**********************************************************
'******************* Deklarationen ************************

Const Pcf8574_lcd = 126              'Adresse des I2C-LCDs
Dim Lcd_backlight As Byte  '1 = an; 0 = aus. Wird erst durch einen 
'LCD-Befehl umgesetzt!

'****************** Initialisierung ***********************

Config Lcd = 20 * 4
Waitms 300      'warte bis Kondensator bei Ta0 geladen, auch für 
LCD-Init!


'**********************************************************
'******************** Hauptprogramm ***********************

Cls
Lcd "Hello world!"
Wait 1
Lcd_backlight = 0
Locate 2 , 1
Lcd "2. row..."
Wait 2
Lcd_backlight = 1
Locate 3 , 1
Lcd "3. row..."
Locate 4 , 1
Lcd "4. row..."
End

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren