www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ICC AVR LCD Probleme: AT90S2313 hex File gesucht


Autor: Hans Meier (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so langsam habe ich mich an etwas größeres gewagt und ein 16*4 LCD
(http://www.displaytech.com.hk/pdf/char/164a%20series-v10.PDF) an einen
Atmel AT90S2313 angeschlossen. Den Code findet ihr in der angehängten
Datei (mit ICC AVR erstellt). Die Initialisierung habe ich soweit
verstanden, mit einem Oszilloskop kann ich auch die Signale sehen (habe
die Timings jetzt schon teilweise im sec Bereich). Mit der
Initialisierung habe ich leider schon massivst Probleme. Seit Freitag
Abend klappt das nicht :=( Mein Display zeigt folgendes Verhalten:

Zuerst ist nur die erste und dritte Zeile "schwarz" (ok, ist der
normale Power on reset mit der 1-Zeilen konfiguration)
Durch meine Initialisierung geht das Display zuerst aus, dann aber
wieder nur mit der ersten und dritten Zeile schwarz an (das soll nicht
so sein...). Zum einen gehen nicht alle Zeilen an, zum anderen sind die
auch noch komplett schwarz, d.h. ich sehe keinen Cursor und auf weitere
Befehle reagiert das Display nicht mehr.

Könnte mir bitte jemand eine hex Datei schicken (higfenzurlo at gmx.net
(ohne Leerzeichen)), die auf einem AT90S2313 mit 4MHz Quarz und einem
16*4 Display läuft (+ compilierte Portbelegung), oder sich den Code mal
genauer ansehen (Kommentare sind drin, h Datei beinhaltet nur die
Funktionsdefinitionen)? Bin echt am verzweifeln, habe die Verkabelung
zig mal überprüft und neu angelötet (mittlerweile nur noch 5cm
Kabellänge), den Code schon ein paar mal neu geschrieben und mit dem
Oszilloskop die Signale angesehen und Zeitschleifen geprüft.

Freue mich über jede Hilfe,

Hans

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir nicht ganz sicher (noch keine AVR-LCD-Erfahrung), aber kann
es sein, dass dein Timing etwas grob ist?
In der init_LCD hast du diverse Schleifen, die 2001 ms warten, aber als
Kommentar steht da was von 15ms...
Und das passiert mehrfach.
Vielleicht ist das dem Display zu langsam...

Gruß Rahul

Autor: Hans Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Rahul,

der Kommentar war (bzw. ist es immer noch) für die ursprünglichen
Timings gedacht. Am Anfang hatte ich die Schleifenzähler mit zwei
Nullen weniger initialisiert, dann kommen auch die Kommentare hin. Da
ich aber kein Speicher-Oszi habe, habe ich die Zeiten einfach mal
verlängert, um alles in Ruhe beobachten zu können. Daher die um den
Faktor hundert vergrößerten Schleifenzähler. Die Kommentare stimmen
dazu natürlich nicht mehr :=(

AN ALLE: BEI DEN ZEITEN HABE ICH ES ZUERST AUCH JEWEILS MIT ZWEI NULLEN
WENIGER BEI DEN SCHLEIFENZÄHLERN PROBIERT (PASSEND ZU DEN KOMMENTAREN)!

Hans

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.