mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD porb. was ist da los ?


Autor: Till H. (mohman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hoffe ihr könnt mir weiter helfen :)
ich hab an meinem Mega32 ein LCD im 4bit Modus im Betrieb! Funzt soweit 
auch alles super! nur wenn ich den controller spannungslos machen, kommt 
es manchmal vor, dass das LCD nichts mehr anzeigt! Ist aber nicht immer 
so, ganz wirkürlich!
Jemand ne idee, wo das problem liegt !?
Erst nach einem reset des controllers arbeitet das lcd wieder!
controller bleibt aber nicht stehen, die anderen programmierten 
funktionen werden weiter abgearbeitet!


Danke :)

Autor: Einer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>nur wenn ich den controller spannungslos machen
Wie meinen?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>controller spannungslos machen
Meinen du den ATmega oder den LCD mit spannungslos machen? Denn wenn der 
AVR Spannungslos ist können die weiteren Funktionen ja nicht gehen.

Autor: mohman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, sobald ich die ganze schaltung spannungslos machen und 
anschließend wieder in betrieb nehme

MfG

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ein Hinweis darauf sein, dass dein Software-Reset des 
LCD-Controllers durch den AVR zu einem ungünstigen Zeitpunkt kommt. 
Eventuell ist der Power-Up-Reset des LCD-Controllers noch nicht 
abgeschlossen. Warte mal länger mit deiner eigenen LCD-Initialisierung.

Autor: mohman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke, werd das mal testen

Autor: derLars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gibt es soviel zu LCDs, aber irgendwie konnte ich des Rätsels 
Lösung nirgendwo finden. Also nicht gleich steinigen, wenn ichs zum 
x-ten Male frage :o)

Habe ich 16x1 Display (161A) und es funktioniert alles eigentlich auch 
schön, bis auf das, dass nur die ersten 8 Zeichen geschrieben werden.

Laut Datenblatt ist ab Adresse 40H im Display Data-RAM die Stelle 9, 
aber selbst sowas wie

...
LCD_data('8')
LCD_command(0b11000000)
LCD_data('9')
...

klappt nicht.
Hab mit Sicherheit irgendwo einen kleinen Denkfehler, aber komme auch 
nach vielen Tüfteleien nicht drauf.

Hab auch irgendwo gelesen, dass man ein einzeiliges 16-Stellen Display 
als zweizeiliges initialiert und dann automatisch die 16 Stellen 
geschrieben werden, das stimmt aber nicht! :D

Vielen Dank schonmal,
Lars (nicht hauen!)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du mußt den 2-Zeilen Modus setzen, wenn es als 2*8 organisiert ist.

Gib doch einfach 128 Bytes aus (mit 1s Pause), dann weißt Du, ab welcher 
Position die 2. Hälfte erscheint.


Peter

Autor: derLars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab den 2-zeilen-Modus mit 38H gesetzt, nur gibt er mir dann gar nichts 
mehr aus. Auch nicht wenn ich lcd_home() vorher aufrufe :(
Display bleibt leer!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann wird dein Display wohl nicht so organisiert sein :-)

Nochmal: Peter hats schon vorgekaut.
Schreib dir ein Programm, dass "ABCDEFGHIJKL....XYZ" ausgibt. Von mir 
aus mehrfach. Danach schaust du auf dein Display, welche Zeichen in der 
zweiten Hälfte auftauchen. Kleb erst mal nicht an den 16 Zeichen oder 
2*8 Zeichen. Irgendwo im Display RAM werden schon Zellen sein, da an die 
2.te Hälfte des Displays gemappt werden. Die musst du finden.

Autor: derLars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles sehr seltsam!

Wenn ich nen elend langen String ausgebe, dann kommen 8 Zeichen und beim 
2. Durchlauf kommen 8 Zeichen ab Zeichen 80,81,..... beim 3. Durchlauf 
dann ab 160,161,....

Aber immer nur die ersten 8 Stellen auf dem Display :D

Ich geb gleich auf für heute, vielen Dank für euren Rat! :o)

derLars

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
derLars wrote:
> Hab den 2-zeilen-Modus mit 38H gesetzt, nur gibt er mir dann gar nichts
> mehr aus.

Ähem, benutzt Du nicht den 4-Bit Modus?

38H setzt jedenfalls auf 8-Bit.


Peter

Autor: derLars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, ich benutze den 8-bit Modus! Mir egal ob 4 oder 8 Kabel :))))

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
derLars wrote:
> Nein, ich benutze den 8-bit Modus! Mir egal ob 4 oder 8 Kabel :))))

Genau deshalb mag niemand das Hijacken eines älteren Threads.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.