Bekomme mein LCD Display nicht ins Laufen

Gast #5805542
Lesenswert?

Hallo zusammen,

ich verwende das LCD-Display 161A von Displaytech und habe scheinbar 
Probleme bei der Initialisierung, da ich nur schwarze Kästchen angezeigt 
bekomme.

Ich verwende die lcd-routines.c/.h aus diesem Video 
(https://www.youtube.com/watch?v=p8r1EXRLQV0&t=304s)

Mein µC: Atmega32A-PU
(Datenblatt: https://www.promelec.ru/pdf/atmega32a.pdf)

Angeschlossen ist das Display wie folgt(4-Bit Modus?):

LCD Pin 1_(VSS)_____an GND
LCD Pin 2_(VDD)_____an VCC (5V)
LCD Pin 3__(VO)_____an 10k Poti (für den Kontrast)
LCD Pin 4__(RS)_____an PC2
LCD Pin 5__(R/W)____an GND
LCD Pin 6___(E)_____an PC3
LCD Pin 7___(DB0)___an /
LCD Pin 8___(DB1)___an /
LCD Pin 9___(DB2)___an /
LCD Pin 10__(DB3)___an /
LCD Pin 11__(DB4)___an PC4
LCD Pin 12__(DB5)___an PC5
LCD Pin 13__(DB6)___an PC6 (TOSC1)
LCD Pin 14__(DB7)___an PC7 (TOSC2)
LCD Pin 15__(BLA)___an / (Hintergrundbeleuchtung)
LCD Pin 16__(BLK)___an / (Hintergrundbeleuchtung)

Zum Testen habe ich einfach mal folgendes Programm ausprobiert:

#define F_CPU 8000000
#include <avr/io.h>
#include "lcd-routines.h"


int main(void)
{
  lcd_init();

  lcd_data('1');
  lcd_data('2');
  lcd_data('3');

        while (1)
    {
    }
}


Hoffe mir kann jemand auf die Sprünge helfen!
Danke im Voraus :)

Grüße
Gast #5805588
Lesenswert?

holger schrieb:
>>da ich nur schwarze Kästchen angezeigt bekomme.
>
> Alle schwarz oder nur die erste Zeile?
Die ersten 8 Stellen (Ist ein 1x16 LCD)
>>> Verändere mal die Kontrasteinstellung.
>
>>Kann ich ändern wie ich möchte, die schwarzen Balken bleiben immer
>
> Wenn das Poti richtig angeschlossen ist müssten die aber auch mal
> verschwinden oder wenigstens sehr blass werden.

War etwas unglücklich von mir beschrieben, die Kästchen werden natürlich 
auch heller/dunkler, je nach Poti-Einstellung
#5805590
Lesenswert?

johannes schrieb:
> Kann ich ändern wie ich möchte, die schwarzen Balken bleiben immer
> vorhanden. Es "schimmert" auch kein Text durch

Kann normal nicht sein. Je nach Stellung des Potis ist die 
Kontrastspannung gleich 0 oder Vcc. Dementsprechend ändert sich auch der 
Kontrast der Anzeige.

Ohne die Routinen im Detail zu kennen, fällt mir noch auf, des nirgendwo 
den LCD-Routinen gesagt wird, dass der Bus im 4-bit-Modus läuft. Das 
kann nicht funktionieren.
Gast #5805594
Lesenswert?

Jens P. schrieb:
> johannes schrieb:
>> Kann ich ändern wie ich möchte, die schwarzen Balken bleiben immer
>> vorhanden. Es "schimmert" auch kein Text durch
>
> Kann normal nicht sein. Je nach Stellung des Potis ist die
> Kontrastspannung gleich 0 oder Vcc. Dementsprechend ändert sich auch der
> Kontrast der Anzeige.

War etwas unglücklich von mir beschrieben, die Kästchen werden natürlich
auch heller/dunkler, je nach Poti-Einstellung


> Ohne die Routinen im Detail zu kennen, fällt mir noch auf, des nirgendwo
> den LCD-Routinen gesagt wird, dass der Bus im 4-bit-Modus läuft. Das
> kann nicht funktionieren.

Dann durchforste ich mal die Routine und versuche es herauszufinden, 
oder hast du da evtl. einen Tipp?

Grüße
#5805605
Lesenswert?

johannes schrieb:
> Jörg R. schrieb:
>> johannes schrieb:
>>> ...Probleme bei der Initialisierung, da ich nur schwarze Kästchen angezeigt
>>> bekomme.
>>
>> Verändere mal die Kontrasteinstellung.
>
> Kann ich ändern wie ich möchte, die schwarzen Balken bleiben immer
> vorhanden. Es "schimmert" auch kein Text durch

Ändert sich die Spannung (gemessen gegen GND) an Pin 3 des LC-Displays 
wenn am Poti gedreht wird?


johannes schrieb:
> Bernd schrieb:
>> Kein Schaltplan, kein Bild des Aufbaus, keine Programm, keine
>> Hilfe.
>
> ist alles im Start-Beitrag beschrieben.
> Aufbau, sowie Programm

Die Sprache des Technikers ist der Schaltplan. Ergänzend dazu ist ein 
Bild vom Aufbau hilfreich. Hier sind schon die dollsten Fehler 
aufgefallen.;-)

