- Potrebni materiali:
- Kratek uvod v matrični LCD zaslon 16 × 2 piki:
- Shema vezja in povezava:
- Programiranje MSP430 za LCD z uporabo energije Energia:
- LCD 16x2 z MSP430G2:
To je tretja vadnica v zaporedju vadnic, v kateri se učimo programirati MSP430G2 LaunchPad z uporabo Energia IDE. V prejšnji vadnici smo se naučili, kako upravljati digitalne vhodne in izhodne nožice na naši plošči MSP. V tej vadnici bomo izvedeli, kako povezati LCD s ploščo, tako da lahko prikažemo koristne informacije.
LCD, ki ga uporabljamo v tem projektu, je najpogosteje uporabljen matrični LCD zaslon 16 × 2 pike kot alfanumerični zasloni. Večina nas bi se s tem srečala bodisi z javnimi PCO-ji bodisi z drugimi elektronskimi projekti. Takšen zaslon bo zelo koristen za naše prihodnje vadnice za prikaz podatkov in drugih informacij o odpravljanju napak. Povezava tega LCD-ja z MSP430 je zelo preprosta, zahvaljujoč razpoložljivi knjižnici. Potopimo se torej !!
Potrebni materiali:
- MSP430G2 LaunchPad podjetja Texas Instruments
- 16 × 2 matrični LCD zaslon
- Priključne žice
- Energia IDE
Kratek uvod v matrični LCD zaslon 16 × 2 piki:
Kot smo že povedali, ima Energia IDE čudovito knjižnico, ki naredi povezovanje kos torte, zato ni treba vedeti ničesar o prikazovalnem modulu. Ampak, ali ne bi bilo zanimivo pokazati, kaj uporabljamo !!
Ime 16 × 2 pomeni, da ima zaslon 16 stolpcev in 2 vrstici, kar skupaj (16 * 2) tvori 32 polj. Ena sama škatla bi izgledala nekako takole na spodnji sliki
Eno polje vsebuje 40 pik (pik) z vrstnim redom matrike 5 vrstic in 8 stolpcev, teh 40 pik skupaj tvori en znak. Podobno je v vseh poljih mogoče prikazati 32 znakov. Zdaj pa si oglejmo pinouts.
LCD ima skupaj 16 nožic, kot je prikazano zgoraj, jih lahko razvrstimo v štiri skupine, kot sledi
Izvorni zatiči (1, 2 in 3): ti zatiči napajajo moč in kontrast zaslona
Nadzorni zatiči (4, 5 in 6): ti zatiči nastavljajo / nadzirajo registre v vmesniški IC povezave LCD (več tega najdete na spodnji povezavi)
Zatiči za podatke / ukaze (7 do 14): Ti zatiči zagotavljajo podatke o tem, katere informacije naj bodo prikazane na LCD-prikazovalniku.
LED zatiči (15 in 16): ti zatiči se po potrebi uporabljajo za osvetlitev ozadja LCD-ja (neobvezno).
Od vseh teh 16 zatičev je treba le 10 zatičev obvezno uporabiti za pravilno delovanje LCD-ja, če želite izvedeti več o teh zaslonih LCD-ja, pojdite na ta članek o LCD-ju.
Shema vezja in povezava:
Spodaj je prikazan celoten diagram vezja za vmesnik matričnega LCD zaslona 16 × 2 pike z MSP430G2.
Ena glavnih ovir pri povezovanju teh dveh je njihova obratovalna napetost. LCD zaslon ima delovno napetost + 5V, medtem ko MSP deluje le s 3,6V. Na našo srečo ima podatkovni zatič LCD vmesnika IC (HD44780U) široko delovno napetost od 2,7 do 5,5 V. Skrbeti moramo torej le za Vdd (pin 2) LCD-ja, medtem ko lahko podatkovni zatiči delujejo tudi s 3,6 V.
Plošča MSP430G2 vam privzeto ne daje + 5V zatiča, lahko pa z majhnimi krampami dobimo + 5V od MSP430 prek vrat USB. Če si blizu ogledate vrata USB, lahko najdete terminal TP1, ki nam bo dal + 5v. Vse, kar moramo storiti, je, da spajkamo majhen moški zatič, kot je prikazano spodaj, da ga lahko povežemo z našim LCD zaslonom.
Opomba: Na ta 5V zatič ne priključujte obremenitev, ki bi lahko porabile več kot 50 mA, saj bi to lahko pržilo vrata USB.
Če vas spajkanje ne zanima, preprosto uporabite katero koli napajalno enoto + 5V in napajajte LCD, v tem primeru pazite, da ozemljitev napajalnika priključite na maso plošče MSP.
Ko končate s + 5V zatičem, ki povezuje ostale zatiče, je precej enostavno. Zdaj, ko je naša strojna oprema pripravljena, pojdimo na programski del.
Programiranje MSP430 za LCD z uporabo energije Energia:
Celoten program vmesnik je MSP430G2553 z LCD zaslonom je podan na koncu te strani. Kodo je mogoče sestaviti, naložiti in uporabiti kot tako. V naslednjih odstavkih bom razložil, kako program deluje.
Preden nadaljujemo z razlago, si moramo zabeležiti zatiče, ki jih uporabljamo. Če si ogledate zgornji diagram in spodnji diagram pin-out MSP430
Sklenete lahko, da smo LCD povezali v skladu s spodnjo tabelo
Ime pin LCD |
Povezan z |
Vss |
Tla |
Vdd |
+ 5V USB pin |
Rs |
Zatič 2 MSP |
R / W |
Tla |
Omogoči |
Zatič 3 MSP |
D4 |
Zatič 4 MSP |
D5 |
Zatič 5 MSP |
D6 |
Zatič 6 MSP |
D7 |
Zatič 7 MSP |
S tem v mislih začnimo z definiranjem zatičev LCD, ki se uporabljajo v našem programu. Vsak žebljiček bomo poimenovali z bolj pomenljivim imenom, da ga bomo lahko kasneje zlahka uporabili.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
To preprosto pomeni, da namesto da bi poklical pin 2, ga lahko v nadaljevanju označim za RS, podobno za vseh 6 nožic.
Naslednji korak bi bil vključitev knjižnice LCD. Ta knjižnica bi bila nameščena samodejno, ko bi namestili program Energia IDE. Torej samo dodajte z naslednjo vrstico
#include
Naslednji korak je omemba zatičev, na katere je povezan LCD, saj smo ga že poimenovali s pomočjo #define, zdaj lahko preprosto omenimo imena zatičev LCD. Poskrbite, da se upošteva isti vrstni red.
LCD LiquidCrystal (RS, EN, D4, D5, D6, D7);
Zdaj pa gremo naprej v void setup () funkcijo. Obstaja toliko vrst LCD zaslonov, ki se razlikujejo po velikosti in naravi, tista, ki jo uporabljamo, je 16 * 2, zato določimo, da je v našem programu
lcd.begin (16, 2);
Če želimo nekaj natisniti na LCD, moramo v programu omeniti dve stvari. Eno je položaj besedila, ki ga lahko omenimo s pomočjo vrstice lcd.setCursor (), drugo pa vsebina za tiskanje, ki jo lahko omenimo z lcd.print (). V skladu s tem smo nastavitev kazalec na 1 st zapored in 1. st stolpca.
lcd.setCursor (0,0);
Podobno lahko tudi mi
lcd.setCursor (0, 1); // kurzor nastavimo na 1. stolpec 2. vrstica
Tako kot brisanje bele table po pisanju nanjo, bi tudi LCD moral biti izbrisan, ko je na njem kaj zapisano. To lahko storite z uporabo spodnje vrstice
lcd.clear ();
Torej bi celotna funkcija void setup () izgledala nekako takole.
void setup () {lcd.begin (16, 2); // Uporabljamo LCD zaslon 16 * 2 lcd.setCursor (0,0); // Postavite kazalko na 1. vrstico 1. stolpec lcd.print ("MSP430G2553"); // Prikažemo uvodno sporočilo lcd.setCursor (0, 1); // kurzor nastavimo na 1. stolpec 2. vrstica lcd.print ("- CircuitDigest"); // Prikažemo zakasnitev uvodnega sporočila (2000); // Počakajte, da se na zaslonu prikažejo informacije lcd.clear (); // Potem očisti}
Nato znotraj funkcije void loop () nadaljujmo s povečevanjem števila za vsakih 500 ms in prikažemo številko na LCD-prikazovalniku. To število preizkusi in je inicializirano na 1, kot je prikazano spodaj
int test = 1;
Če želite ustvariti zamudo, lahko uporabimo vgrajeno funkcijo delay (). Omeniti moramo, koliko časa potrebujemo zamudo. V našem primeru sem uporabil 500 ms, kot je prikazano spodaj
zamuda (500);
Povečanje spremenljivke lahko izvedemo s testom ++, ostalo so že razložene. Popolna koda znotraj praznine zanke je prikazano spodaj
void loop () {lcd.print ("LCD z MSP"); // Prikažemo uvodno sporočilo lcd.setCursor (0, 1); // kurzor nastavimo na stolpec 0, vrstica 1 lcd.print (test); // prikaže zakasnitev uvodnega sporočila (500); lcd.clear (); // Nato ga očistite test ++; }
LCD 16x2 z MSP430G2:
Ko sta vaša strojna oprema in koda pripravljeni, preprosto priključite računalnik in naložite kodo, kot smo to storili v prvem priročniku. Ko je koda naložena, se na zaslonu prikaže naslednje.
Po dveh sekundah se zaslon zaslona spremeni iz nastavitve v zanko in začne spreminjati spremenljivko ter se prikaže na zaslonu, kot je prikazano na spodnji sliki.
Celoten delovni najdete v videu spodaj. Nadaljujte in poskusite spremeniti tisto, kar je prikazano na LCD-prikazovalniku, in se poigrajte z njim. Upam, da ste razumeli vadnico in se iz nje naučili nekaj koristnega. Če dvomite, jih pustite v spodnjem oddelku za komentarje ali uporabite forume. Spoznajmo se v drugi vadnici.