LCD Display I2C

OP (Firma: Privat) #4954803
Lesenswert?
• ▲
▼
Wir (Kollege und Ich) haben ein Messgerät erstellt. Zuvor haben wir die 
Anzeige herkömmlich angesteuert. Um Ports einzusparen sind/wollen wir 
die
Ansteuerung des Displays über den I2C Bus ausführen. Im Netz haben wir 
einige Beispiele hierzu gefunden.

Leider bekommen wir unser Programm bzw. das Display nicht zum laufen.
Sobald wir einer der folgenden Libraries im Programm Ablauf einfügen 
(haben wir natürlich in den LIB-Ordner kopiert) hängt das Programm

$lib "Lcd_i2c.lib"
$lib "YLcd_i2c.lib"
$lib "YwRobot_Lcd_i2c.lib"

Egal bei welcher. Sobald wir den Aufruf in Hochkomma setzten oder 
entfernen läuft das Programm wieder.
LEDs leuchten und Relais ziehen an.
Egal in welcher Zeile wir eines der o.g. "Lib-Aufrufe" einfügen startet 
das Programm nicht (ohne Fehlermeldung).

Wenn wir z.B. eine andere Librarie (keine LCD) einfügen läuft das 
Programm ohne Probleme.

Anbei ein einfaches Programm wobei die Platine bzw. das Programm schon 
hängt sobalt die Libray aus dem Hochkomma genommen wird.
Für die Display Adressen haben wir ebenfalls schon andere Werte 
eingesetzt ohne Erfolg

Wir hoffen Jemand kann uns helfen bzw. hat eine Idee woran es hier ggfs. 
hängt. Vielen Dank im voraus.

$regfile = "m324pdef.dat"
$crystal = 16000000

'$lib "Lcd_i2c.lib"
'$lib "YLcd_i2c.lib"
'$lib "YwRobot_Lcd_i2c.lib"

$hwstack = 150
$swstack = 150
$framesize = 150

'******************* 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 ***********************

Ddrb = &B11111111 
'Standardbelegung der DDRs
Ddra = &B11111111                                           'NEU 
HINZUGEFÜGT Standardbelegung der DDRs
Ddrc = &B11111111                                           'NEU 
HINZUGEFÜGT Standardbelegung der DDRs
Ddrd = &B11110000 
'PortA-Deffinition 1 = Ausgang / 0 = Eingang
Portd = &B10001111

Porta.7 = 1                                                 'NEU 
HINZUGEFÜGT, Schaltet die Betriebsspg. 5V auf das LCD und das I2C Modul
Wait 1

Config Scl = Portc.0 
'Konfigurieren von I2C
Config Sda = Portc.1

Config Lcd = 16 * 2
Config I2cdelay = 1
Dim _lcd_e As Byte
_lcd_e = 128                                               'LCD im 4-Bit 
Mode betreiben
'warte bis Kondensator bei Ta0 geladen, auch für LCD-Init:
Waitms 300
Waitms 300                                                  'warte bis 
Kondensator bei Ta0 geladen, auch für LCD-Init:

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

Cls
Locate 1 , 1
Lcd "Hello world!"

Wait 10

Do

  Portd.7 = 1                                              'Led1_higher' 
(Pin 21 / d7) Led 1 Relais 1
  Waitms 1000

'   Portc.2 = 1                                              'Led2_high' 
(Pin 24 / c2) Led 2 Relais 2
'   Waitms 1000
'   Portb.0 = 1                                              'Led3_low' 
(Pin 01 / b0) Led 3 Relais 3
'   Waitms 1000
'   Portb.1 = 1 
'Led4_lower' (Pin 02 / b1) Led 4 Relais 4
'   Waitms 1000
'   Portc.4 = 1 
'Led5_betrieb' (Pin 26 / c4) Led 5 Betrieb
'   Waitms 1000
'   Portc.3 = 1                                              'Led_ssm' 
(Pin 25 / c3) Led 6 SSM
'   Waitms 1000

  Wait 2
Loop

End

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.