mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD44780 AVR ( in C )


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wie im Betreff schon erwähnt geht es darum ein HD44780 Display an
einen Mega8 anzuschließen. Ja, ich weiß das da schon oft genug nach
gefragt wurde, aber ich habs immernoch nicht hinbekommen und diese
ganzen "Hilfeseiten" die ich bisher finden konnte treffens auch nicht
so wirklich...
Jedenfalls hab ich für den 4Bit Betrieb Pin11-14 mit Port D0-D3
verbunden. Außerdem RS an PD6 und R/W an PD5. Ja und Pin1-3
logischerweise für Spannung und Kontrast. Nur wie gehts jetzt weiter.
Ich muß das 2x16 Display ja erstmal initialisiern. Und wie genau geht
das, möglichst in C?! Hatte mal was gutes auf mc-projekt.de gefunden,
aber der Bookmark geht leider nicht mehr. Programmieren tu ich in C,
aber so ein Display ist dann doch ein wenig komplexer als eine 7
Segment Anzeige. Kann mir da vielleicht nochmal jemand helfen, aller
Anfang ist schwehr.
Versteh auch ganz allgemein nicht wenn ich 4 Bit senden will, z.B.
0011. Setz ich dann nacheinander die Ports D0 auf 0 D1 auf 0 D2 auf 1
und D3 auf 1 setzen?!
Würd ich mal Elektrotechnik statt Wirtschaftsinformatik studiern... ;)

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also da steht ja im Prinziep nur wie man das Display anschließt, das hab
ich soweit, wie oben beschrieben... Und die  LCD library auf der HP
wollt ich erstmal nicht benutzen.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab hier noch eine Beschreibung gefunden
(http://www.sprut.de/electronic/lcd/#4x20) die das ganz gut erklärt
finde ich. Aber was heißt in der Tabelle zur Initialisierung des
Display mit 4-Bit (relativ weit unten): I/D(1) und F(0) und N(1) und
S(0).
Muss ich außerdem zwischen den Blöcken (nach jedem steht ja eine Pause)
den Enable Pin ein/ausschalten, wenn ich die Pegel verändert hab?!

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab die oben genannte Tabelle auf dieser Seite bisher so interpretiert:

/* INITIALIZE */
  delay_ms(25);
  PORTD |= ((1 << 5)|(1 << 6)|(1 << 0)|(1 << 1));
  PORTD &= ~((1 << 2)|(1 << 3));

  delay_ms(25);
  PORTD &= ~(1 << 4);  /* 1. mal senden*/

  delay_ms(10);
  PORTD |= (1 << 4);

  delay_ms(10);
  PORTD &= ~(1 << 4);  /* 2. mal senden*/

  delay_ms(10);
  PORTD |= (1 << 4);

  delay_ms(10);
  PORTD &= ~(1 << 4);  /* 3. mal senden*/

  delay_ms(10);
  PORTD |= (1 << 4);

  delay_ms(10);
  PORTD |= (1 << 3);    /*auf 4-Bit umstellen*/

  delay_ms(10);
  PORTD &= ~(1 << 4);  /*und senden*/

  delay_ms(10);
  PORTD |= (1 << 4);

Ist das total falsch? Hab leider im Moment so gar keine Ahnung. an
PortD0 PortD3 sind die Pins 11-14 des Displays. PortD4 ist das Enable
Signal, PorD5=R/W und PortD6=RS. Komm leider gar nicht vorran...

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
n einfacher Beispielcode würd auch tun, denke dann würd ichs kapiern,
aber ich find nichts brauchbares =/

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine LCD Library ist dir wohl nicht Beispielcode genug? Zumindest die
Initialisierung des Displays ist dort komplett kommentiert. Irgendwie
verstehe ich dein Problem nicht.

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.