PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD Initialisierung



Einfachkrank
24.04.2008, 18:24
Servus,

ich versuche seit zwei Tagen mein LCD zum Laufen zu bringen, aber es will einfach nicht. Ich habe ein blaues 4x20 LCD mit HD44780 Kontroller von Reichelt. Angeschlossen an atmega16 auf eigenem Flashboard. Programmiere mit Xcode auf nem Mac. Die Anschlüsse bzw. Pinbelegungen stimmen, hab ich wirklich 10mal nachgesehen. Habe es schon selbst zu Fuß versucht zu initialisieren und auch mit der Bibliothek von Peter Fleury. Es passiert einfach nichts. Leuchtet zwar recht schön, aber keine Zeichen, kein Cursor Blinken, nix. Die Header der Bibliothek hatte ich auch richtig gestellt, mit Takt, Pinbelegung etc.

An was kann es denn noch liegen?

Gruß Michael

Einfachkrank
25.04.2008, 10:29
Falls das weiterhilft, hier noch mal alle Details... im Anhang Schaltplan meines Flashboards, Peter Fleurys Header und Hauptprogramm.

Das Display ist folgendermaßen über Flachbandkabel angeschlossen:
Data4 PortC Pin 0
Data5 PortC Pin 1
Data6 PortC Pin 2
Data7 PortC Pin 3
Enable PortC Pin 4
RS PortC Pin 7
R/W PortC Pin 5

Dass das ganze etwas komisch angeschlossen ist liegt, an meiner Verwirrtheit während der Entwicklung des Flashboards *g*

Vielleicht findet jemand doch nen Fehler, das wäre toll...

Hubert.G
25.04.2008, 11:48
Kein Balken in der ersten Zeile sichtbar, Kontrastregler funktioniert?
Spannung am Display gemessen.

Einfachkrank
25.04.2008, 11:54
Kein Balken in der ersten Zeile sichtbar, Kontrastregler funktioniert?
Spannung am Display gemessen.
Doch, das sollte passen. In der ersten Zeile und in der dritten ist wird beim Kontrastregeln es deutlich ein Balken, aber die sind ja zusammenhängend, so weit ich weiß. Habe auch es auch schon mit unterschiedlichen Kabellängen versucht. 30cm und 10cm...

Hubert.G
25.04.2008, 14:08
Dann sieht es so aus als würde dein Disp nicht initialisiert. Sieht doch nach HW-Fehler aus. Die Fleury-Lib funktioniert sonst sehr gut.
Funktioniert der knightrider teil?

Einfachkrank
25.04.2008, 14:13
Das läuft einwandfrei ;-)

Murdoc_mm
25.04.2008, 21:17
Hi,

hast du die restlichen Pins des LCD auf Masse gezogen?

(Sry für die Frage aber meistens sind es die kleinen Sachen und du hast es noch nicht geschrieben.)

Gruß

m.a.r.v.i.n
25.04.2008, 23:08
hallo,

hast du den JTAG Port disabled. Die Pins liegen auf Pin C und sind defaultmäßig bei einem fabrikneuen mega16/32 als JTAG Pins belegt. Das Häkchen bei Fuse Bit JTAGEN muß weg, damit man Port C als IO verwenden kann.
Siehe auch
http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=&P=ATmega16

Einfachkrank
27.04.2008, 14:23
Danke!!! Die Fusebits waren tatsächlich nicht richtig gesetzt. Das war nen Fehler in meiner Makefile... Juhu :-)