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
johannes schrieb: > ...Probleme bei der Initialisierung, da ich nur schwarze Kästchen angezeigt > bekomme. Verändere mal die Kontrasteinstellung.
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
Fuses habe ich gerade mal noch von ext. Crystal zurück auf default (Int. RC Osc. 1MHZ; Start-Up 6CK+64ms;default value) gestellt. Hat allerdings zu nichts geführt.
>da ich nur schwarze Kästchen angezeigt bekomme. Alle schwarz oder nur die erste Zeile? >> 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.
Kein Schaltplan, kein Bild des Aufbaus, keine Programm, keine Hilfe.
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
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.
Bernd schrieb: > Kein Schaltplan, kein Bild des Aufbaus, keine Programm, keine > Hilfe. ist alles im Start-Beitrag beschrieben. Aufbau, sowie Programm
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
>ist alles im Start-Beitrag beschrieben.
Das reicht nicht. Was steht in lcd-routines.h?
johannes schrieb: > Angeschlossen ist das Display wie folgt wie oft hat man mir das schon erzählt, ich sehe kein Foto davon, hast du jede Verbindung ohmsch nachgemessen? Evt. ist auch nur dein Display kaputt oder wie schon geschrieben falsch initialisiert.
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.
:
Bearbeitet durch User
Joachim B. schrieb: > johannes schrieb: >> Angeschlossen ist das Display wie folgt > > wie oft hat man mir das schon erzählt, > ich sehe kein Foto davon, hast du jede Verbindung ohmsch nachgemessen? Jo, das wäre hier nicht der erste Fall, das da die Kabel nur in die Löcher des LEDs gesteckt wurden, statt angelötet....
johannes schrieb: > Die ersten 8 Stellen (Ist ein 1x16 LCD) 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.
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.....
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.
Lötstellen sind kaum zu erkenne, scheinen ihren Namen nicht verdient zu haben. Nachlöten! Das Display ist definitiv NICHT initialisiert.
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)
Teo D. schrieb: > Lötstellen sind kaum zu erkenne, scheinen ihren Namen nicht verdient zu > haben. Nachlöten! Da ist ja auch keine einzige Lötstelle. am Display ist alles gesteckt.. > Das Display ist definitiv NICHT initialisiert. woran erkennt man dass es initialisiert ist?
johannes schrieb: > woran erkennt man dass es initialisiert ist? Kontrast passt ungefähr, nur Zeile 1 zeigt Schwarze Balken. johannes schrieb: > Da ist ja auch keine einzige Lötstelle. am Display ist alles gesteckt.. Zeig mal ne Nahaufnahme!
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 Es liegt sicher an der Initialisierung...
>> JTAG deaktiviert? >Ich denke nicht Das musst du aber, entweder über die Fuses oder deinen Code. Wie das per Code geht weiss ich im Moment leider nicht mehr;)
Teo D. schrieb: > johannes schrieb: >> Da ist ja auch keine einzige Lötstelle. am Display ist alles gesteckt.. > > Zeig mal ne Nahaufnahme! Da habe ich normale Steckbuchsen (wie auf dem myAVR Board) verlötet um den Klingeldraht verwenden zu können
Teo D. schrieb: > johannes schrieb: >> woran erkennt man dass es initialisiert ist? > > Kontrast passt ungefähr, nur Zeile 1 zeigt Schwarze Balken. Wie bekomme ich Zeile 2 initialisiert?
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
holger schrieb: >>> JTAG deaktiviert? >>Ich denke nicht > > Das musst du aber, entweder über die Fuses oder deinen Code. > Wie das per Code geht weiss ich im Moment leider nicht mehr;) Ich lese mich bzgl. JTAG mal genauer ein, danke für den Hinweis :)
johannes schrieb: > Da habe ich normale Steckbuchsen (wie auf dem myAVR Board) verlötet um > den Klingeldraht verwenden zu können OK, sorry. Ich hoffe du verzeihst mir mein Misstrauen. Das Bild sieht einfach merkwürdig aus, nicht wirklich was zu erkennen.
Ozvald K. schrieb: > 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. Hat das einen bestimmten Grund oder ist das nur für die Übersicht?
johannes schrieb: > Wie bekomme ich Zeile 2 initialisiert? Da ist NICHTS initialisiert, so kannst du in KEINER Zeile etwas darstellen lassen. Du hast, wie schon erwähnt, die kopierte SW noch nicht auf deine HW angepasst. Displayart (1 o. 2 Zeilen etc), welche Ports du benutzt, 4 o. 8 Bit... (ich glaub das wars)
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.
johannes schrieb: > Dann durchforste ich mal die Routine und versuche es herauszufinden, > oder hast du da evtl. einen Tipp? Hänge einen (minimalistischen) Logikanalysator auf die 6 Leitungen und guck dir an, was los ist. Du kannst nicht erwarten, dass auf Port C irgendetwas passiert, wenn das Programm den Port D steuert ;-)
Wolfgang schrieb: > Du kannst nicht erwarten, dass auf Port C irgendetwas passiert, wenn das > Programm den Port D steuert ;-) Da hast du sowas von Recht :D Ich ärgere mich gerade total über den dummen Fehler.. aber naja was solls, nochmal wird mir das nicht passieren
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€.
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
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;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.