www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD ATMega8 Turotail-4 Nur löschung des Displays :-/


Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

ich habe da son Problem. Habe an mein STK 500 an PORTD Mein Display
angeschloßen. Und habe auch Meine Schaltung des Display mehrfach
überprüft Sie ist also auch korrekt. Proramm und Init des LCD habe ich
Orginal aus dem Tutorial genommen.

Nun ist das Problem. Das Sobald ich alles Starte im Displays zwar die
Balken Verschinden ( also das Display Gelöscht wird ) aber leider
erscheint der aus dem Tuorial geschriebene Text "Test" nicht aufs
Display. Was glaubt ihr was das sein kann ? Hilft mir bitte.

Danke
MFg
Pascal

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Timing wird nicht stimmen...

;-)


...

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hubert G.

Also der Code ist wie gesagt identisch mit dem aus dem Turotial. Die
Iitialiesierungsdatei füge ich ein
http://www.mikrocontroller.net/sourcecode/tutorial...

Und folgendes Program
http://www.mikrocontroller.net/sourcecode/tutorial...

@Hanne S. Lux
Was meinst du genau mit Timing. Und was kann ich dagegen machen. Ich
benutze auf jedenfall 4MHz.

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

Bewertung
0 lesenswert
nicht lesenswert
> Was meinst du genau mit Timing.

Na ja.
Beim Initialisieren des Displays und auch später gilt es
Wartezeiten einzuhalten. Aus dem Tutorial geht leider nicht
eindeutig hervor für welche Taktfrequenz der Code geschrieben
wurde und nachgerechnet hab ichs auch nicht.
Aber du solltest das nachrechnen!
Rechne doch mal nach, ob die Warteschleifen mit den im
Tutorial genannten Konstanten tatsächlich die angegebenen
Wartezeiten bei 4 Mhz ergeben.

delay50us:                              ;50us Pause
           ldi  temp1, $42
delay50us_:dec  temp1
           brne delay50us_
           ret                          ;wieder zurück

 ;Längere Pause für manche Befehle
delay5ms:                               ;5ms Pause
           ldi  temp1, $21
WGLOOP0:   ldi  temp2, $C9
WGLOOP1:   dec  temp2
           brne WGLOOP1
           dec  temp1
           brne WGLOOP0
           ret                          ;wieder zurück

Die sind kritisch. Vor allem in der Initialisierungsphase kommen
ein paar Kommandos an das LCD zum Zuge die je nach konkretem LCD
Kontroller längere Zeiten brauchen. Wenn du beim Text-Schreiben
mal ein Kommando verlierst, weil das LCD noch nicht aufnahmebereit
ist, dann siehst du das, weil Text fehlt. Wenn dir aber in der
Initialisierungsphase ein Kommando an das LCD fehlt, dann siehst
du nur: Das LCD initialisiert nicht so wie das willst.

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,
ich habe jetzt die zeiten überprüft. Mit dem AVR Calc und die stimmen
auf  4 MHz überein. Was nun ?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Was für ein Display benutzt Du?
- Hat es einen Controller HD44780 oder einen sogenannten HD44780-
  Kompatiblen?
- Stimmen die Zeiten mit den Angaben im Datenblatt des Displays
  überein?
- Hältst Du auch die Wartezeit zwischen Anlegen der
  Versorgungsspannung und Ansprechen des LCDs ein?
- Hast du mal hier im Forum gesucht? Denn das Thema (mit kompetenten
  Antworten!) gibt es hier immer wieder. Deine Frage ist mit
  Sicherheit bereits beantwortet worden.

...

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ês ist ein Display 2x16 mit dem Controller HD44780
DAtenblatt vom Haargenau diesem Display habe ich nicht. Bzw. weis ich
igarnicht was für ein Display das ist. Ich weis nur das es
Funktioniert.

Die Wartepausen war keine rede von im Tutorial. Habe ich jetzt aber
gemacht gehabt. Leider hat dies kein effect gehabt auser das der
Schwazre Balken später erst ausging.

Ich habe im Forum gesucht da waren viele Fragen und Gute antworten aber
keiner hate das Problem wie ich. Sonst würde ich kein neuen Theard
aufmachen. Ist doch logisch.

MFg
Pascal

Autor: Pascal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bins nochmal. Ich habe den Fehler gemerkt. So wie es aussieht habe
ich mir das Display wohl doch zerschossen. Habe ein anderes ausprobiert
und es Funktioniert einwandfrei. Sorry für die umstände und die Hilfe.
Ich weis nur nicht wie ich mir das LCd kaputt gemacht habe. evt. da ich
die 2.5mm Löcher auf 3mm erweitert habe.

MFg
Pascal

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das 4x27-LCD von Pollin hat zwei dieser Controller. Hier findest Du eine
(recht alte) Routinensammlung, die bei mir funktioniert hat. Dort
findest Du auch eine Diskussion mit vielen wertvollen Hinweisen.
http://www.mikrocontroller.net/forum/read-1-164017...

Eine funktionierende Routinensammlung für ein 4x20-LCD ist im Anhang.
Sie sollte auch mit einem 2x16-LCD zurechtkommen.

Mit 2x16 habe ich noch nichts gemacht.

Vielleicht kannst Du ja durch Analyse der Routinen feststellen, was Du
anders machst.

...

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.