- Materials necessaris:
- Introducció breu a la pantalla LCD de matriu de 16 × 2 punts:
- Diagrama del circuit i connexió:
- Programació de MSP430 per a LCD mitjançant Energia:
- LCD de 16 x 2 amb MSP430G2:
Aquest és el tercer tutorial de la seqüència de tutorials en què estem aprenent a programar el LaunchPad MSP430G2 mitjançant l'IDE Energia. En el nostre tutorial anterior, vam aprendre a controlar els pins d’entrada i sortida digitals de la nostra placa MSP. En aquest tutorial, aprendrem a relacionar una pantalla LCD amb la placa per poder mostrar informació útil.
La pantalla LCD que estem utilitzant en aquest projecte és la pantalla LCD de matriu de punts de 16 × 2 més utilitzada amb pantalles alfanumèriques. La majoria de nosaltres ens ho hauríem trobat a través de PCO públics o altres projectes electrònics. Una pantalla com aquesta serà molt útil perquè els nostres futurs tutorials mostrin dades i altra informació de depuració. La interfície d'aquesta pantalla LCD amb MSP430 és molt fàcil, gràcies a la biblioteca disponible. Així que anem a submergir-nos !!
Materials necessaris:
- MSP430G2 LaunchPad de Texas Instruments
- Pantalla LCD de matriu de 16 × 2 punts
- Connexió de cables
- Energia IDE
Introducció breu a la pantalla LCD de matriu de 16 × 2 punts:
Com es va dir anteriorment, l'Energia IDE proporciona una biblioteca que fa que la interfície sigui un tros de pastís i, per tant, no és obligatori saber res sobre el mòdul de visualització. Però, no seria interessant mostrar el que estem fent servir?
El nom 16 × 2 implica que la pantalla té 16 columnes i 2 files, que juntes (16 * 2) formen 32 quadres. Una sola caixa semblaria semblant a la imatge següent

Una sola caixa té 40 píxels (punts) amb un ordre de matriu de 5 files i 8 columnes; aquests 40 píxels formen un sol caràcter. De la mateixa manera, es poden mostrar 32 caràcters amb totes les caselles. Ara fem una ullada als pinouts.

