- Szükséges anyagok:
- Rövid bemutatás a 16 × 2 Dot Matrix LCD kijelzőről:
- Áramkör és csatlakozás:
- MSP430 programozása LCD-hez az Energia használatával:
- 16x2 LCD MSP430G2-vel:
Ez a harmadik oktatóanyag az oktatósorozatban, amelyben megtanuljuk az MSP430G2 LaunchPad programozását az Energia IDE segítségével. Korábbi oktatóanyagunkban megtanultuk, hogyan kell vezérelni a digitális bemenet és kimenet csapokat az MSP-alaplapunkon. Ebben az oktatóanyagban megtanuljuk, hogyan kell összekapcsolni az LCD-t a táblával, hogy hasznos információkat tudjunk megjeleníteni.
Az LCD, amelyet ebben a projektben használunk, a leggyakrabban használt 16 × 2 Dotrix mátrix LCD kijelző, akan alfanumerikus kijelzők. Legtöbben akár nyilvános PCO-k, akár más elektronikai projektek révén találkozhattunk volna ezzel. Egy ilyen megjelenítés nagyon hasznos lesz a jövőbeni oktatóanyagok számára az adatok és egyéb hibakeresési információk megjelenítéséhez. Az LCD és az MSP430 összekapcsolása a rendelkezésre álló könyvtárnak köszönhetően nagyon egyszerű. Szóval merüljünk el !!
Szükséges anyagok:
- MSP430G2 LaunchPad a Texas Instruments-től
- 16 × 2 pont mátrixú LCD kijelző
- Csatlakozó vezetékek
- Energia IDE
Rövid bemutatás a 16 × 2 Dot Matrix LCD kijelzőről:
Amint azt korábban elmondtuk, az Energia IDE egy gyönyörű könyvtárat kínál, amely az összekötő darabot torta darabjává teszi, ezért nem kötelező semmit sem tudni a kijelző modulról. De nem lenne érdekes bemutatni, hogy mit használunk !!
A 16 × 2 név azt jelenti, hogy a kijelzőn 16 oszlop és 2 sor van, amelyek együtt (16 * 2) 32 mezőt alkotnak. Egyetlen doboz valami ilyesmit mutatna az alábbi képen
Egyetlen dobozban 40 pixel (pont) van, 5 mátrix sorrendben és 8 oszlopban, ezek a 40 pixel együtt egy karaktert alkot. Hasonlóképpen 32 karakter jeleníthető meg az összes mezőben. Most vessünk egy pillantást a pinoutokra.
Az LCD-n összesen 16 érintkezõ van, amint a fent látható, négy csoportba sorolhatók, például az alábbiak szerint
Forráscsapok (1., 2. és 3.): Ezek a csapok adják meg a kijelző teljesítményét és kontrasztját
Vezérlőcsapok (4, 5 és 6): Ezek a csapok beállítják / vezérlik a regisztereket az LCD interfész IC-ben (további információ az alábbi linken található)
Adat / Parancs csapok (7–14): Ezek a csapok adják meg az adatokat arról, hogy milyen információkat kell megjeleníteni az LCD-n.
LED csapok (15 és 16): Ezeket a csapokat az LCD háttérvilágításának megvilágítására használják, ha szükséges (opcionális).
Ebből a 16 tűből csak 10 tűt kell kötelezően használni az LCD megfelelő működéséhez, ha többet szeretne megtudni ezekről az LCD kijelzőkről.
Áramkör és csatlakozás:
Az alábbiakban bemutatjuk a teljes kapcsolási rajzot egy 16 × 2 Dotrix mátrix LCD kijelző és az MSP430G2 összekapcsolására.
A kettő összekapcsolása során az egyik fő korlát az üzemi feszültségük. Az LCD kijelző működési feszültsége + 5 V, míg az MSP csak 3,6 V feszültséggel működik. Szerencsénk az LCD interfész IC (HD44780U) adatcsapjának széles üzemi feszültsége 2,7 V és 5,5 V között van. Tehát csak az LCD Vdd (2. tűje) miatt kell aggódnunk, miközben az adatcsapok még 3,6 V esetén is működhetnek.
Az MSP430G2 alaplap alapértelmezés szerint nem ad + 5V-es tűt, de egy kis feltöréssel megtehetjük , hogy az USB-port használatával + 5V-t kapjunk az MSP430-tól. Ha alaposan szemügyre veszi az USB port közelében található TP1 nevű terminál, ez a terminál + 5v-t ad. Csak annyit kell tennünk, hogy forrasztunk egy kicsi férfi fejlécet az alábbiak szerint, hogy csatlakoztathassuk az LCD-kijelzőnkhöz.
Megjegyzés: Ne csatlakoztasson ehhez az 5 V-os tűhöz olyan terheléseket, amelyek meghaladhatják az 50 mA-t, mert megsülheti az USB-portot.
Ha nem érdekli a forrasztás, egyszerűen használjon bármilyen + 5 V-os szabályozott tápfeszültséget, és táplálja az LCD-t, ebben az esetben győződjön meg róla, hogy a tápegység földjét az MSP kártya földeléséhez csatlakoztatta.
Miután végzett az + 5V-os tűvel, a többi érintkező összekapcsolása nagyjából egyszerű. Most, hogy a hardverünk készen áll, térjünk át a szoftver részre.
MSP430 programozása LCD-hez az Energia használatával:
Az MSP430G2553 LCD kijelzővel történő összekapcsolásának teljes programja az oldal végén található. A kód összeállítható, feltölthető és felhasználható. A következő bekezdésekben elmagyarázom a program működését.
Mielőtt elmagyaráznánk, meg kell jegyeznünk az általunk használt csapokat. Ha megnézi a fenti kapcsolási rajzot és az alábbi MSP430 kitűzési diagramot
Arra a következtetésre juthat, hogy az LCD-t a következő táblázat szerint csatlakoztattuk
LCD tű neve |
Csatlakozva valamihez |
Vss |
Talaj |
Vdd |
+ 5 V-os USB tű |
Rs |
Az MSP 2. tűje |
R / W |
Talaj |
Engedélyezze |
Az MSP 3. tűje |
D4 |
Az MSP 4. tűje |
D5 |
Az MSP 5. tűje |
D6 |
Az MSP 6. tűje |
D7 |
Az MSP 7. tűje |
Ezt szem előtt tartva kezdjük el meghatározni a programunkban használt LCD csapokat. Mindegyik csapot értelmesebb névvel fogjuk megnevezni, hogy később könnyen használhassuk.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Ez egyszerűen azt jelenti, hogy a 2. tű meghívása helyett RS-ként hivatkozhatok a továbbiakban, hasonlóan mind a 6 érintkezőhöz.
A következő lépés az LCD könyvtár felvétele lenne. Ezt a könyvtárat az Energia IDE telepítésekor automatikusan telepítették volna. Tehát egyszerűen adja hozzá a következő sor használatával
#include
A következő lépés a csapok megemlítése, amelyekhez az LCD csatlakozik, mivel a #define segítségével már megneveztük, most egyszerűen megemlíthetjük az LCD csapok nevét. Győződjön meg arról, hogy ugyanazt a sorrendet követi.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Most lépjünk át a void setup () függvénybe. Olyan sokféle LCD kijelző található, amelyek mérete és jellege változik, az általunk használt méret 16 * 2, ezért adjuk meg ezt a programunkban
lcdbegin (16, 2);
Ahhoz, hogy valamit kinyomtassunk az LCD-re, két dolgot kell megemlítenünk a programban. Az egyik a szöveg helyzete, amelyet meg lehet említeni az lcd.setCursor () sor használatával, a másik pedig a nyomtatandó tartalom, amelyet az lcd.print () megemlíthet . Ebben a sorban állítjuk a kurzort 1. sorra és 1. oszlopra.
lcd.setCursor (0,0);
Hasonlóképpen mi is
lcd.setCursor (0, 1); // állítsa a kurzort az 1. oszlop 2. sorára
Csakúgy, mint egy tábla törlése, miután ráírta, az LCD-t is törölni kell, ha valami rá van írva. Ez megtehető az alábbi sor használatával
lcd.clear ();
Tehát a teljes void setup () függvény valami ilyesmit mutatna.
void setup () {lcd.begin (16, 2); // 16 * 2 LCD kijelzőt használunk: lcd.setCursor (0,0); // Helyezze a kurzort az 1. sor 1. oszlopához az lcd.print ("MSP430G2553"); // Bevezető üzenet megjelenítése lcd.setCursor (0, 1); // állítsa a kurzort az 1. oszlop 2. sorának lcd.print ("- CircuitDigest"); // Bevezető üzenet késleltetésének megjelenítése (2000); // Várja meg, amíg megjelenik az információ az lcd.clear (); // Ezután tisztítsa meg}
Ezután a void loop () függvényünkben folyamatosan növeljük a számot 500 ms-onként, és jelenítsük meg a számot az LCD-n. Ez a szám tesztel, és 1-re inicializálják az alábbiak szerint
int teszt = 1;
Ahhoz, hogy hozzon létre egy késés tudjuk használni a beépített függvény késleltetés (). Meg kell említenünk, mennyi időre van szükségünk a késés bekövetkezéséhez. Esetünkben 500 ms-ot használtam az alábbiak szerint
késés (500);
Egy változó növelése a ++ teszttel történhet, a többit már megmagyaráztuk. A teljes kód belsejében void loop alábbiakban látható
void loop () {lcd.print ("LCD MSP-vel"); // Bevezető üzenet megjelenítése lcd.setCursor (0, 1); // állítsa a kurzort a 0. oszlop 1. sorához lcd.print (teszt); // Bevezető üzenet késleltetésének megjelenítése (500); lcd.clear (); // Ezután tisztítsa meg teszt ++; }
16x2 LCD MSP430G2-vel:
Miután elkészült a hardver és a kód, egyszerűen csatlakoztassa a fedélzetet a számítógéphez, és töltse fel a kódot, ahogy az első bemutatóban tettük. A kód feltöltése után látnia kell a kijelzőt, amely a következőket mutatja.
Két másodperc múlva a kijelző a beállítástól a ciklusig változik, és az alábbi képen látható módon növekszik a változó és a kijelző.
A teljes munka az alábbi videóban található. Menjen előre, és próbálja megváltoztatni az LCD-n megjelenő tartalmat, és játsszon vele. Remélem, megértette a bemutatót, és valami hasznosat megtanult belőle. Ha kétségei vannak, hagyja őket az alábbi megjegyzés részben, vagy használja a fórumokat. Találkozzunk egy másik bemutatón.