mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD44780 an Atmega32


Autor: Andi D. (hackbert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin!
Ich versuche seit fast zwei Tagen ein HD44780 kompatibles Display an 
meinem Atmega32 im 4-Bit-Modus zum Laufen zu bekommen.
Beim Einschalten ist ein Balken auf der ersten Zeile zu sehen. Dieser 
verschwindet, nachdem ich das erste mal 0x03 gesendet habe (siehe 
Quellen). Aber egal was als nächstes danach gesendet wird: der Balken 
kommt wieder. Ich habe gelesen, dass der Balken nach der Initialisierung 
dauerhaft verschwinden soll. Spätestens beim Display löschen sollte er 
weg sein.

Die Verkabelung sieht folgendermaßen aus:
-----------------------------------------
RS an PC5
RW auf GND
ENA auf PC6
DB7 auf PC3
DB6 auf PC2
DB5 auf PC1
DB4 auf PC0

Weitere Infos:
----------------------------------------
µC: Atmega32
LCD: 2 Zeilen à 24 Zeichen, HD44780 kompatibel, Aufschriften auf der 
Rückseite: "SEC 627 KS0063" auf dem einen Chip und "UC-24211 -GNARD-A 
96072006 auf dem anderen

Hat jemand eine Idee?

Autor: The Devil (devil_86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch mal so nen schwarzen Balken auf meinem Display, weil ein 
GND  beim Stecker einen Wackler hatte.

Autor: Andi D. (hackbert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ich ausschließen. Habe es inzwischen mit 3 Displays (alle 
baugleich) versucht.

Autor: The Devil (devil_86)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, Hardware-seitig µC (Kontakte)??
Ansonsten kann's ja nur mehr die Software sein.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Problem wird sein, das du Port C verwendest.
Dieser Port wird für JTAG verwendet. Wenn du ihn als normalen Port 
verwenden willst, must du die entsprechende Fuse aktivieren.
An sonsten mimmst für das Display einfach nen anderen Port

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JTAGEN-Fuse abschalten hilft bestimmt.

Autor: Nixweiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andi D. (hackbert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab's jetzt mal mit PORTA versucht. Immernoch dasselbe.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lade Dir mal das Datenblatt vom HD44780 und gucke mal, ob Du genau das 
machst, was dort steht (Wartezeiten, Initialisierung etc.)

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du mal deinen Code hereinstellen ? ist nen bischen Rätselraten.

Autor: Andi D. (hackbert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joe wrote:
> Kannst du mal deinen Code hereinstellen ? ist nen bischen Rätselraten.

Hmmm... Eigentlich hatte ich die Datei mit hochgeladen. Hat sich jetzt 
aber sowieso erledigt. Jetzt geht es. Fragt mich nicht, was es war: auf 
einmal ging's (vielleicht ein Wackler). Danke für alle Antworten.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gehts jezt mit Port A oder mit Port C ?

Autor: Karoly Kovacs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andi! Pass auf!
Es ist dann "nicht gut", dass es plötzlich "richtig" ist.
Meiner Meinung nach (habe schon viele solche LCD-Schaltungen aufgebaut), 
das Problem liegt bei Delays! Wenn man z.B. eine Schaltung nimmt, was 
damals mit einem 8051er aufgebaut wurde, und adaptiert es dann an AVR, 
es wird nicht meistens funktionieren, weil die AVRs "schneller" sind 
(nicht alle).
Also:
1. bitte die Delays überprüfen/anpassen, oder
2. VIEL BESSER, wenn Du das LCD-Status ordentlich abfragst (und nicht 
Delays verwendest).

Wünsche viel Erfolg,
Karoly

Autor: Karoly Kovacs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"...es wird meistens nicht funktionieren..."

Sorry!
Karoly

Autor: Andi D. (hackbert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht jetzt mit PORT A.

Karoly Kovacs wrote:
> Andi! Pass auf!
> Es ist dann "nicht gut", dass es plötzlich "richtig" ist.
> Meiner Meinung nach (habe schon viele solche LCD-Schaltungen aufgebaut),
> das Problem liegt bei Delays! Wenn man z.B. eine Schaltung nimmt, was
> damals mit einem 8051er aufgebaut wurde, und adaptiert es dann an AVR,
> es wird nicht meistens funktionieren, weil die AVRs "schneller" sind
> (nicht alle).
> Also:
> 1. bitte die Delays überprüfen/anpassen, oder
> 2. VIEL BESSER, wenn Du das LCD-Status ordentlich abfragst (und nicht
> Delays verwendest).
Ich habe jetzt die genaue Ursache herausgefunden. Die eine 
Steckverbindung auf dem Breadboard hatte tatsächlich einen Wackler. Ich 
kann den Fehler sogar reproduzieren. Ist also alles in bester Ordnung.

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.