Forum: Mikrocontroller und Digitale Elektronik Probleme mit LCD-Ansteuerung


von Abc123 (Gast)


Lesenswert?

Hi Leute,

ich mache gerade das AVR-GCC-Tutorial und da bin ich zur Zeit bei der 
LCD-Ansteuerung.
Ich habe einfach die drei Quellcodes rauskopiert. Einmal die 
lcd-routines.h, die lcd-routines.c und dann noch die eigentliche 
Projektdatei, in dem Fall Beispiel 1.
Compilieren konnte ich alles ohne Probleme. Leider zeigt es auf meinem 
LCD nur die 2x16 Balken an...jetzt frage ich mich natürlich wo mein 
Fehler liegt.
Verbindungen habe ich alle überprüft und müssten alle passen.
Ich hab allerdings an den angeschlossenen Pins noch LEDs hängen, 
sozusagen parallel zum LCD. Kann da der Fehler liegen? Wollte diese Pins 
noch anderweitig benutzen, wenn kein LCD dranhängt. Soll so eine Art 
Übungsboard sein.
Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige 
Fehlerquellen?

von Ralf (Gast)


Lesenswert?

Ich halte es durchaus für möglich dass die LEDs den Pegel verbeulen, so 
dass das LCD nicht mehr richtig angesteuert wird. Kann man aber erst 
anhand deines Schaltplans abschätzen -> zeigen.

Nimm halt mal einfach die LEDs weg.

Ralf

von 654gfd (Gast)


Lesenswert?

Abc123 schrieb:
> Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige
> Fehlerquellen?

Falsche Einstellung der Kontrastspannung?

von Abc123 (Gast)


Lesenswert?

Die LEDs sind direkt am Pin über einen 220Ohm Widerstand gegen Masse 
geschalten.
Das Problem ist, das ganze ist schon aufm Board gelötet. Das hatte ich 
natürlich nicht vorher bedacht.
Aber eigentlich müsste es ja reichen, wenn ich die LEDs von der Masse 
trenne, oder? Das kann ich ja leicht mit einem Jumper dann zu- und 
wegschalten, je nachdem ob das LCD oder die LEDs benötigt werden.

von Abc123 (Gast)


Lesenswert?

654gfd schrieb:
> Abc123 schrieb:
>> Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige
>> Fehlerquellen?
>
> Falsche Einstellung der Kontrastspannung?

Nein, da hab ich am Poti schon hin und hergedreht, es ist schon so 
eingestellt, dass man die Kästchen sieht. Aber man sieht eben keinen 
Text.

von Kein Name (Gast)


Lesenswert?

Nur teilweise initialisiert? Bei der Abfrage des Busy-Flags kommt D7 
nicht gegen die LED an?

von holger (Gast)


Lesenswert?

>Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige
>Fehlerquellen?

Ja, falsch angeschlossen obwohl man denkt es ist richtig.
Also Foto machen und zeigen, Programm zeigen.

von Abc123 (Gast)


Lesenswert?

holger schrieb:
>>Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige
>>Fehlerquellen?
>
> Ja, falsch angeschlossen obwohl man denkt es ist richtig.
> Also Foto machen und zeigen, Programm zeigen.

Ich überprüfe es nochmal und mache sonst ein Foto.

Programm sieht man im Tutorial, wie gesagt, habe das nur rauskopiert und 
den Takt im Header-File angepasst.


Kein Name schrieb:
> Nur teilweise initialisiert? Bei der Abfrage des Busy-Flags kommt
> D7
> nicht gegen die LED an?

Ich habe die LEDs jetzt mal "weggeschalten", das dürfte also nicht das 
Problem sein.
Was meinst du mit nur teilweise initialisiert?

von Kein Name (Gast)


Lesenswert?

>Was meinst du mit nur teilweise initialisiert?

Busy-Abfrage klappt nicht und du schickst schon den nächsten Befehl, 
während das Display noch die Umschaltung auf 2 Zeilen verarbeitet.

von Mike (Gast)


Lesenswert?

Abc123 schrieb:
> Ich hab allerdings an den angeschlossenen Pins noch LEDs hängen,

Mit Vorwiderstand?

von Abc123 (Gast)


Lesenswert?

Ich glaube, ich habe den Fehler entdeckt. War wohl doch ein 
Verdrahtungsfehler. der PD5 ist nicht mit dem Enable verbunden, hab da 
versehentlich das Streifenraster aufgebohrt, wird schnell mit ner Brücke 
behoben und nochmal getestet.

von Abc123 (Gast)


Lesenswert?

Mike schrieb:
> Abc123 schrieb:
>> Ich hab allerdings an den angeschlossenen Pins noch LEDs hängen,
>
> Mit Vorwiderstand?

Ja natürlich mit. 220 Ohm, wie etwas weiter oben beschrieben

von W.S. (Gast)


Lesenswert?

Abc123 schrieb:
> Ich habe einfach die drei Quellcodes rauskopiert.

Ja, eben.
Ich kann dir nur empfehlen, zu allererst mal die Doku zu dem LCD bzw. 
zum Controller in dem LCD zu lesen und zu verstehen. Es ist für ein 
simples zweizeiliges Alpha-LCD ja wirklich nicht schwer.

Als nächstes solltest du dir deine verwendeten Portpins richtig 
aufsetzen und dann die mal eben blind kopierte Quelle lesen und 
verstehen lernen.

Es erfüllt unsereinen immer mit Ärger, wenn Leute glauben, mit blindem 
Kopieren unter Auslassung des Verstehens ihren Weg durch's Leben gehen 
zu können. Wenn sie dann auf die Nase fallen, wird zu allererst nach 
Beistand geschrieen und nicht im Traume daran gedacht, daß es 
schlichtweg nur die eigene Unwissenheit ist, welche man durch Nachlesen 
hätte beseitigen können.

W.S.

von Abc123 (Gast)


Lesenswert?

W.S. schrieb:
> Es erfüllt unsereinen immer mit Ärger, wenn Leute glauben, mit blindem
> Kopieren unter Auslassung des Verstehens ihren Weg durch's Leben gehen
> zu können. Wenn sie dann auf die Nase fallen, wird zu allererst nach
> Beistand geschrieen und nicht im Traume daran gedacht, daß es
> schlichtweg nur die eigene Unwissenheit ist, welche man durch Nachlesen
> hätte beseitigen können.

Das ist aber ne böse Unterstellung.
Ich mach das Tutorial um etwas zu lernen. Und ich mache das gerne so, 
dass ich mir die Beispiel anschaue und dazu gehört eben, sich das Teil 
erstmal auf den Chip zu ziehen und auszuführen und zu schauen was 
passiert. Das Verstehen folgt anschließend. Dazu möchte ich persönlich 
aber erstmal das Ergebnis sehen.
Kann man sich drüber streiten, manche lernen so und manche lernen 
anders.

Aber nun funktioniert das, lag also zum Glück an einem leicht behebbaren 
Problem (der fehlenden Verbindung Enable - PD5). Und jetzt kann ich auch 
anfangen, den Quellcode zu verstehen ;)

von Abc123 (Gast)


Lesenswert?

@W.S.:
Was ich noch hinzufügen möchte:

Ich habe natürlich schon vorher nach Lösungen selbstständig gesucht und 
nicht gleich im Forum gefragt. Leider ist mir eben beim ersten 
kontrollieren der Verbindungen die Unterbrechung zwischen PD5 und Enable 
nicht aufgefallen.

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
Noch kein Account? Hier anmelden.