Bitmodus setzen und Soft reset - LCD mit HD44780

Gast #2817927
Lesenswert?
• ▲
▼
Moin,

ich gucke mir jetzt schon den ganzen Tag die Funktionsweise der 
Ansteuerung für LC-Displays an (C-Code), leider ist in den Tutorials 
mein Anliegen nicht genauer beschrieben, jedenfalls kann ich es nicht 
finden.

Es geht um die einstellung des Bitmodus (4 oder 8 bit).
1
lcd_out( LCD_SET_FUNCTION |
2
             LCD_FUNCTION_4BIT );

Dort wird über die Funktion PortD auf xxxx0010 geschaltet was aber nach 
dem Befehlssatz des LCDs nicht dem ändern des Bitmous entspricht. Nach 
dem übrigen Code müsste man entweder mehr Datenpins vom LCD ansteuern 
(wenn das LCD standardmäßig auf 8bit eingestellt ist) oder es müsste 
nach der Ausgabe nochmal ein gelöschtes Nibble gesendet werden (0000). 
Wie funktioniert das dann?


Und dann habe ich noch eine Frage: Aus welchem Grund wird der Softreset 
3 mal hintereinander gemacht und in welchem Zusammenhang steht er mit 
dem 8bit Modus? Denn der Befehl lautet 0x00110000 genauso wie 
(LCD_SET_FUNCTION | LCD_FUNCTION_8BIT)?
1
    // Soft-Reset muss 3mal hintereinander gesendet werden zur Initialisierung
2
    lcd_out( LCD_SOFT_RESET );
3
    _delay_ms( LCD_SOFT_RESET_MS1 );
4
 
5
    lcd_enable();
6
    _delay_ms( LCD_SOFT_RESET_MS2 );
7
 
8
    lcd_enable();
9
    _delay_ms( LCD_SOFT_RESET_MS3 );


Den Code habe ich von hier: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
Lesenswert?
• ▲
▼
lk schrieb:
> Dort wird über die Funktion PortD auf xxxx0010 geschaltet was aber nach
> dem Befehlssatz des LCDs nicht dem ändern des Bitmous entspricht.

Wieso nicht? Gemäß diesem Datenblatt (letzte Seite):
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/183342-da-01-ml-LCD_Modul_16x2_Zeichen_de_en.pdf
wird der 4-Bit-Modus durch Anlegen des Bitmusters 0010 an die Eingänge 
DB7-DB4 des LCD eingestellt.

> Aus welchem Grund wird der Softreset
> 3 mal hintereinander gemacht
Das haben die Entwickler des HD44780 so festgelegt.

> in welchem Zusammenhang steht er mit
> dem 8bit Modus?
In keinem. Diese Sequenz ist sowohl im 8-Bit-Modus als auch im 
4-Bit-Modus identisch.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.