PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD mit AVR



tobi.robotz
16.05.2009, 15:22
Hallo,

ich will das LCD vom Pollin Evaluations-Addon-Board im 8-Bit-Modus mit einem ATmega16 ansteuern. Ich kann es aber noch nicht mal initialisieren. Könnte mir freundicherweise jemand einen Code in Assembler zeigen, der das Display initialisiert? Oder hat jemand interessante Links oder Erklärungen oder Tipps?
Ich weiss, dass man irgendwie 3mal 0x30 bei RS=0 an das Display senden muss. Nach jedem senden muss das Busy-Flag gelesen werden also RS=0 und RW=1. Erst wenn es 0 ist kann der nächste initialisierungsbefehl oder Befehl erfolgen.

Der Link führt zum Datenblatt des LCD-Controllers.

http://www.datasheetcatalog.org/datasheet/SamsungElectronic/mXuuzvr.pdf

DB0-DB7 gehen auf Port A des ATMEGA16 (DB0 auf PA0, usw.)
RW geht auf PB1, E auf PB0, RS auf PB2.
Es handelt sich übrigends um ein 2 x 16 Zeichen-Display.
Ich habe mir gedacht bei Function-Set: DL=1 also 8Bit-Modus,
Font (F)= ist ob Display an und schrift aus sein soll und umgekehrt? Wenn ja, dann wärs egal. und N=0 (1-line-mode).
Leider weiß ich nicht wie ich das gewünschte Setting in Assembler schreiben soll.
Und ob die Initialisierung mit den dreimal $30 ins Steuerregister und dem Function-Set zu Ende ist.

Ich kann nicht wirklich Assembler programmieren aber vor allem kann ich nahezu kein Englisch (sonst würde mir das Datenblatt mehr weiterhelfen) und weiß somit nicht wie es anstellen soll, mal mehr als nur die Hintergrundbeleuchtung vom LCD zu sehen.

Danke Grüße

Vitis
17.05.2009, 09:30
Pollin hat ne ganze Menge Displays im Angebot,
poste mal den Link zu dem Deinen

McJenso
17.05.2009, 10:04
Hallo,

wenn du das Display ohne Initialisierung einschaltest, siehst du eine Zeile dann schwarz? Wenn nicht ist der Kontrast noch nicht eingestellt. Da wird es bestimmt ein Poti für geben.
Warum Assembler? Wenn du das lernen möchtest, solltest du kleiner anfangen. Wenn es um die schnelle Umsetzung eines Projektes geht, schau dir mal Bascom an.


Gruß

Jens

yaro
17.05.2009, 11:49
Hier ist ein sehr guter link (das ganze gibt es auch in Assembler, must du einfach ma auf der seite suchen)
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#LCD-Ansteuerung

Gruß, Yaro

tobi.robotz
17.05.2009, 14:03
Hallo.
Danke euch.
Der Kontrast war nicht eingestellt.
Ich verwende das LCD-Modul TC1602A-08 - Best.Nr. 120 421
(Artikel-Links funktionieren leider nicht auf http://www.pollin.de/shop/shop.php)
Aber jetz (nach der Kontrasteinstellung) seh ich schonmal eine schwarze Linie aus Balken und bin jetz zuversichtlich, dass ich es jetz irgendwann hinbekomme.

(Ich möchte Assembler verwenden, um die ganzen Register, Architektur, usw des µC kennezulernen.) [/url]