Hallo, ich habe ein Problem einem Display LCD-12232 von Pollin. Ich habe natürlich Beispielquellcodes gefunden, wie das Display anzusteuern ist. Ich habe ein Beispiel in C und eines in BASCOM. Bei lassen sich problemlos komplilieren. Wenn ich es allerdings auf dem Controller starte, bleibt das Display dunkel. Da ich noch unerfahren bin, hab ich nicht wirklich ne Idee, wie ich dem Fehler auf schliche kommen kann. Wie und wo muss ich systematisch suchen, um etwas zu finden? Der Controller ist ein ATMega 16 und steckt in einem STK500. Dass ich alles richtig angeschlosse hab, da bin ich mir recht sicher. Auch die Ports habe ich in den Bespielen entsprechend angepasst, damit sie zu meinem Beispiel passen. Die Kontrastspannung erzeuge ich mit einem NE555, etc. Scheint auch zu passen. Kann bei sowas die Kabellänge ausschlaggebend sein? Ich hab die Kabel recht lang gelassen, ich könnte mir vorstellen, dass da vielleicht ein Problem ist (siehe Foto). Einmal hat das Display kurz wilde Pixel angezeigt (Krieg der Ameisen). Aber das war wohl eher Zufall. Jegliche Hinweise würden mich freuen! Danke! Jens
Was passiert denn wenn du das Display völlig unangesteuert (nur Spannungsversorgung, Kontrastspannung, etc.) lässt?
Das Display will laut Datenblatt an Pin 18 6,4 Volt sehen, hast Du die angeschaltet ?
Hallo und danke erst mal für die Antworten. Ich hab mich an den Anschlussplan vom Nachbarforum gehalten. Auch die Kontrastspannug erzeuge ich so, wie in er Anlage zu sehen. Wenn ich das Display nur mit Spannung versorge, kann ich mit dem Poti den Kontrast verstellen. Also von "zeigt nix an" bis "alles schwarz". Ich hab noch mal nachgemessen. An VEE hab ich jetzt z.B. -1.8 V An VDD sinds 4,92 V Jetzt beim messen komm ich etwas ins grübeln. Mein Quellcode ist der, der hier gepostet wurde: Beitrag "DG-12232 Ansteuerung von 2xSED1520 Controller" Wenn ich an RES messe, hab ich -0,3 V. Sollte das nicht so um die 5 V liegen? Das lässt mich auf jeden Fall die Prozedur GLCD_InitPorts vermuten:
1 | void GLCD_InitPorts(void) |
2 | {
|
3 | SED1520_DATA_DDR = 0xFF; //Output |
4 | |
5 | // Set Controll-Bits to Output
|
6 | SED1520_CONTROL_DDR |= (SED1520_CS2 | SED1520_CS1 | SED1520_RW | SED1520_A0 | SED1520_RES | SED1520_Enable); |
7 | _delay_ms(1); |
8 | RES_h; //High (always)==> 68 Family MPU |
9 | |
10 | //Set Default-State of Controll-Bits
|
11 | CS1_h; CS2_h; Enable_l; |
12 | }
|
Diese wird ja praktisch sofort am Start aufgerufen (main -> GLCD_Init -> GLCD_InitPorts) Läuft da schon was schief? Komisch. Jens
Jens schrieb: > Wenn ich an RES messe, hab ich -0,3 V. Sollte das nicht so um die 5 V > liegen? Wenn du es nach dem Schaltplan verdrahtet hast schon. Da liegt RES direkt auf 5V. Etwas merkwürdig erscheint mir die Beschaltung von /RD, ist das so gewollt?
Hi >Etwas merkwürdig erscheint mir die Beschaltung von /RD, ist das so >gewollt? Das ist nicht nur merkwürdig sondern falsch. Mit RES=H arbeitet das Display im 6800-Mode. Damit wird der RD-Anschluss zu E. Und das ist das Übernahme-Signal für die anliegenden Daten an D7..D0. MfG Spess
Hallo, da bin ich wohl etwas durcheinander gekommen, ich hab Quatsch erzählt. Sorry. Von dem Schaltplan hab ich nur die Erzeugung der Kontrastspannung übernommen. Ich hab jetzt noch mal alles gecheckt. DB0 bis DB7 liegen bei mir an PC0 bis PC1 CS1 -> PD2 CS2 -> PD3 RES -> PD5 /Wr -> PD0 /RD -> PD1 A0 -> PD4 Ich denke, die Zuordnung im Programm hab ich korrekt gemacht, oder?
1 | #define SED1520_DATA_PORT PORTC
|
2 | #define SED1520_DATA_DDR DDRC
|
3 | #define SED1520_DATA_PIN PINC
|
4 | |
5 | #define SED1520_CONTROL_PORT PORTD
|
6 | #define SED1520_CONTROL_DDR DDRD
|
7 | |
8 | |
9 | #define SED1520_RW (1 << 0)
|
10 | #define SED1520_Enable (1 << 1)
|
11 | #define SED1520_CS1 (1 << 2)
|
12 | #define SED1520_CS2 (1 << 3)
|
13 | #define SED1520_A0 (1 << 4)
|
14 | #define SED1520_RES (1 << 5)
|
Und so sollte doch vom Programmablauf her RES auf 5V liegen, oder sehe ich das falsch? Jens
Hi >Und so sollte doch vom Programmablauf her RES auf 5V liegen, oder sehe >ich das falsch? Nein. Das sollte passen. Und was ist jetzt mit dem JTAG-Interface am PortC? MfG Spess
Sorry, Deinen Hinweis hatte ich zwar gelesen, aber verdrängt. Das ärgert mich um so mehr, weil es der entscheidende Hinweis ist. Ich bedanke mich recht herzlich, jetzt funktioniert es! Viele Grüße, Jens
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.