- Erforderliche Materialien:
- Kurze Einführung in das 16 × 2-Punktmatrix-LCD-Display:
- Schaltplan und Anschluss:
- Programmieren von MSP430 für LCD mit Energia:
- 16x2 LCD mit MSP430G2:
Dies ist das dritte Tutorial in der Folge von Tutorials, in denen wir lernen, das MSP430G2 LaunchPad mit der Energia IDE zu programmieren. In unserem vorherigen Tutorial haben wir gelernt, wie Sie die digitalen Eingangs- und Ausgangspins auf unserer MSP-Karte steuern. In diesem Tutorial erfahren Sie, wie Sie ein LCD mit der Platine verbinden, um nützliche Informationen anzuzeigen.
Das LCD, das wir in diesem Projekt verwenden, ist das am häufigsten verwendete 16 × 2-Punktmatrix-LCD-Display mit alphanumerischen Anzeigen. Die meisten von uns wären entweder durch öffentliche PCOs oder andere Elektronikprojekte darauf gestoßen. Eine solche Anzeige ist sehr praktisch für unsere zukünftigen Tutorials, um Daten und andere Debugging-Informationen anzuzeigen. Die Verbindung dieses LCD mit MSP430 ist dank der verfügbaren Bibliothek sehr einfach. Also lass uns eintauchen !!
Erforderliche Materialien:
- MSP430G2 LaunchPad von Texas Instruments
- 16 × 2 Punktmatrix-LCD-Anzeige
- Kabel anschließen
- Energia IDE
Kurze Einführung in das 16 × 2-Punktmatrix-LCD-Display:
Wie bereits erwähnt, bietet die Energia IDE eine schöne Bibliothek, die die Schnittstelle zu einem Kinderspiel macht. Daher ist es nicht zwingend erforderlich, etwas über das Anzeigemodul zu wissen. Aber wäre es nicht interessant zu zeigen, was wir verwenden !!
Der Name 16 × 2 impliziert, dass die Anzeige 16 Spalten und 2 Zeilen enthält, die zusammen (16 * 2) 32 Felder bilden. Eine einzelne Box würde im Bild unten ungefähr so aussehen
Eine einzelne Box hat 40 Pixel (Punkte) mit einer Matrixreihenfolge von 5 Zeilen und 8 Spalten. Diese 40 Pixel bilden zusammen ein Zeichen. Ebenso können 32 Zeichen in allen Feldern angezeigt werden. Schauen wir uns nun die Pinbelegung an.
Das LCD verfügt über insgesamt 16 Pins. Wie oben gezeigt, können diese wie folgt in vier Gruppen eingeteilt werden
Quellstifte (1, 2 und 3): Diese Stifte geben die Leistung und den Kontrast für das Display an
Steuerpins (4, 5 und 6): Diese Pins setzen / steuern die Register im LCD-Schnittstellen-IC (mehr dazu finden Sie unter dem folgenden Link).
Daten- / Befehls-Pins (7 bis 14): Diese Pins geben die Daten darüber an, welche Informationen auf dem LCD angezeigt werden sollen.
LED-Pins (15 und 16): Diese Pins werden verwendet, um die Hintergrundbeleuchtung des LCD bei Bedarf zu leuchten (optional).
Von all diesen 16 Pins dürfen nur 10 Pins für die ordnungsgemäße Funktion des LCD verwendet werden, wenn Sie mehr über diese LCD-Anzeige erfahren möchten. Springen Sie zu diesem LCD-Artikel.
Schaltplan und Anschluss:
Das vollständige Schaltbild zur Schnittstelle eines 16 × 2-Punktmatrix-LCD-Displays mit MSP430G2 ist unten dargestellt.
Eine Hauptbeschränkung bei der Verbindung dieser beiden sind ihre Betriebsspannungen. Das LCD-Display hat eine Betriebsspannung von +5 V, während der MSP nur mit 3,6 V arbeitet. Glücklicherweise hat der Daten-Pin des LCD-Schnittstellen-IC (HD44780U) eine breite Betriebsspannung von 2,7 V bis 5,5 V. Wir müssen uns also nur um die Vdd (Pin 2) des LCD kümmern, während die Datenpins auch mit 3,6 V arbeiten können.
Die MSP430G2-Karte gibt Ihnen standardmäßig keinen + 5V-Pin, aber wir können einen kleinen Hack durchführen, um +5V vom MSP430 über den USB-Anschluss zu erhalten. Wenn Sie sich den USB-Anschluss genau ansehen, finden Sie ein Terminal namens TP1. Dieses Terminal gibt uns + 5V. Alles, was wir tun müssen, ist, einen kleinen Stecker wie unten gezeigt zu löten, damit wir ihn an unser LCD-Display anschließen können.
Hinweis: Schließen Sie keine Lasten, die mehr als 50 mA verbrauchen könnten, an diese 5-V-Pins an, da dies Ihren USB-Anschluss beschädigen könnte.
Wenn Sie nicht am Löten interessiert sind, verwenden Sie einfach eine geregelte + 5V-Versorgung und versorgen Sie das LCD mit Strom. Stellen Sie in diesem Fall sicher, dass Sie die Masse Ihres Netzteils mit der Masse der MSP-Platine verbinden.
Sobald Sie mit dem + 5V-Pin fertig sind, sind die anderen Pins ziemlich einfach. Nachdem unsere Hardware fertig ist, fahren wir mit dem Softwareteil fort.
Programmieren von MSP430 für LCD mit Energia:
Das vollständige Programm zum Anschließen eines MSP430G2553 an das LCD-Display finden Sie am Ende dieser Seite. Der Code kann als solcher kompiliert, hochgeladen und verwendet werden. In den folgenden Abschnitten werde ich erklären, wie das Programm funktioniert.
Bevor wir mit der Erklärung fortfahren, müssen wir die von uns verwendeten Stifte notieren. Wenn Sie sich das Schaltbild oben und das Pinbelegungsdiagramm MSP430 unten ansehen
Sie können daraus schließen, dass wir das LCD gemäß der folgenden Tabelle angeschlossen haben
LCD-Pin-Name |
Verbunden |
Vss |
Boden |
Vdd |
+ 5V USB Pin |
Rs |
Pin 2 von MSP |
R / W. |
Boden |
Aktivieren |
Pin 3 von MSP |
D4 |
Pin 4 von MSP |
D5 |
Pin 5 von MSP |
D6 |
Pin 6 von MSP |
D7 |
Pin 7 von MSP |
In diesem Sinne definieren wir zunächst die in unserem Programm verwendeten LCD-Pins. Wir werden jeden Pin mit einem aussagekräftigeren Namen benennen, damit wir ihn später problemlos verwenden können.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Dies bedeutet einfach, dass ich Pin 2 nicht aufrufen kann, sondern im Folgenden als RS bezeichnen kann, ähnlich wie bei allen 6 Pins.
Der nächste Schritt wäre die Aufnahme der LCD-Bibliothek. Diese Bibliothek wurde automatisch installiert, als Sie die Energia IDE installiert haben. Fügen Sie es einfach in der folgenden Zeile hinzu
#einschließen
Der nächste Schritt besteht darin, die Pins zu erwähnen, mit denen das LCD verbunden ist. Da wir es bereits mit #define benannt haben, können wir jetzt einfach die Namen der LCD-Pins erwähnen. Stellen Sie sicher, dass die gleiche Reihenfolge eingehalten wird.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Gehen wir nun zur Funktion void setup () über . Es gibt so viele Arten von LCD-Displays, die sich in Größe und Art unterscheiden. Wir verwenden 16 * 2, also geben wir dies in unserem Programm an
lcd.begin (16, 2);
Um etwas auf das LCD zu drucken, müssen wir zwei Dinge im Programm erwähnen. Eine ist die Position des Textes, die mit der Zeile lcd.setCursor () angegeben werden kann, und die andere ist der zu druckende Inhalt, der mit lcd.print () angegeben werden kann. In dieser Linie sind wir Setzen des Cursors auf 1 st Zeile und 1 st Spalte.
lcd.setCursor (0,0);
Ebenso können wir auch
lcd.setCursor (0, 1); // setze den Cursor auf 1. Spalte 2. Zeile
Genau wie beim Löschen eines Whiteboards nach dem Schreiben sollte auch ein LCD gelöscht werden, sobald etwas darauf geschrieben ist. Dies kann mithilfe der folgenden Zeile erfolgen
lcd.clear ();
Die vollständige void setup () -Funktion würde also ungefähr so aussehen.
void setup () {lcd.begin (16, 2); // Wir verwenden eine 16 * 2 LCD-Anzeige lcd.setCursor (0,0); // Platziere den Cursor in der 1. Zeile 1. Spalte lcd.print ("MSP430G2553"); // Eine Intro-Nachricht anzeigen lcd.setCursor (0, 1); // setze den Cursor auf 1. Spalte 2. Zeile lcd.print ("- CircuitDigest"); // Anzeige einer Intro-Nachrichtenverzögerung (2000); // Warte auf die Anzeige, um info lcd.clear () anzuzeigen; // Dann reinige es}
Als nächstes erhöhen wir in unserer Funktion void loop () alle 500 ms eine Zahl und zeigen die Zahl auf dem LCD an. Diese Nummer wird getestet und wie unten gezeigt auf 1 initialisiert
int test = 1;
Um eine Verzögerung zu erzeugen, können wir die eingebaute Funktion delay () verwenden. Wir müssen erwähnen, wie viel Zeit wir brauchen, um die Verzögerung aufzutreten. In unserem Fall habe ich 500 ms verwendet, wie unten gezeigt
Verzögerung (500);
Das Inkrementieren einer Variablen kann durch test ++ erfolgen, der Rest ist bereits erklärt. Der vollständige Code innerhalb der Void-Schleife ist unten dargestellt
void loop () {lcd.print ("LCD mit MSP"); // Eine Intro-Nachricht anzeigen lcd.setCursor (0, 1); // setze den Cursor auf Spalte 0, Zeile 1 lcd.print (test); // Anzeige einer Intro-Nachrichtenverzögerung (500); lcd.clear (); // Dann bereinige es test ++; }}
16x2 LCD mit MSP430G2:
Sobald Ihre Hardware und Ihr Code fertig sind, schließen Sie einfach Ihr Board an den Computer an und laden Sie den Code wie in Tutorial 1 hoch. Sobald der Code hochgeladen ist, sollte auf dem Display Folgendes angezeigt werden.
Nach zwei Sekunden wechselt der Anzeigebildschirm von Setup zu Loop und beginnt mit dem Inkrementieren der Variablen und der Anzeige auf dem Bildschirm, wie im folgenden Bild gezeigt.
Die komplette Arbeit finden Sie im Video unten. Versuchen Sie, die Anzeige auf dem LCD zu ändern, und spielen Sie damit. Ich hoffe, Sie haben das Tutorial verstanden und daraus etwas Nützliches gelernt. Wenn Sie irgendwelche Zweifel haben, lassen Sie sie im Kommentarbereich unten oder nutzen Sie die Foren. Treffen wir uns in einem anderen Tutorial.