La pantalla LCD té un total de 16 pins, tal com es mostra més amunt, es poden classificar en quatre grups, com segueix
Pins d'origen (1, 2 i 3): aquests pins donen la potència i el nivell de contrast de la pantalla
Pins de control (4, 5 i 6): aquests pins configuren / controlen els registres del circuit d'interfície LCD d'interfície (més es pot trobar a l'enllaç següent)
Dades / Pins d'ordres (7 a 14): aquests pins proporcionen les dades de la informació que s'hauria de mostrar a la pantalla LCD.
Pins LED (15 i 16): aquests pins s'utilitzen per il·luminar la llum de fons de la pantalla LCD si cal (opcional).
De tots aquests 16 pins, només s’han d’utilitzar 10 pins obligatoris per al funcionament correcte de la pantalla LCD si voleu obtenir més informació sobre aquest display LCD.
Diagrama del circuit i connexió:
A continuació es mostra el diagrama de circuits complet per connectar una pantalla LCD de matriu de punts de 16 × 2 amb MSP430G2.

Una de les principals restriccions en la interfície d’aquestes dues són les seves tensions de funcionament. La pantalla LCD té una tensió de servei de +5 V mentre que el MSP només funciona amb 3.6V. Per sort, el pin de dades de la interfície LCD IC (HD44780U) té una àmplia tensió de funcionament de 2,7 V a 5,5 V. Per tant, només ens hem de preocupar del Vdd (pin 2) de la pantalla LCD, mentre que els pins de dades poden funcionar fins i tot amb 3.6V.
Per defecte, la placa MSP430G2 no us proporciona un pin de + 5V, però sí podem fer un petit hack per obtenir + 5V de MSP430 mitjançant el port USB. Si us fixeu a prop del port USB, podeu trobar un terminal anomenat TP1, aquest terminal ens donarà + 5v. Tot el que hem de fer és soldar un petit pin de capçalera masculí com es mostra a continuació per connectar-lo a la pantalla LCD.

Nota: No connecteu càrregues que puguin consumir més de 50 mA a aquest pin de 5 V, ja que pot fregir el vostre port USB.
Si no us interessa soldar, simplement utilitzeu qualsevol subministrament regulat de + 5 V i alimenteu la pantalla LCD, en aquest cas, assegureu-vos de connectar la terra de la font d'alimentació a la terra de la placa MSP.
Un cop hàgiu acabat amb el pin de + 5 V, la connexió dels altres pins és pràcticament senzilla. Ara que el nostre maquinari està a punt, anem a la part de programari.
Programació de MSP430 per a LCD mitjançant Energia:
Al final d'aquesta pàgina es proporciona el programa complet per a la interfície d'un MSP430G2553 amb pantalla LCD. El codi es pot compilar, penjar i utilitzar com a tal. En els paràgrafs següents, explicaré el funcionament del programa.
Abans de continuar amb l'explicació, hem de prendre nota dels pins que estem utilitzant. Si mireu el diagrama de circuits anterior i el diagrama de pin-out MSP430 a continuació

Podeu concloure que hem connectat la pantalla LCD segons la taula següent
|
Nom del pin LCD |
Connectat a |
|
Vss |
Terra |
|
Vdd |
+ Pin USB de 5V |
|
Rs |
Pin 2 de MSP |
|
R / N |
Terra |
|
Activa |
Pin 3 de MSP |
|
D4 |
Pin 4 de MSP |
|
D5 |
Pin 5 de MSP |
|
D6 |
Pin 6 de MSP |
|
D7 |
Pin 7 de MSP |
Amb això en ment, comencem a definir els pins LCD utilitzats al nostre programa. Anomenarem cada pin amb un nom més significatiu perquè el puguem utilitzar fàcilment més endavant.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Això significa simplement que, en lloc de trucar al pin 2, el puc referir a RS com a continuació, de manera similar per als 6 pins.
El següent pas seria incloure la biblioteca LCD. Aquesta biblioteca s’hauria instal·lat automàticament en instal·lar l’Energia IDE. Per tant, només cal afegir-lo mitjançant la següent línia
#incloure
El següent pas és esmentar els pins als quals està connectat el LCD, ja que ja l’hem anomenat mitjançant el #define , ara només podem esmentar els noms dels pins LCD. Assegureu-vos que es segueixi el mateix ordre.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Ara anem a passar a la configuració de buit () la funció. Hi ha tants tipus de pantalles LCD que varien en mida i naturalesa, la que estem utilitzant és de 16 * 2, així que especifiquem-ho al nostre programa
lcd.begin (16, 2);
Per imprimir alguna cosa a la pantalla LCD hem d’esmentar dues coses del programa. Una és la posició del text que es pot esmentar mitjançant la línia lcd.setCursor () i l’altra és el contingut a imprimir que es pot esmentar amb lcd.print (). En aquesta línia estem configurant el cursor a la primera fila i a la primera columna.
lcd.setCursor (0,0);
De la mateixa manera, també podem
lcd.setCursor (0, 1); // estableix el cursor a la primera columna, a la segona fila
Igual que esborrar una pissarra després d’escriure-hi, també s’hauria d’esborrar una pantalla LCD un cop hi hagi escrit alguna cosa. Això es pot fer mitjançant la línia següent
lcd.clear ();
Pel que la completa void setup () funció seria alguna cosa com això.
void setup () {lcd.begin (16, 2); // Estem utilitzant una pantalla LCD de 16 * 2 lcd.setCursor (0,0); // Col·loqueu el cursor a la primera fila 1a columna lcd.print ("MSP430G2553"); // Mostra un missatge d'introducció lcd.setCursor (0, 1); // configureu el cursor a la primera columna 2a fila lcd.print ("- CircuitDigest"); // Mostra un retard de missatge d'introducció (2000); // Espereu que la pantalla mostri informació lcd.clear (); // Després neteja-ho}
A continuació, dins de la nostra funció void loop () , anem incrementant un número per cada 500 ms i mostrant el número a la pantalla LCD. Aquest número es prova i s’inicialitza a 1 com es mostra a continuació
int test = 1;
Per crear un retard, podem utilitzar la funció incorporada delay (). Hem d’esmentar quant de temps necessitem que es produeixi el retard. En el nostre cas, he utilitzat 500 ms com es mostra a continuació
retard (500);
Incrementar una variable es pot fer mitjançant test ++, la resta ja estan explicats. A continuació es mostra el codi complet dins del bucle buit
bucle buit () {lcd.print ("LCD amb MSP"); // Mostra un missatge d'introducció lcd.setCursor (0, 1); // configureu el cursor a la columna 0, línia 1 lcd.print (prova); // Mostra un retard de missatge d'introducció (500); lcd.clear (); // A continuació, netegeu-lo provant ++; }
LCD de 16 x 2 amb MSP430G2:
Un cop el maquinari i el codi estiguin llestos, simplement connecteu el tauler a l'ordinador i pengeu el codi tal com hem fet al tutorial. Un cop carregat el codi, hauríeu de veure la pantalla que mostra el següent.

Al cap de dos segons, la pantalla canviarà de configuració a bucle i començarà a incrementar la variable i es mostrarà a la pantalla com es mostra a la imatge següent.

El funcionament complet es pot trobar al vídeo següent. Seguiu endavant i proveu de canviar el que es mostra a la pantalla LCD i jugueu-hi. Espero que hàgiu entès el tutorial i que hàgiu après alguna cosa útil. Si teniu cap dubte, deixeu-los a la secció de comentaris o utilitzeu els fòrums. Ens reunim en un altre tutorial.