Ich vermutee nach wie vor dass es an der Kontrasteinstellung liegt, 
jedenfalls das die schwarzen Symbole angezeigt werden.
#5805624
Lesenswert?

Teo D. schrieb:
> Jo, das wäre hier nicht der erste Fall, das da die Kabel nur in die
> Löcher des .... gesteckt wurden, statt angelötet....

habe ich sogar in einem 34cm TV gefunden, ich wechsle alles Stecker raus 
Kabel zum PCB gelötet, immer noch Wackler, ich wechsel das Endstufen IC 
immer noch nicht OK und die Kabel hingen im Frontlautsprecher nur in den 
Lötösen.....
Gast #5805635
Lesenswert?

Ihr habt ja recht, ohne Schaltplan ist es meist schwer nachzuvollziehen. 
Also hier mal der Schaltplan und Aufbau meiner Schaltung(im Anhang)
Auch wenn so ein Steckbrett nicht optimal ist, habe ich überall Kontakt 
(nachgemessen).

Ozvald K. schrieb:
> Wird nicht initialisiert. Dieses 1x16 Display wird 2-zeilig
> angesprochen. Die ersten 8 Zeichen gehören zu Zeile 1, die letzten 8
> Zeichen zu Zeile 2.

Gut zu wissen, danke dir.
Angehängte Dateien:
Gast #5805641
Lesenswert?

Habe gerade folgendes in der lcd-routines.h aus dem Video entdeckt:

//////////////////////////////////////////////////////////////////////// 
////////
// Pinbelegung für das LCD, an verwendete Pins anpassen
// Alle LCD Pins müssen an einem Port angeschlossen sein und die 4
// Datenleitungen müssen auf aufeinanderfolgenden Pins liegen

//  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
#define LCD_PORT      PORTD
#define LCD_DDR       DDRD
#define LCD_DB        PD0

//  LCD RS      <-->  PORTD Bit PD4     (RS: 1=Data, 0=Command)
#define LCD_RS        PD4

//  LCD EN      <-->  PORTD Bit PD5     (EN: 1-Impuls für Daten)
#define LCD_EN        PD5


Da mein LCD an Port C angeschlossen ist, könnte bzw. wird das doch schon 
mal ein Problem sein.
Habe alles mal auf Port C umgeschrieben, allerdings ohne Erfolg (Wenn 
des überhaupt so einfach funktioniert :D)
Gast #5805665
Lesenswert?

johannes schrieb:
> Habe alles mal auf Port C umgeschrieben, allerdings ohne Erfolg (Wenn
> des überhaupt so einfach funktioniert :D)

Jetzt ohne die Routine zu kennen, bleibe bei unteren Nibble für Data 
Leitungen. Port C Bit (PC0-PC3). In Deinem Schaltplan du verwendest den 
oberen Nibble.

johannes schrieb:
> //  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3

Hier verwendet die Routine PD0-PD3
Gast #5805686
Lesenswert?

Bekomme jetzt endlich das angezeigt was ich möchte...
Hätte ich nur mal direkt in die Routine geschaut und es so angeklemmt

Ozvald K. schrieb:
> johannes schrieb:
>> //  LCD DB4-DB7 <-->  PORTD Bit PD0-PD3
>
> Hier verwendet die Routine PD0-PD3

Danke an dich. Ich habe es zwar zuvor schon geschrieben aber, warum auch 
immer, nicht umgesetzt. Wahrscheinlich dachte ich, dass die PINs schon 
belegt waren.
Jetzt wo alles an PortD, statt PortC klemmt funktioniert's :)

Ich danke euch für die zahlreiche Hilfe und entschuldige mich zugleich, 
falls ich dem ein oder anderem ein paar Nerven geraubt haben sollte.
Gast #5805732
Lesenswert?

Stefanus F. schrieb:
> Das Bild ist typisch für den Zustand:
>
> - Stromversorgung Ok
> - Kontrastspannung Ok
> - Initialisierung: fehlt
>
> Ich vermisse Abblock-Kondensatoren am Mikrocontroller.
>
> Benutze einen Logik Analyzer, um die Kommunikation zum Display zu
> überprüfen. Die Dinger kosten weniger als 10€.

Danke für deine Hilfe, aber es funktioniert jetzt alles :)

siehe Beitrag:


Autor: johannes (Gast)
Datum: 11.04.2019 17:26
#5805788
Lesenswert?

Odo schrieb:
> Jörg R. schrieb:
>> Ich vermutee nach wie vor dass es an der Kontrasteinstellung liegt,
>> jedenfalls das die schwarzen Symbole angezeigt werden.
>
> Nein, deshalb hat der TO schon zweimal geschrieben:
>
> johannes schrieb:
>> die Kästchen werden natürlich
>> auch heller/dunkler, je nach Poti-Einstellung

Einmal, die erste Aussage lautete anders:

johannes schrieb:
> Kann ich ändern wie ich möchte, die schwarzen Balken bleiben immer
> vorhanden. Es "schimmert" auch kein Text durch

Wenn Du schon den Oberaufpasser spielst...dann bitte auch korrekt;-)

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