Hey,
ich habe ein ea dip162-dnled LCD Display.
BIn dann dem Tutorial gefolgt und habe es alles so gemacht wie dort
beschrieben. Ich habe das Programm auf meinen ATMega8 geflashed aber
nichts ging.
Das Display sieht so wie auf dem Foto aus. Wenn ich Vss und Vdd sowie
Vee laut Datenblatt anschließe erscheint der Balken wie im Bild zu
sehen. Schließe ich nun noch D4-D7 an PD0-PD3 sowie RS und E an ist kein
Unterschied zu erkennen.
Woran kann das liegen? Mache ich etwas falsch?
Grüße
Hallo,
entschuldigt das große Bild...
Der Code ist im Tutorial zu finden.
www.mikrocontroller.net/articles/AVR-Tutorial:_LCD
Laut Datenblatt wird der Kontrast auf GND gelegt. Das habe ich getan.
Grüße
Was fürn Takt hast am µc und welche Spannungsversorgung nutzt du?
> Schließe ich nun noch D4-D7 an PD0-PD3 sowie RS und E an ist kein> Unterschied zu erkennen.
Wie hast du denn R/W beschaltet?
>Was fürn Takt...
den internen Takt ovn 1 MHZ das angeschlossene Quarz mit 16 MHZ bekomme
ich nicht zum laufen.
> Wie hast du R/W beschaltet?
Ist auf GND gelegt.
>> Was fürn Takt...> den internen Takt ovn 1 MHZ..
Ist die Ansteuerung halt nen bisschen langsamer aber sollte gehen im
Orginal ist sie bei 4Mhz.
> ..das angeschlossene Quarz mit 16 MHZ bekomme> ich nicht zum laufen.
aha. Sollte der AVR trotzdem damit laufen ist es fürs LCD dezent zu
schnell.
Was ist dein Programmierboard?
Zeig doch mal bitte den Code denn der muss einfach laufen wenn du ihn
1:1 übernommen hast bzw. was du noch dazugeschrieben hast
warum posten? es ist der code den es ganz unten auf der geposteten seite
gibt. ich habe lediglich XTAL in 1000000 verändert und .def temp1 = r21
neu hinzugefügt.
irgendwie war temp1 nicht deklariert.
grüße
Oktavius schrieb:> warum posten? es ist der code den es ganz unten auf der geposteten seite> gibt. ich habe lediglich XTAL in 1000000 verändert und .def temp1 = r21> neu hinzugefügt.>> irgendwie war temp1 nicht deklariert.>>> grüße
Wenn du den Code 1:1 übernommen hast, dann bleiben noch genau 2
Fehlerquellen übrig: Fuses falsch, LCD falsch angeschlossen.
Läuft denn der Controller an sich überhaupt?
gruß cyblord
Der COntroller läuft einwandfrei mit LEDs und Tastern...
Falsch angeschlossen? Ich wüsste nicht wo. Wenn man die Metallabdeckung
abnimmt ist sogar die Pinbezeichnung zu sehen...
Oktavius schrieb:> Der COntroller läuft einwandfrei mit LEDs und Tastern...>> Falsch angeschlossen? Ich wüsste nicht wo. Wenn man die Metallabdeckung> abnimmt ist sogar die Pinbezeichnung zu sehen...
Ja na gut, aber es geht doch nicht oder? Und du willst den Code nicht
posten weil du den Code 1:1 übernommen hast. Und der Code funktioniert
nachweislich. Anschluss vom LCD ist auch 100% richtig, also muss dein
LCD Kaputt sein.
Was willst du dann eigentlich vom Forum?
Falsch anschließen geht schnell, trotzdem Beschriftung. Schnell sind mal
zwei Adern vertauscht oder verrutscht oder haben keine Verbindung.
Da gibt es tausend Möglichkeiten. Fakt ist, wenn dus richtig
angeschlossen hast, und der Code auch ausgeführt wird, dann müsste es
tun.
gruß cyblord
Oktavius schrieb:> Laut Datenblatt wird der Kontrast auf GND gelegt. Das habe ich getan.
Nee, der muss bei denen, die ich verwende irgendwo zwischen 0 und 1,5V
liegen.
Und es sieht so aus, als waere der Kontrast das Problem. Auuserdem muss
die Initialisierung durchgelaufen sein, bevor man den Kontrast
einstellt.
Gruss hro
Hallo,
habe ein neues Display und bei dem ist das gleiche Problem. Eine Zeile
ist an die andere nicht. Für den Kontrast ist ja aber nur Pin 3
zuständig. Und eine Zeile funktioniert ja.
Ich habe an das Display jetzt nur Spannung angelegt ohne es weiter an
den uC zu heften. Also nur Spannung angelegt. Die Hintergrundbeleuchtung
sowie oben beschrieben eine Zeile gehen. Die zweite nicht.
Hi
>eine Zeile gehen. Die zweite nicht.
Das ist das übliche Verhalten eines nicht initialisierten Displays. Gehe
mal davon aus, das entweder deine Beschaltung falsch ist oder deine
Software nicht stimmt. Und spendiere dem Display ein Kontrastpoti. VEE
gehört eben nicht an Masse. Sonst hätte der Hersteller sich das Pin
sparen können.
MfG Spess
Das nur eine Zeile "aktiv" ist liegt daran, dass der Display-interne
Controller im einzeiligen Modus initialisiert wird, die zweite Zeile
wird erst später beim gesteuerten Init aktiv...
Oktavius schrieb:> okay. also müsste ich jetzt rein theoretisch nur den code aus dem> tutorial auf de uC spielen und es sollte funktionieren?
Nein, danach musst du noch 3 mal gegen den Uhrzeigersinn um Mitternacht
nackt um das Display hüpfen... Aber dann gehts.
Natürlich den GANZEN Code, also nicht nur die Funktionen, sondern auch
darunter den Code in dem diese Funktionen aufgerufen und benutzt werden
um was auf dem LCD anzuzeigen.
Und natürlich KORREKT ANSCHLIEßEN. Hast du ja Anfangs nicht gemacht.
Kontrast gehört nicht auf GND sondern an ein Poti.
Man kommt eigentlich aus dem Kopfschütteln nicht mehr raus, wenn man das
hier so liest. Jetzt hast du schon nen komplettes Tutorial, liest es
aber nicht, sondern kopierst höchstens den Code raus, schließt das
Display falsch an und erwartest das es geht. Bisschen mitdenken, trotz
copy & paste schadet halt auch nicht. Eine LCD Ansteuerung ist nun nicht
gerade Raktenwissenschaft.
gruß cyblord
danke für die antworten.
und ich komme nach manchen antworten auch aus dem lachen nicht mehr
raus. man fragt etwas ganz normales nur um sicher zu gehen. was man dann
allerdings bekommt sind vorwürfe und und aussagen die total falsch sind.
ich habe das komplett tutorial durchgearbeitet. also sei vorsichtig mit
solch wagen äußerungen.
zum poti. woher soll ich das wissen. im tutorial steht, dass man es auf
grd legt. so viel zum thema:
>Jetzt hast du schon nen komplettes Tutorial, liest es aber nicht
an alle die, die sinnvolle und hilfreiche beiträge gepostet haben,
vielen dank.
Hi
>und ich komme nach manchen antworten auch aus dem lachen nicht mehr>raus. man fragt etwas ganz normales nur um sicher zu gehen. was man dann>allerdings bekommt sind vorwürfe und und aussagen die total falsch sind.>ich habe das komplett tutorial durchgearbeitet. also sei vorsichtig mit>solch wagen äußerungen.
Sei unbesorgt. Das Lachen ist eher auf der Seite derer, die deine
Beiträge lesen.
>zum poti. woher soll ich das wissen. im tutorial steht, dass man es auf>grd legt. so viel zum thema:>>Jetzt hast du schon nen komplettes Tutorial, liest es aber nicht
Steht laut und deutlich im Datenblatt vom Display:
http://www.lcd-module.de/pdf/doma/dip162-d.pdf
S.2 rechts, oben
Und das ist das erste, was du lesen solltest, zusammen mit dem
Datenblatt vom Displaycontroller. Oder willst du nicht verstehen, was du
machst?
Tutorials sind maximal eine Hilfe.
MfG Spess
M
Oktavius schrieb:> im tutorial steht, dass man es auf grd legt.
Du liest in Tutorials nur das, was dir gefällt?
1
VEE = V0 = V5 kann man testweise auch an GND legen.
2
3
Wenn das LCD dann zu dunkel sein sollte, muss man ein 10kΩ-Potentiometer
4
zwischen GND und 5 V schalten, mit dem Schleifer an VEE.
> so viel zum thema
Richtig. Nur zur Erinnerung: du bekommst dein Display nicht zum
Laufen, obwohl du nach einem Tutorial vorgehst, mit dem viele andere
ihre Display problemlos hinbekommen haben.
Ist also demzufolge logischerweise ein Fehler im Tutorial?
Lothar Miller schrieb:> Ist also demzufolge logischerweise ein Fehler im Tutorial?
Aber sicher doch!
Was für eine abstruse Vorstellung, dass die Tutorialschreiber den Code,
den sie veröffentlichen, vor der Veröffentlichung auch mal testen
könnten. Wer kommt denn auf sowas!
Also im Tutorial steht: GND oder Poti. Und wenns auf GND nicht geht,
könnte man ja mal das Poti versuchen. Außerdem, Datenblatt vom LCD lesen
ist ein muss.
Im Datenblatt steht das übrigens genauer erklärt drin, mit Bildchen für
3,3 und 5 Volt.
Außerdem ist das gar nicht dein eigentlich Problem, da du nur eine Zeile
angezeigt bekommst und daher die Initalisierung gar nicht geklappt hat.
Also hast du entweder die SW nicht zum laufen gebracht oder noch andere
Anschlüsse des LCD sind nicht korrekt angeschlossen.
gruß cyblord
Was fuer ein Gesocks darf denn hier Moderator spielen??
Lieber Karl Heinz Buchegger!
Bitte mal nachdenken, was der Sinn des Wortes Moderator ist.
Brandstifter ist es nicht.
Gruss hro
hro schrieb:> Was fuer ein Gesocks darf denn hier Moderator spielen??
Das sind Leute, wie du & ich. Oft haben die auch solche Tutorials
mitverfasst und da ihre Zeit reingesteckt. Und wenn sich dann ein
Fragesteller mal ausnehmend ungeschickt (oder sowas in diese Richtung)
anstellt und nicht einen kleinen Funken Selbstzweifel hat, dann muss
der Fehler wohl beim Tutorialschreiber liegen...
> Was fuer ein Gesocks darf denn hier Moderator spielen??
Mit solchen Reaktionen wirst du das nie dürfen.
Auch ein Moderator darf mal moderat in die Satire ausweichen...
> Was fuer ein Gesocks darf denn hier Moderator spielen??
Ich bin mir nicht ganz sicher, ob bzw. dass du mir (oder Karl Heinz) das
ins Gesicht sagen würdest, wenn ich (oder er) vor dir stünde...
Hallo Oktavius!
Bei Deinen bescheidenen Kenntissen frage ich mal zur Vorsicht: hast Du
den Code auch kompiliert, bevor Du ihn auf den ATmega geflasht hast?
Lothar Miller schrieb:> hro schrieb:>> Was fuer ein Gesocks darf denn hier Moderator spielen??> Das sind Leute, wie du & ich.
Nein, wie ich ganz sicher nicht. Siehe unten.
> Oft haben die auch solche Tutorials> mitverfasst und da ihre Zeit reingesteckt.
Dem zolle ich ganz ehrlich Respekt.
> Und wenn sich dann ein> Fragesteller mal ausnehmend ungeschickt (oder sowas in diese Richtung)> anstellt und nicht einen kleinen Funken Selbstzweifel hat, dann muss> der Fehler wohl beim Tutorialschreiber liegen...
Gerade als Moderator sollte man aber auch wissen, dass sich derartige
Diskussionen insb. in diesem Forum sehr schnell hochschaukeln.
>>> Was fuer ein Gesocks darf denn hier Moderator spielen??> Mit solchen Reaktionen wirst du das nie dürfen.
Ich nehme das mal als Versprechen. Wuerde ich nie tun.
1.) Das Niwo ;-) hier ist einfach nicht hoch genug.
2.) Ich kann mir ungefaehr vorstellen, wie hoch der Aufwand ist, hier zu
moderieren. Und das waere mir dieses Forum ganz sicher nicht wert.
> Auch ein Moderator darf mal moderat in die Satire ausweichen...
Selbstverstaendlich. Aber auch ein Moderator kann einfach mal nicht
antworten. Wenn das jeder der Schreiber hier beherzigen wuerde, dann
gaebe es max. ein Drittel der Beitraege. Es ist ja leider zu beobachten,
dass 80% der Schreiber hier wenig wissen, aber viel schreiben. Und
meisst nicht zum Thema.
>>> Was fuer ein Gesocks darf denn hier Moderator spielen??> Ich bin mir nicht ganz sicher, ob bzw. dass du mir (oder Karl Heinz) das> ins Gesicht sagen würdest, wenn ich (oder er) vor dir stünde...
Das weiss ich auch nicht.
Wie breit bist Du? Traegst Du offen Waffen mit Dir?
Mein Selbsterhaltungstrieb koennte dem tatsaechlich im Wege stehen.
Gruss hro