LCD-Ansteuerung mit Visual Basic (Version 2.1)
Jetzt ist endlich so weit!
Mein erster, auf dieser Homepage veröffentlichter Code!
Natürlich muss dieser mit dem LCD zusammenhängen - alles
andere wäre ja langweilig :D
Jetzt aber zum Code!
Dieser hat nämlich folgende Funktionen:
| Funktion | 8 Bit | 4 Bit | Funktionsbeschreibung: |
TestingOutLcd |
Zeigen | Wer manuell das Display ansteuern will (DB-Ausgänge einzeln schaltbar), dem kann hier geholfen werden... | |
| OutLCD | Zeigen | Das ist der Out-Befehl, der eigentlich am meisten von nutzen ist, da die DB-Kanäle zusammenhängend abgefragt werden. | |
Parsetext |
Zeigen | Eine kleine Function, die Texte für den Controller des Displays parst, da die ASCII-Zeichentabelle von der des Controllers abweicht. | |
GetDDRamAddress |
Zeigen | Diese Function benötigst du, wenn du den Cursor des Displays verschieben möchtest. Sie gibt aus den Positionen (Zeile, Zeichen) die DD-RAM-Adresse zurück. | |
LcdSetPos |
Zeigen | Diese Function ist die "Ausführende" für die vorhergehende. Sie setzt mit Hilfe der Adresse dann den Cursor auf die gewünschte Position. | |
Functionset |
Zeigen | Mit dieser Function kannst du festlegen, ob der Controller mit 4- oder 4-bit angesteuert wird und ob das Display ein- oder mehrzeilig arbeiten soll. | |
Displayset |
Zeigen | Hier kannst du festlegen, ob das Display an oder ausgeschaltet wird (Strom sparen!) und ob ein Cursor angezeigt werden soll und ob der Cursor blinken soll. | |
LcdInit |
Zeigen | Hier werden die beiden letzten Funktionen zusammengeführt. (Achtung: Je nach Controller kann es sein, dass die Initialisierung anders ausgeführt werden muss.) | |
LcdClearDisplay |
Zeigen | Mit Hilfe dieser Function kannst du das Display löschen. Hierbei wird der CG-RAM nicht gelöscht! | |
LcdSetCursorHome |
Zeigen | Hiermit wird der Cursor auf einfachste weise auf das erste Zeichen der ersten Zeile gesetzt. Das könnte man auch mit der Function LcdSetPos auslösen, ist aber auf diese Methode aufwendiger. | |
LcdWriteText |
Zeigen | Das ist die wichtigste Funktion des Moduls. Hiermit kannst du Texte ausgeben. Um den Text richtig darzustellen, ist es empfehlenswert die Parsetext-Function mit einzubinden. | |
LcdWriteChar |
Zeigen | Um auch die Sonderzeichen auszugeben, dient diese Function. Hier kannst/musst du direkt den ASCII-Code (Achtung: weicht ab!) einsetzten. Diese Function ist besonders für eigene Symbole interessant ("ASCII"-Code 0-7) | |
LcdDefineChar |
Zeigen | Hiermit kannst du eigen entworfene Symbole (8 Stück (0-7) mit 8x5 Pixel) an das LCD senden. Hierfür verwendest du den Type DspOwnSymbol. Ich wurde schon öfters gefragt, wie man diese Function verwendet - >Hier ein Beispiel<. | |
| LcdDefineCharbyPic | Zeigen | Um etwas an Code zu sparen, wenn du feste (eigene) Symbole hast, kannst du sie jeweils in Pictureboxen (!!) laden und sie dann mit dieser Function ans Display schicken. | |
| LcdMoveCursor | Zeigen | Verschiebt den Cursor je nach Angabe nach links bzw. rechts. Wenn man will, verschiebt es den Displayinhalt gleich mit - was nur bedingt gut aussieht. | |
| LcdEntrymodeset | Zeigen | Legt fest, ob der Cursor inkrementiert oder krementiert verschoben werden soll. Bei Movedisplay weiß ich nicht genau (keine Lust/Zeit) für was man das genau brauchen könnte (Spielerei?). | |
Noch eine kleine Bemerkung zum LcdInit-Befehl:
Bei manchen Displays muss man die Initialisierung aufwendig durchführen.
Die Informationen dazu entnimmst du Datenblättern, die es zu Hauf im Internet
gibt.
Zu den Deklarationen:
Inpout32.dll: Die DLL bekommst du in meiner LCD-Beschreibung... ...oder
>hier<
Da ich selbst das Copy-and-Paste-Verfahren nicht mag, hier
das Modul als
Download für die 8 Bit-Ausgabe <neu> und hier für die
4 Bit-Ausgabe </neu>
(Rechtsklick zum Download)
Bei diesem Modul habe ich auf ein paar Befehle verzichtet. Diese sind aber nicht unbedingt notwendig.
So, jetzt wünsche ich dir viel Spaß beim Programmieren!
Ich würde mich über Resonanz über diesen Code sehr freuen!
© 2003 Christof Rueß