- Tarvittavat materiaalit:
- Lyhyt esittely 16 × 2 pistematriisin LCD-näytölle:
- Piirikaavio ja liitäntä:
- MSP430: n ohjelmointi LCD-näyttöön Energian avulla:
- 16x2 LCD ja MSP430G2:
Tämä on kolmas opetusohjelma siinä opetusohjelmassa, jossa opimme ohjelmoimaan MSP430G2 LaunchPadin käyttämällä Energia IDE: tä. Edellisessä opetusohjelmassa opimme kuinka hallita digitaalisia tulo- ja lähtöliittimiä MSP-kortillamme. Tässä opetusohjelmassa opitaan, kuinka LCD-näyttö liitetään piirilevyyn, jotta voimme näyttää hyödyllistä tietoa.
Tässä projektissa käytettävä nestekidenäyttö on yleisimmin käytetty 16 × 2 pistematriisin LCD-näyttö akan aakkosnumeerisilla näytöillä. Suurin osa meistä olisi törmännyt tähän joko julkisten PCO: n tai muiden elektroniikkaprojektien kautta. Tällainen näyttö on erittäin hyödyllinen tuleville opetusohjelmillemme tietojen ja muiden virheenkorjaustietojen näyttämiseksi. Tämän LCD-näytön liittäminen MSP430: een on erittäin helppoa käytettävissä olevan kirjaston ansiosta. Joten sukelkaamme sisään!
Tarvittavat materiaalit:
- MSP430G2 LaunchPad Texas Instrumentsilta
- 16 × 2 pistematriisin LCD-näyttö
- Johtojen liittäminen
- Energia IDE
Lyhyt esittely 16 × 2 pistematriisin LCD-näytölle:
Kuten aiemmin kerrottiin, Energia IDE tarjoaa kauniin kirjaston, joka tekee liitännästä kakunpalan, joten ei ole pakollista tietää mitään näyttömoduulista. Mutta eikö olisikin mielenkiintoista näyttää mitä käytämme !!
Nimi 16 × 2 tarkoittaa, että näytöllä on 16 saraketta ja 2 riviä, jotka yhdessä (16 * 2) muodostavat 32 ruutua. Yksi yksittäinen laatikko näyttäisi tältä tältä alla olevassa kuvassa
Yhdessä ruudussa on 40 pikseliä (pisteitä) matriisijärjestyksessä 5 riviä ja 8 saraketta, nämä 40 pikseliä muodostavat yhdessä yhden merkin. Vastaavasti 32 merkkiä voidaan näyttää kaikissa ruuduissa. Katsotaanpa nyt pinouteja.
LCD-näytöllä on yhteensä 16 nastaa, kuten yllä on esitetty, ne voidaan luokitella neljään ryhmään kuten seuraavasti
Lähdönastat (1, 2 ja 3): Nämä nastat tuottavat näytön tehon ja kontrastin
Ohjaustapit (4, 5 ja 6): Nämä tapit asettavat / ohjaavat rekisterit LCD-liitäntäpiirissä (lisätietoja löytyy alla olevasta linkistä)
Data / komentotapit (7-14): Nämä nastat antavat tiedot siitä, mitä tietoja nestekidenäytössä tulisi näyttää.
LED-nastat (15 ja 16): Näitä nastoja käytetään tarvittaessa LCD-näytön taustavalon hehkuttamiseen (valinnainen).
Kaikista näistä 16 nastasta vain 10 nastaa on käytettävä pakollisena nestekidenäytön moitteettomaan toimintaan, jos haluat tietää enemmän näistä LCD-näytöistä tässä LCD-artikkelissa.
Piirikaavio ja liitäntä:
Täydellinen kytkentäkaavio 16 × 2 pistematriisin LCD-näytön liittämiseksi MSP430G2: een on esitetty alla.
Yksi merkittävä rajoitus näiden kahden liittämisessä on niiden käyttöjännitteet. LCD-näytön käyttöjännite on + 5 V, kun taas MSP toimii vain 3,6 V: n jännitteellä. Onneksi meille LCD-liitännän IC: n (HD44780U) datanastalla on laaja käyttöjännite 2,7 V - 5,5 V. Joten meidän on huolehdittava vain nestekidenäytön Vdd: stä (nasta 2), kun taas datanastat voivat toimia jopa 3,6 V: n kanssa.
MSP430G2-kortti ei oletusarvoisesti anna sinulle + 5 V: n nastaa, mutta voimme tehdä pienen hakkeroinnin saadaksesi + 5 V: n MSP430: sta USB-portin avulla. Jos katsot tarkasti USB-portin läheltä, löydät terminaalin nimeltä TP1, tämä pääte antaa meille + 5v. Meidän on vain juotettava pieni uros otsikkotappi alla olevan kuvan mukaisesti, jotta voimme liittää sen LCD-näyttöön.
Huomaa: Älä kytke tähän 5 V: n nastaan kuormia, jotka saattavat kuluttaa yli 50 mA, sillä se saattaa paistaa USB-porttiasi.
Jos et ole kiinnostunut juottamisesta, käytä vain mitä tahansa + 5 V: n säänneltyä virtalähdettä ja virtaa nestekidenäyttöön, siinä tapauksessa varmista, että kytket virtalähteen maadoituksen MSP-kortin maahan.
Kun olet valmis + 5V-nastan liittämiseen muihin nastoihin, ne ovat melko suoraviivaisia. Nyt kun laitteistomme on valmis, siirrymme ohjelmisto-osaan.
MSP430: n ohjelmointi LCD-näyttöön Energian avulla:
Täydellinen ohjelma rajapinta MSP430G2553 LCD-näyttö annetaan lopussa tämän sivun. Koodi voidaan koota, ladata ja käyttää sellaisenaan. Seuraavissa kappaleissa selitän, miten ohjelma toimii.
Ennen kuin aloitamme selityksen, meidän on tehtävä muistiinpanot käyttämistämme nastoista. Jos katsot yllä olevaa kytkentäkaaviota ja alla olevaa MSP430-pistoketta
Voit päätellä, että olemme liittäneet nestekidenäytön seuraavan taulukon mukaisesti
LCD-nastan nimi |
Yhdistetty |
Vss |
Maa |
Vdd |
+ 5 V USB-nasta |
Rs |
MSP: n tappi 2 |
R / W |
Maa |
ota käyttöön |
MSP: n nasta 3 |
D4 |
MSP: n nasta 4 |
D5 |
MSP: n tappi 5 |
D6 |
MSP: n tappi 6 |
D7 |
MSP: n tappi 7 |
Aloitetaan tässä mielessä määritellä ohjelmassa käytetyt LCD-nastat. Nimeämme jokaisen nastan merkityksellisemmällä nimellä, jotta voimme käyttää sitä myöhemmin helposti.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Tämä tarkoittaa yksinkertaisesti sitä, että pin 2: n kutsumisen sijasta voin kutsua sitä RS: ksi jäljempänä, samalla tavalla kaikkien 6 nastan kohdalla.
Seuraava askel olisi sisällyttää LCD-kirjasto. Tämä kirjasto olisi asennettu automaattisesti, kun asennit Energia IDE: n. Joten lisää se vain käyttämällä seuraavaa riviä
#sisältää
Seuraava askel on mainita nastat, joihin LCD on kytketty, koska olemme jo nimenneet sen käyttämällä #define voimme nyt yksinkertaisesti mainita LCD-nastojen nimet. Varmista, että noudatetaan samaa järjestystä.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Siirrytään nyt void setup () -toimintoon. LCD-näyttöjä on niin monenlaisia, jotka vaihtelevat kooltaan ja luonteeltaan, käyttämämme on 16 * 2, joten määritetään se ohjelmassamme
lcd.begin (16, 2);
Jos haluat tulostaa jotain nestekidenäytölle, meidän on mainittava kaksi asiaa ohjelmassa. Yksi on tekstin sijainti, joka voidaan mainita käyttämällä riviä lcd.setCursor () ja toinen on tulostettava sisältö, jonka lcd.print () voi mainita . Tällä rivillä olemme asettamalla kursori 1 s krs ja 1 kpl sarakkeeseen.
lcd.setCursor (0,0);
Vastaavasti voimme myös
lcd.setCursor (0, 1); // aseta kohdistin 1. sarakkeen 2. riville
Aivan kuten taulun pyyhkiminen sen kirjoittamisen jälkeen, myös nestekidenäyttö on poistettava, kun siihen on kirjoitettu jotain. Tämä voidaan tehdä käyttämällä alla olevaa riviä
lcd.clear ();
Joten täydellinen void setup () -funktio näyttäisi tältä.
void setup () {lcd.begin (16, 2); // Käytämme 16 * 2 LCD-näyttöä lcd.setCursor (0,0); // Aseta kohdistin ensimmäisen rivin 1. sarakkeeseen lcd.print ("MSP430G2553"); // Näytä intro-viesti lcd.setCursor (0, 1); // aseta kohdistin 1. sarakkeen 2. riville lcd.print ("- CircuitDigest"); // Näytä intro-sanoman viive (2000); // Odota, kunnes näyttöön tulee tieto lcd.clear (); // Puhdista sitten}
Seuraavaksi, void loop () -toiminnon sisällä, jatketaan luvun lisäämistä 500 ms: n välein ja näytetään numero LCD-näytössä. Tämä luku testataan ja alustetaan arvoon 1 alla olevan kuvan mukaisesti
int-testi = 1;
Voit luoda viive voimme käyttää sisäänrakennettu toiminto viive (). Meidän on mainittava, kuinka paljon aikaa tarvitsemme viivästymisen. Meidän tapauksessani olen käyttänyt 500 ms alla olevan kuvan mukaisesti
viive (500);
Muuttujan lisääminen voidaan tehdä testillä ++, loput kaikki on jo selitetty. Täydellinen koodi sisällä mitätön silmukka on esitetty alla
void loop () {lcd.print ("LCD ja MSP"); // Näytä intro-viesti lcd.setCursor (0, 1); // aseta kohdistin sarakkeeseen 0, rivi 1 lcd.print (test); // Näytä intro-sanoman viive (500); lcd.clear (); // Puhdista sitten testi ++; }
16x2 LCD ja MSP430G2:
Kun laitteisto ja koodi ovat valmiit, liitä vain tietokoneesi tietokoneeseen ja lataa koodi kuten teimme opetusohjelmassa. Kun koodi on ladattu, sinun pitäisi nähdä seuraava näyttö.
Kahden sekunnin kuluttua näyttöruutu vaihtuu asetuksesta silmukkaan ja aloittaa muuttujan ja näytön kasvattamisen alla olevan kuvan mukaisesti.
Täydellinen työ löytyy videon alla. Mene eteenpäin ja yritä muuttaa nestekidenäytössä näkyvää ja pelaa sillä. Toivottavasti ymmärrät opetusohjelman ja opit siitä jotain hyödyllistä. Jos sinulla on epäilyksiä, jätä ne alla olevaan kommenttiosioon tai käytä foorumeita. Tapataan toisessa opetusohjelmassa.