- Potrebné materiály:
- Stručný úvod do 16 × 2 Dot matrix LCD displeja:
- Schéma zapojenia a zapojenia:
- Programovanie MSP430 pre LCD pomocou Energia:
- 16 x 2 LCD s MSP430G2:
Toto je tretí tutoriál v poradí tutoriálov, v ktorom sa učíme programovať MSP430G2 LaunchPad pomocou IDE Energia. V našom predchádzajúcom tutoriáli sme sa naučili ovládať piny digitálneho vstupu a výstupu na našej doske MSP. V tomto výučbe sa naučíme, ako prepojiť LCD s doskou, aby sme mohli zobraziť užitočné informácie.
LCD, ktorý v tomto projekte používame, je najbežnejšie používaný 16 × 2 Dot matrix LCD displej ako alfanumerické displeje. Väčšina z nás by na to narazila prostredníctvom verejných PCO alebo iných elektronických projektov. Takéto zobrazenie bude veľmi užitočné pre naše budúce návody na zobrazovanie údajov a ďalších informácií o ladení. Prepojenie tohto LCD displeja s MSP430 je veľmi jednoduché vďaka dostupnej knižnici. Poďme sa teda ponoriť !!
Potrebné materiály:
- MSP430G2 LaunchPad od spoločnosti Texas Instruments
- 16 × 2 Dot matrix LCD displej
- Pripojovacie vodiče
- Energia IDE
Stručný úvod do 16 × 2 Dot matrix LCD displeja:
Ako už bolo povedané, Energia IDE poskytuje nádhernú knižnicu, ktorá robí z rozhrania hračku, a preto nie je povinné vedieť o zobrazovacom module nič. Ale nebolo by zaujímavé ukázať, čo používame !!
Názov 16 × 2 znamená, že displej má 16 stĺpcov a 2 riadky, ktoré spolu (16 * 2) tvoria 32 políčok. Jedna samostatná škatuľa by na obrázku nižšie vyzerala asi takto
Jedno políčko má 40 pixelov (bodiek) s maticovým usporiadaním 5 riadkov a 8 stĺpcov, týchto 40 pixelov spolu tvorí jeden znak. Podobne je možné pomocou všetkých políčok zobraziť 32 znakov. Teraz sa pozrime na pinouty.
Displej LCD má celkom 16 pinov, ako je uvedené vyššie, a je možné ich rozdeliť do štyroch skupín nasledovne
Zdrojové kolíky (1, 2 a 3): Tieto kolíky napájajú napájanie a úroveň kontrastu pre displej
Control Pins (4, 5 a 6): Tieto piny nastavujú / riadia registre na rozhraní IC prepojenom s LCD (viac nájdete v odkaze nižšie)
Dátové / príkazové piny (7 až 14): Tieto piny poskytujú údaje o tom, aké informácie by sa mali zobrazovať na LCD displeji.
Kolíky LED (15 a 16): Tieto kolíky sa používajú, ak je to potrebné, na podsvietenie displeja LCD (voliteľné).
Zo všetkých týchto 16 pinov musí byť použitých iba 10 pinov povinných pre správne fungovanie LCD, ak sa chcete dozvedieť viac o týchto LCD displejoch. Prejdite na tento článok o LCD.
Schéma zapojenia a zapojenia:
Kompletná schéma zapojenia pre rozhranie 16 × 2 Dot matrix LCD displeja s MSP430G2 je uvedená nižšie.
Jedným z hlavných obmedzení pri ich vzájomnom prepojení je ich prevádzkové napätie. LCD displej má prevádzkové napätie + 5V, zatiaľ čo MSP pracuje iba s 3,6. Našťastie pre nás má dátový kolík IC rozhrania LCD (HD44780U) široké prevádzkové napätie od 2,7 V do 5,5 V. Musíme si robiť starosti iba s Vdd (pin 2) LCD, zatiaľ čo dátové piny môžu fungovať aj pri 3,6V.
Doska MSP430G2 vám v predvolenom nastavení nedáva pin + 5V, ale môžeme urobiť malý hack, aby sme z portu USB430 dostali + 5V z MSP430. Ak sa pozorne pozriete do blízkosti USB portu, môžete nájsť terminál s názvom TP1, tento terminál nám dá + 5V. Všetko, čo musíme urobiť, je spájkovať malý kolíkový konektor zástrčky, ako je to znázornené nižšie, aby sme ho mohli pripojiť k nášmu LCD displeju.
Poznámka: Na tieto 5V kolíky nepripájajte záťaže, ktoré by mohli spotrebovať viac ako 50 mA, mohlo by to poškodiť váš port USB.
Ak nemáte záujem o spájkovanie, jednoducho použite akýkoľvek regulovaný zdroj + 5 V a napájajte LCD. V takom prípade nezabudnite pripojiť uzemnenie vášho napájacieho zdroja na zem na doske MSP.
Akonáhle budete hotoví s kolíkom + 5V, pripojenie ďalších pinov je celkom jednoduché. Teraz, keď je náš hardvér pripravený, prejdime k softvérovej časti.
Programovanie MSP430 pre LCD pomocou Energia:
Kompletný program pre komunikáciu s MSP430G2553 s LCD displejom je uvedený na konci tejto stránky. Kód je možné zostaviť, nahrať a použiť ako taký. V nasledujúcich odsekoch vysvetlím, ako program funguje.
Než budeme pokračovať v vysvetľovaní, musíme si poznačiť špendlíky, ktoré používame. Ak sa pozriete na schému zapojenia vyššie a na schému zapojenia MSP430 uvedenú nižšie
Môžete vyvodiť záver, že sme pripojili displej LCD podľa nasledujúcej tabuľky
Názov kolíka LCD |
Pripojený k |
Vss |
Uzemnenie |
Vdd |
+ 5V USB kolík |
Rs |
Pin 2 MsP |
R / W |
Uzemnenie |
Povoliť |
Pin 3 MsP |
D4 |
Pin 4 MsP |
D5 |
Kolík 5 MsP |
D6 |
Pin 6 MsP |
D7 |
Pin 7 MsP |
V tejto súvislosti začnime definovať kolíky LCD použité v našom programe. Každý špendlík pomenujeme zmysluplnejším názvom, aby sme ho neskôr mohli ľahko použiť.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
To jednoducho znamená, že namiesto volania kolíka 2 ho môžem ďalej označovať ako RS, podobne pre všetkých 6 pinov.
Ďalším krokom by bolo zahrnutie knižnice LCD. Táto knižnica by sa nainštalovala automaticky pri inštalácii IDE Energia. Stačí ho teda pridať pomocou nasledujúceho riadku
#include
Ďalším krokom je spomenúť piny, ku ktorým je LCD pripojený, pretože sme ho už pomenovali pomocou #define , teraz môžeme jednoducho spomenúť názvy pinov LCD. Uistite sa, že je dodržané rovnaké poradie.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Teraz prejdime k funkcii void setup () . Existuje toľko druhov LCD displejov, ktoré sa líšia veľkosťou a povahou, ten, ktorý používame, je 16 * 2, takže si ho upresnime v našom programe.
lcd.začiatok (16, 2);
Aby sme niečo vytlačili na LCD, musíme spomenúť dve veci v programe. Jednou je pozícia textu, ktorú je možné spomenúť pomocou riadku lcd.setCursor (), a druhou je obsah na tlač, ktorý je možné spomenúť pomocou lcd.print (). V tomto riadku nastavujeme kurzor na 1. riadok a 1. stĺpec.
lcd.setCursor (0,0);
Podobne môžeme aj my
lcd.setCursor (0, 1); // nastav kurzor na 1. stĺpec 2. riadok
Rovnako ako vymazanie tabule po jej napísaní, mala by sa vymazať aj obrazovka LCD, akonáhle je na nej niečo napísané. To je možné vykonať pomocou nižšie uvedeného riadku
lcd.clear ();
Takže úplná funkcia void setup () by vyzerala asi takto.
void setup () {lcd.begin (16, 2); // Používame 16 * 2 LCD displej lcd.setCursor (0,0); // Umiestnite kurzor na 1. riadok 1. stĺpec lcd.print ("MSP430G2553"); // Zobraziť úvodnú správu lcd.setCursor (0, 1); // nastav kurzor na 1. stĺpec 2. riadok lcd.print ("- CircuitDigest"); // Zobraziť oneskorenie úvodnej správy (2000); // Počkajte, kým sa na displeji nezobrazia informácie lcd.clear (); // Potom to vyčisti}
Ďalej v našej funkcii void loop () zvyšujme číslo každých 500 ms a zobrazme ho na LCD. Toto číslo sa testuje a inicializuje sa na 1, ako je uvedené nižšie
int test = 1;
Na vytvorenie oneskorenia môžeme použiť vstavanú funkciu delay (). Musíme spomenúť, koľko času musí meškanie nastať. V našom prípade som použil 500ms, ako je uvedené nižšie
oneskorenie (500);
Prírastok premennej je možné vykonať testom ++, ostatné sú už vysvetlené. Kompletný kód vnútri dutín slučky je uvedené nižšie
void loop () {lcd.print ("LCD s MSP"); // Zobraziť úvodnú správu lcd.setCursor (0, 1); // nastav kurzor na stlpec 0, riadok 1 lcd.print (test); // Zobrazí oneskorenie úvodnej správy (500); lcd.clear (); // Potom ho vyčisti test ++; }
16 x 2 LCD s MSP430G2:
Keď je váš hardvér a kód pripravený, jednoducho pripojte svoju dosku k počítaču a nahrajte kód, ako sme to urobili v príručke. Po načítaní kódu by sa mal zobraziť displej s nasledujúcimi údajmi.
Po dvoch sekundách sa obrazovka displeja zmení z nastavenia na cyklus a začne zvyšovať premennú a zobrazovať sa na obrazovke, ako je to znázornené na nasledujúcom obrázku.
Kompletné pracovné možno nájsť vo videu nižšie. Pokračujte a skúste zmeniť to, čo sa zobrazuje na LCD, a hrajte sa s tým. Dúfam, že ste pochopili výukový program a naučili sa z neho niečo užitočné. Ak máte pochybnosti, nechajte ich v sekcii komentárov nižšie alebo použite fóra. Zoznámime sa v ďalšom návode.