LCD I2Ansteuerung

Alles zum Thema I2C
Antworten
stappe
Beiträge: 1
Registriert: Sa 23. Sep 2017, 15:46

LCD I2Ansteuerung

Beitrag von stappe » So 24. Sep 2017, 10:56

Ich habe mir ein I2C LCD_Modul gekauft, und kann es nicht ansteuern. Das Problem scheint die Adresse zu sein. Die Angaben zum Modul:
LiquidCrystal_I2C lcd(0x20,2,1,0,4,5,6,7,3,POSITIVE);//Addr,En,RW,RS,d4,d5,d6,d7,backlighpin, polarity. Weiterhin steht I2C Adress:0x27.
Ich versuche die Ansteuerung mit einem Atmega 8a und Ihrem geänderten Programm.


' Datei für Attiny-Platine 2.0 mit I2C-LCD von E. Eube, G. Heinrichs und U. Ihlefeldt
' Hello-World-Programm für I2C-LCD von YwRobot
'
' Die in der Deklaration benutzten Bezeichner werden von der Library benutzt und dürfen
' nicht verändert werden.
'
' Die Hintergrundbeleuchtung kann mithilfe der Variablen lcd_backlight ein- und ausgeschaltet werden;
' allerdings wird der Zustand dieser Variablen erst durch einen folgenden LCD-Befehl
' (z. B. locate, lcd "...") an das LCD übermittelt.
' Standardmäßig wird lcd_backlight beim Initialisieren des LCDs durch die Library
' auf 1 gesetzt, so dass die Hintergrundbeleuchtung beim Start automatisch eingeschaltet wird.
'----------------------------------------------------------------------------

$regfile = "m8adef.dat" 'ATMEGA8A
$crystal = 1000000 '1 MHz
$lib "YwRobot_Lcd_i2c.lib" 'YwRobot Treiber für LCD

$hwstack = 64
$swstack = 10
$framesize = 40

LyquidCrystal

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

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

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

Ddrc = &B11111111 'Port B als Ausgangsport
'Ddrd = &B01110000 'D4, D5, D6 als Ausgang; Rest als Eingang
'Portd = &B10001111 'Eingänge auf high legen

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

Config Lcd = 16 * 2 'nicht unbedingt nötig
Config I2cdelay = 1

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 1 , 1 'Damit Backlight-Zustand an LCD übermittelt wird
End

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste