- Nepieciešamie materiāli:
- Īss ievads 16 × 2 punktu matricas LCD displejā:
- Shēmas shēma un savienojums:
- MSP430 programmēšana LCD, izmantojot Energia:
- 16x2 LCD ar MSP430G2:
Šī ir trešā apmācība apmācību secībā, kurā mēs mācāmies programmēt MSP430G2 LaunchPad, izmantojot Energia IDE. Iepriekšējā apmācībā mēs uzzinājām, kā kontrolēt digitālās ievades un izvades tapas uz mūsu MSP dēļa. Šajā apmācībā mēs uzzināsim, kā saskarni panākt ar LCD, lai parādītu noderīgu informāciju.
LCD, kuru izmantojam šajā projektā, ir visbiežāk izmantotais 16 × 2 punktu matricas LCD displejs ar burtciparu displejiem. Lielākā daļa no mums ar to būtu saskārušies vai nu ar publisku PCO, vai citu elektronikas projektu starpniecību. Šāds displejs būs ļoti noderīgs mūsu turpmākajām apmācībām, lai parādītu datus un citu atkļūdošanas informāciju. Pateicoties pieejamai bibliotēkai, šo LCD ir viegli sasaistīt ar MSP430. Tātad ienirsim !!
Nepieciešamie materiāli:
- MSP430G2 LaunchPad no Texas Instruments
- 16 × 2 punktu matricas LCD displejs
- Savienojošie vadi
- Energia IDE
Īss ievads 16 × 2 punktu matricas LCD displejā:
Kā teicām iepriekš, Energia IDE nodrošina skaistu bibliotēku, kas padara saskarni par kūkas gabalu, un tāpēc nav obligāti jāzina nekas par displeja moduli. Bet vai nebūtu interesanti parādīt, ko mēs izmantojam !!
Nosaukums 16 × 2 nozīmē, ka displejā ir 16 kolonnas un 2 rindas, kas kopā (16 * 2) veido 32 lodziņus. Viena atsevišķa kastīte izskatās apmēram šādi zemāk redzamajā attēlā
Vienā lodziņā ir 40 pikseļi (punkti) ar 5 rindu un 8 kolonnu matricas secību. Šie 40 pikseļi kopā veido vienu rakstzīmi. Tāpat visas rūtiņas var parādīt 32 rakstzīmes. Tagad ļaujiet apskatīt pinouts.
LCD ir kopā 16 tapas, kā parādīts iepriekš, tos var iedalīt četrās grupās, piemēram, šādi
Avota tapas (1, 2 un 3): Šīs tapas nodrošina displeja jaudas un kontrasta līmeni
Vadības tapas (4, 5 un 6): Šīs tapas iestata / kontrolē reģistrus LCD saskarnes IC (vairāk tas ir atrodams zemāk esošajā saitē)
Datu / komandu piespraudes (no 7 līdz 14): Šīs tapas sniedz datus par to, kāda informācija būtu jāparāda LCD.
LED tapas (15 un 16): šīs tapas tiek izmantotas, lai nepieciešamības gadījumā spīdētu LCD apgaismojumu (pēc izvēles).
No visām šīm 16 tapām obligāti jāizmanto tikai 10 tapas, lai pareizi darbotos LCD, ja vēlaties uzzināt vairāk par šiem LCD displejiem, pārejiet uz šo LCD rakstu.
Shēmas shēma un savienojums:
Pilna shēma, kas paredzēta 16 × 2 punktu matricas LCD displeja un MSP430G2 saskarnei, ir parādīta zemāk.
Viens no galvenajiem ierobežojumiem, saskaroties ar šiem diviem, ir to darba spriegums. LCD displejs ir darbības spriegums 5 V, bet MSP darbojas tikai ar 3.6V. Mums ir paveicies, ka LCD interfeisa IC (HD44780U) datu tapai ir plašs darba spriegums no 2,7 V līdz 5,5 V. Tāpēc mums jāuztraucas tikai par LCD Vdd (2. tapa), kamēr datu tapas var darboties pat ar 3,6 V.
MSP430G2 dēlis pēc noklusējuma nedod jums + 5V tapu, bet mēs varam veikt nelielu uzlaušanu, lai iegūtu + 5V no MSP430, izmantojot USB portu. Ja rūpīgi apskatāt USB porta tuvumā, varat atrast termināli ar nosaukumu TP1, šis terminālis mums dos + 5v. Viss, kas mums jādara, ir lodēt nelielu vīriešu galvenes tapu, kā parādīts zemāk, lai mēs varētu to savienot ar mūsu LCD displeju.
Piezīme: Nepievienojiet slodzēm, kuru patēriņš varētu pārsniegt 50 mA, ar šo 5 V kontaktu, jo tas var apcept jūsu USB portu.
Ja jūs neinteresē lodēšana, vienkārši izmantojiet jebkuru + 5V regulētu padevi un barojiet LCD, tādā gadījumā pārliecinieties, vai esat pievienojis barošanas avota zemi MSP plātnes zemei.
Kad esat pabeidzis ar + 5V tapu, kas savieno pārējās tapas, ir diezgan vienkārši. Tagad, kad mūsu aparatūra ir gatava, pārejam uz programmatūras daļu.
MSP430 programmēšana LCD, izmantojot Energia:
Pilnu programmu saskarnes ar MSP430G2553 ar LCD displejs tiek dota beigās šo lapu. Kodu var apkopot, augšupielādēt un izmantot kā tādu. Turpmākajos punktos es paskaidrošu, kā programma darbojas.
Pirms mēs turpinām paskaidrot, mums ir jāpieraksta tapas, kuras mēs izmantojam. Ja paskatāsit iepriekš minēto ķēdes shēmu un zemāk redzamo MSP430 tapu shēmu
Jūs varat secināt, ka mēs esam pievienojuši LCD, kā norādīts šajā tabulā
LCD tapas nosaukums |
Savienots ar |
Vss |
Zeme |
Vdd |
+ 5 V USB tapa |
Rs |
2. MSP tapa |
R / W |
Zeme |
Iespējot |
MSP 3. tapa |
D4 |
MSP 4. tapa |
D5 |
MSP 5. tapa |
D6 |
MSP 6. tapa |
D7 |
MSP 7. tapa |
Paturot to prātā, sāksim definēt mūsu programmā izmantotos LCD tapas. Katru tapu nosauksim ar jēgpilnāku nosaukumu, lai vēlāk to varētu ērti izmantot.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Tas vienkārši nozīmē, ka tā vietā, lai izsauktu 2. tapu, es to turpmāk varu attiecināt uz RS kā līdzīgi visām 6 tapām.
Nākamais solis būtu iekļaut LCD bibliotēku. Šī bibliotēka būtu instalēta automātiski, kad instalējat Energia IDE. Tāpēc vienkārši pievienojiet to, izmantojot šo rindu
# iekļaut
Nākamais solis ir pieminēt tapas, ar kurām ir savienots LCD, jo mēs to jau esam nosaukuši, izmantojot #define, tagad mēs varam vienkārši pieminēt LCD tapu nosaukumus. Pārliecinieties, ka tiek ievērota tā pati kārtība.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Tagad ļaujiet mums virzīties uz neesošu uzstādīšana () funkciju. Ir tik daudz dažādu LCD displeju veidu, kuru izmērs un raksturs ir atšķirīgs, un tas, ko mēs izmantojam, ir 16 * 2, tāpēc norādīsim to mūsu programmā
lcd.begin (16, 2);
Lai kaut ko izdrukātu uz LCD, programmā jāpiemin divas lietas. Viens ir teksta novietojums, ko var pieminēt, izmantojot līniju lcd.setCursor (), un otrs ir drukājamais saturs, ko var pieminēt lcd.print (). Šajā rindā mēs iestatīt kursoru uz 1 st rindas un 1 st kolonnas.
lcd.setCursor (0,0);
Līdzīgi mēs arī varam
lcd.setCursor (0, 1); // iestatiet kursoru uz 1. kolonnas 2. rindu
Tāpat kā dzēšot tāfeli pēc tam, kad uz tās uzrakstīts, arī LCD ir jāizdzēš, tiklīdz uz tā ir kaut kas uzrakstīts. To var izdarīt, izmantojot zemāk esošo līniju
lcd.clear ();
Tātad pilnīga void setup () funkcija izskatīsies apmēram šādi.
void setup () {lcd.begin (16, 2); // Mēs izmantojam 16 * 2 LCD displeju lcd.setCursor (0,0); // Novietojiet kursoru 1. rindas 1. kolonnā lcd.print ("MSP430G2553"); // Parādīt ievada ziņojumu lcd.setCursor (0, 1); // iestatiet kursoru uz 1. kolonnas 2. rindu lcd.print ("- CircuitDigest"); // Parādīt ievadziņu aizkavi (2000); // Gaidiet, līdz displejā tiek rādīta informācija lcd.clear (); // Tad notīriet to}
Tālāk, mūsu void loop () funkcijas iekšpusē turpināsim palielināt skaitli par katriem 500ms un parādīsim numuru LCD. Šis skaitlis tiek pārbaudīts un tiek inicializēts uz 1, kā parādīts zemāk
int tests = 1;
Lai izveidotu kavēšanos, mēs varam izmantot iebūvēto funkciju delay (). Mums jāpiemin, cik daudz laika mums vajadzīga kavēšanās. Mūsu gadījumā esmu izmantojis 500 ms, kā parādīts zemāk
kavēšanās (500);
Mainīgā palielināšanu var veikt ar testu ++, pārējie visi jau ir izskaidroti. Pilnīga kods iekšpusē neesošu cilpas ir redzams zemāk
void loop () {lcd.print ("LCD ar MSP"); // Parādīt ievada ziņojumu lcd.setCursor (0, 1); // iestatiet kursoru uz 0. kolonnas 1. rindu lcd.print (tests); // Parādīt ievadziņu aizkavi (500); lcd.clear (); // Tad notīriet to tests ++; }
16x2 LCD ar MSP430G2:
Kad aparatūra un kods ir gatavs, vienkārši pievienojiet datoru datoram un augšupielādējiet kodu, kā mēs to darījām apmācībā. Kad kods ir augšupielādēts, jums vajadzētu redzēt displejā redzamo sekojošo.
Pēc divām sekundēm displeja ekrāns mainīsies no iestatīšanas uz cilpu un sāks palielināt mainīgo un displeju ekrānā, kā parādīts zemāk redzamajā attēlā.
Pilnīga darba var atrast video zemāk. Ejiet uz priekšu un mēģiniet mainīt to, kas tiek parādīts LCD ekrānā, un spēlējiet ar to. Ceru, ka sapratāt apmācību un no tās uzzinājāt kaut ko noderīgu. Ja jums ir kādas šaubas, atstājiet tos komentāru sadaļā zemāk vai izmantojiet forumus. Tiekamies citā apmācībā.