- Materiale necesare:
- Introducere succintă la afișajul LCD cu matrice de 16 × 2 puncte:
- Diagrama circuitului și conexiunea:
- Programarea MSP430 pentru LCD folosind Energia:
- LCD 16x2 cu MSP430G2:
Acesta este al treilea tutorial din secvența de tutoriale în care învățăm să programăm MSP430G2 LaunchPad folosind Energia IDE. În tutorialul nostru anterior, am învățat cum să controlăm pinii de intrare și ieșire digitale de pe placa MSP. În acest tutorial, vom învăța cum să interfațăm un LCD cu placa, astfel încât să putem afișa informații utile.
Ecranul LCD pe care îl folosim în acest proiect este cel mai frecvent utilizat afișaj LCD cu matrice de 16 × 2 puncte akan Afișări alfanumerice. Cei mai mulți dintre noi am fi întâlnit acest lucru fie prin PCO-uri publice, fie prin alte proiecte electronice. Un astfel de afișaj va fi foarte util pentru viitoarele noastre tutoriale pentru a afișa date și alte informații de depanare. Interfața acestui LCD cu MSP430 este foarte ușoară, datorită bibliotecii disponibile. Așa că hai să ne scufundăm !!
Materiale necesare:
- MSP430G2 LaunchPad de la Texas Instruments
- Afișaj LCD cu matrice de 16 × 2 puncte
- Conectarea firelor
- Energia IDE
Introducere succintă la afișajul LCD cu matrice de 16 × 2 puncte:
După cum am spus mai devreme, Energia IDE oferă o frumoasă bibliotecă care face interfața o bucată de tort și, prin urmare, nu este obligatoriu să știți nimic despre modulul de afișare. Dar, nu ar fi interesant să arătăm ce folosim !!
Numele 16 × 2 implică faptul că afișajul are 16 coloane și 2 rânduri, care împreună (16 * 2) formează 32 de cutii. O singură cutie ar arăta cam așa în imaginea de mai jos
O singură casetă are 40 de pixeli (puncte) cu o ordine matricială de 5 rânduri și 8 coloane, acești 40 de pixeli formând împreună un caracter. În mod similar, 32 de caractere pot fi afișate folosind toate casetele. Acum să aruncăm o privire asupra pinout-urilor.
Ecranul LCD are un total de 16 pini, așa cum se arată mai sus, acestea pot fi clasificate în patru grupuri, după cum urmează
Pinii sursă (1, 2 și 3): acei pin furnizează nivelul de putere și contrast pentru afișaj
Pini de control (4, 5 și 6): acești pini setează / controlează registrele din IC-ul de interfață LCD (mai multe acestea pot fi găsite în linkul de mai jos)
Date / pini de comandă (de la 7 la 14): acești pini furnizează datele despre informațiile care trebuie afișate pe ecranul LCD.
Pinii LED (15 și 16): acești pin sunt utilizați pentru a aprinde lumina de fundal a LCD-ului, dacă este necesar (opțional).
Dintre acești 16 pini, doar 10 pini trebuie utilizați obligatoriu pentru funcționarea corectă a ecranului LCD, dacă doriți să aflați mai multe despre aceste afișaje LCD, treceți la acest articol LCD.
Diagrama circuitului și conexiunea:
Schema completă a circuitului pentru interfața unui afișaj LCD cu matrice de 16 × 2 puncte cu MSP430G2 este prezentată mai jos.
O constrângere majoră în timp ce interfață aceste două este tensiunile lor de funcționare. Afișajul LCD are o tensiune de funcționare de + 5V în timp ce MSP funcționează doar cu 3.6V. Norocos pentru noi pinul de date al interfeței LCD IC (HD44780U) are o tensiune de funcționare largă de 2,7V până la 5,5V. Deci, trebuie să ne facem griji doar pentru Vdd (pinul 2) al LCD-ului, în timp ce pinii de date pot funcționa chiar și cu 3.6V.
Placa MSP430G2 în mod implicit nu vă oferă un pin + 5V, dar putem face un mic hack pentru a obține + 5V de la MSP430 folosind portul USB. Dacă aruncați o privire atentă lângă portul USB, puteți găsi un terminal numit TP1, acest terminal ne va da + 5v. Tot ce trebuie să facem este să lipim un știft mic de tip masculin așa cum se arată mai jos, astfel încât să-l putem conecta la ecranul nostru LCD.
Notă: Nu conectați încărcături care ar putea consuma mai mult de 50mA la acest pin de 5V, s-ar putea să vă prăjească portul USB.
Dacă nu sunteți interesat să lipiți pur și simplu utilizați orice sursă reglementată + 5V și alimentați LCD-ul, în acest caz, asigurați-vă că conectați pământul sursei de alimentare la pământul plăcii MSP.
Odată ce ați terminat cu pinul + 5V, conectarea celorlalți pini este destul de simplă. Acum că hardware-ul nostru este gata, să trecem la partea software.
Programarea MSP430 pentru LCD folosind Energia:
Programul complet pentru interfața unui MSP430G2553 cu afișaj LCD este dat la sfârșitul acestei pagini. Codul poate fi compilat, încărcat și utilizat ca atare. În paragrafele următoare, voi explica cum funcționează programul.
Înainte de a continua cu explicațiile, trebuie să notăm pinii pe care îi folosim. Dacă aruncați o privire, schema de circuit de mai sus și diagrama de fixare MSP430 de mai jos
Puteți concluziona că am conectat ecranul LCD conform tabelului următor
Numele pinului LCD |
Conectat la |
Vss |
Sol |
Vdd |
+ Pin USB 5V |
Rs |
Pinul 2 din MSP |
R / W |
Sol |
Permite |
Pinul 3 al MSP |
D4 |
Pinul 4 din MSP |
D5 |
Pinul 5 din MSP |
D6 |
Pinul 6 din MSP |
D7 |
Pinul 7 din MSP |
Având în vedere acest lucru, să începem să definim pinii LCD utilizați în programul nostru. Vom denumi fiecare pin cu un nume mai semnificativ, astfel încât să-l putem folosi cu ușurință mai târziu.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Acest lucru înseamnă pur și simplu că, în loc să apelez pinul 2, mă pot referi la acesta drept RS în continuare, în mod similar pentru toți cei 6 pini.
Următorul pas ar fi includerea bibliotecii LCD. Această bibliotecă ar fi fost instalată automat atunci când ați instalat Energia IDE. Deci, doar adăugați-l folosind următoarea linie
#include
Următorul pas este să menționăm pinii la care este conectat ecranul LCD, deoarece l-am numit deja folosind #define, putem menționa acum numele pinilor LCD. Asigurați-vă că este respectată aceeași ordine.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Acum, să ne mute în configurare void () funcția. Există atât de multe tipuri de afișaje LCD care variază în funcție de dimensiune și natură, cel pe care îl folosim este 16 * 2, deci să specificăm acest lucru în programul nostru
lcd.inceput (16, 2);
Pentru a imprima ceva pe ecranul LCD trebuie să menționăm două lucruri din program. Una este poziția textului care poate fi menționată folosind linia lcd.setCursor () și alta este conținutul de imprimat care poate fi menționat de lcd.print (). În această linie , setăm cursorul pe primul rând și pe prima coloană.
lcd.setCursor (0,0);
În mod similar, putem, de asemenea
lcd.setCursor (0, 1); // setați cursorul la prima coloană al 2-lea rând
La fel ca ștergerea unei table albe după ce ați scris pe ea, un LCD ar trebui șters și după ce este scris ceva. Acest lucru se poate face folosind linia de mai jos
lcd.clear ();
Deci funcția completă de configurare a golului () ar arăta cam așa.
void setup () {lcd.begin (16, 2); // Folosim un ecran LCD 16 * 2 lcd.setCursor (0,0); // Plasați cursorul pe primul rând prima coloană lcd.print ("MSP430G2553"); // Afișați un mesaj introductiv lcd.setCursor (0, 1); // setați cursorul la prima coloană al 2-lea rând lcd.print ("- CircuitDigest"); // Afișați o întârziere a mesajului introductiv (2000); // Așteptați afișarea pentru a afișa informații lcd.clear (); // Apoi curăță-l}
Apoi, în interiorul funcției void loop () , să continuăm să incrementăm un număr pentru fiecare 500ms și să afișăm numărul pe ecranul LCD. Acest număr testează și este inițializat la 1 așa cum se arată mai jos
test int = 1;
Pentru a crea o întârziere putem folosi funcția încorporată delay (). Trebuie să menționăm cât timp avem nevoie de întârziere. În cazul nostru, am folosit 500ms așa cum se arată mai jos
întârziere (500);
Incrementarea unei variabile se poate face prin test ++, restul toate sunt deja explicate. Codul complet în interiorul buclei gol este prezentată mai jos
bucla void () {lcd.print ("LCD cu MSP"); // Afișați un mesaj introductiv lcd.setCursor (0, 1); // setați cursorul la coloana 0, linia 1 lcd.print (test); // Afișați o întârziere a mesajului de introducere (500); lcd.clear (); // Apoi curăță-l test ++; }
LCD 16x2 cu MSP430G2:
Odată ce hardware-ul și codul dvs. sunt gata, pur și simplu conectați placa la computer și încărcați codul așa cum am făcut în primul tutorial. Odată ce codul este încărcat, ar trebui să vedeți afișajul care arată următoarele.
După două secunde, ecranul de afișare se va schimba de la configurare la buclă și va începe să incrementeze variabila și să se afișeze pe ecran, așa cum se arată în imaginea de mai jos.
Lucrarea completă poate fi găsită în videoclipul de mai jos. Continuați și încercați să modificați ceea ce este afișat pe ecranul LCD și jucați-vă cu el. Sper că ai înțeles tutorialul și ai învățat ceva util din acesta. Dacă aveți nelămuriri, lăsați-le în secțiunea de comentarii de mai jos sau folosiți forumurile. Să ne întâlnim într-un alt tutorial.