Sisällysluettelo:

HD44780 LCD -I2C -sovitinlevy linjapiraatille: 9 vaihetta
HD44780 LCD -I2C -sovitinlevy linjapiraatille: 9 vaihetta

Video: HD44780 LCD -I2C -sovitinlevy linjapiraatille: 9 vaihetta

Video: HD44780 LCD -I2C -sovitinlevy linjapiraatille: 9 vaihetta
Video: Простой LCD(HD44780) вольтамперметр на ATtiny13A, начало 2024, Marraskuu
Anonim
HD44780 LCD -I2C -sovitinlevy linjapiraatille
HD44780 LCD -I2C -sovitinlevy linjapiraatille
HD44780 LCD -I2C -sovitinlevy linjapiraatille
HD44780 LCD -I2C -sovitinlevy linjapiraatille

HD44780 -piirisarjaan perustuvia halpoja merkkinäyttöjä on useita kokoja: 2x16, 4x20 jne. Näissä näytöissä on kaksi vakioliitäntätilaa, 4 -bittinen ja 8 -bittinen rinnakkainen. 8-bittinen vaatii yhteensä 11 datalinjaa, 4-bittinen 7 (vain kirjoitus). Jotkut nestekidenäytöt tukevat ylimääräistä sarjadatatilaa, kuten Hack a Day -tapahtumassa katettu VFD I. HD44780 -nestekidenäytöt ovat yleensä 5 voltin osia, joissa on erillinen taustavalon syöttö. Bus Pirate -laitteessa on vain viisi 5 voltin kestävää I/O -nastaa, joten teimme pienen sovitinkortin, jossa oli tarpeeksi nastoja nestekidenäytön ohjaamiseen. Bus Pirate ohjaa sovitinkorttia nestekidenäytön kirjaston kautta. Minulla voi olla Seeed Studion valmistamia piirilevyjä, sarjoja tai koottuja sarjoja noin 15 dollarilla, mukaan lukien maailmanlaajuinen toimitus, enemmän täällä. blogi.

Vaihe 1: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Tässä artikkelissa esittelemme I2C-sovitinlevyn HD44780-pohjaisille nestekidenäytöille. Esittelemme sen yleisellä Bus Pirate -sarjaliitännällä. I2C-pohjaisen HD44780-käyttöliittymäkirjaston Bus Pirate -lähdekoodi on julkista, joten se on vapaasti mukautettavissa omiin projekteihisi. Piiri ja piirilevy on suunniteltu Cadsoft Eaglen ilmaisella versiolla. Suunnittelutiedostot voi ladata Bus Pirate SVN: stä. Ennen kuin käytät sovitinkorttia, varmista, että nestekidenäytön tietolomake on sovittimen pinoutia vasten. Kaikki LCD -näytöt eivät ole samanlaisia. PCF8574 I/O-laajennin IC Tämä on yksinkertainen 8 I/O -laajenninsiru, jota ohjataan kaksijohtimisen I2C-liitännän kautta. I2C -käyttöliittymään pääsee otsikosta JP1. PCF8574 toimii 2,5-5 voltilla. I/O -nastat toimivat syöttöjännitteellä, joten jos annamme sille 5 volttia, se liittää nestekidenäytön 5 volttiin. C1 (0,1uF) irrottaa IC: n virtalähteen vaihteluista. LED -valot ilmaisevat onnistuneen tiedonsiirron väyläpiraatin ja sovittimen välillä. PCF8574 ei voi tuottaa tarpeeksi virtaa LED -valolle, joten saamme virran 5 voltin virtalähteestä ja vaihdamme maadoituksen. LCD-näyttö Sovitinkortti kommunikoi HD44780-pohjaisen LCD-näytön kanssa 4-bittisessä rinnakkaisliitäntätilassa. 4 -bittiset liitännät - RS, RW, EN ja D4 -D7 - on kytketty seitsemään PCF8574 I/O -nastaan. Käytämme mielellään 0,1 tuuman urosnastapäätä sovittimen liittämiseen nestekidenäyttöön, voit yleensä nojata nestekidenäytön tappeja vasten, jotta saat riittävän kontaktin pikatestiä varten. Emme liittäneet taustavalon tappeja, koska taustavaloja on niin monia erilaisia. LED -taustavalon virran saaminen voi vahingoittaa näyttöä, joka vaatii negatiivista jännitelähdettä. Virtalähde Useimmat nestekidenäytöt vaativat 5 volttia otsikko JP2. Toimitimme toisen virtalähdetapin Bus Pirate -vetovastusten liittämiseksi. Piirilevy Piiri ja piirilevy on suunniteltu Cadsoft Eaglen ilmaisella versiolla. Suunnittelutiedostot voidaan ladata Bus Pirate SVN: stä. Yksipuolinen, läpireikäinen malli yhdellä hyppyjohdolla (näkyy punaisella). Täällä voi olla Seeed Studion valmistamia piirilevyjä, sarjoja tai koottuja sarjoja noin 15 dollarilla, mukaan lukien maailmanlaajuinen toimitus. Partlist Part Value (kaikki th karkea reikä) C10.1uF/10 volttia+R110000 (10K) ohmin yksikierroksinen trimmeri/potentiometri, 6 mmR21000 (1K) ohmin vastus, 1/4 watt LED13mm (T1) LED, punainenJP1+JP20,1 uros, 5 nastaa I2C I/O -laajennin DIP16ICS116 -nastainen DIP -liitin IC1I: lle ei voinut sisällyttää joitain muotoiluelementtejä ja HTML -taulukoita Instructable -ohjelmaan, näet alkuperäisen viestin Dangerous Prototypes -blogissa.

Vaihe 2: Liitännät

Liitännät
Liitännät

Laite: HD44780-merkkinen nestekidenäyttö. Bus: 4-bittinen rinnakkain, PCF8574 I2C-sovitinkortilla. Virtavaatimukset: 5 volttia. Viitteet: esimerkkitiedote [PDF], HD44780-komentoviite, HD44780-LCD-uber-sivusto. suunnitteli sovittimen yleisen Bus Pirate -sarjaliitännän LCD -kirjastoa varten, mutta se toimii kaiken kanssa, joka puhuu I2C -protokollaa. Katso Bus Pirate -lähdekoodista esimerkki I2C-> HD44780-toteutuksesta. Kytke Bus Pirate sovitinkorttiin taulukon mukaisesti. Taulukossa näkyvät myös raakaliitännät PCF8574 IC: hen, jos seuraat ilman sovitinkorttia. I2C-liitäntä sovittimen ja Bus Pirate -laitteen välillä vaatii 2-10 K: n vetovastusvastuksia. Tässä on lisätietoja sekoitettavista jänniteliitännöistä, joissa on vetäytymisiä, ja Bus Pirate -laitteessa olevista vetovoimista..

Vaihe 3: Vaihe 1. Asenna kirjasto

Vaihe 1. Asenna kirjasto
Vaihe 1. Asenna kirjasto

Liitäntä Olemme käsitelleet sovittimen suunnittelun ja sen yhdistämisen Bus Pirateen, nyt on vihdoin aika kirjoittaa jotain nestekidenäyttöön. Hi> m <<11 <<1 <<W <

p <<2 <<v <<< saa jänniteraportinJÄNNITTEEN VALVONTA: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Paina 'm' Bus Pirate -päätteessä ja valitse LCD -kirjasto. Se tukee tällä hetkellä vain HD44780-merkkisiä nestekidenäyttöjä, joissa käytetään tämän artikkelin ensimmäisessä puoliskossa kuvattua PFC8574-sovitinta (vaihtoehto 1). Tarkista jännitemittari (valikko 'v') ja varmista, että vetojännite (Vpullup) on noin 5 volttia.

Vaihe 4: Vaihe 2. Nollaus ja alustus

Vaihe 2. Palautus ja alustus
Vaihe 2. Palautus ja alustus
Vaihe 2. Palautus ja alustus
Vaihe 2. Palautus ja alustus

Tässä taulukossa esitetään yhden tavun komennot, jotka ohjaavat HD44780-nestekidenäyttöä, tässä on yksityiskohtainen viite. Nämä komennot voidaan antaa Bus Pirate -komentoriviltä, mutta useimmille niistä on tehty makroja säästääkseen aikaa. LCD> (0) <<< näytä makrovalikko 0 Makro -valikko <<< tämä valikko <nollaa LCD2.Makro 0 näyttää minkä tahansa väyläpiraattitilan makrovalikon. LCD> (2) <<< LCD -makron alustaminen Näytön rivit: 1. 1 <<< yksirivinen näyttö 2. Useita <<2 'RESET <<< makro 2 sisältää nollausjärjestyksen INIT <<Alustava LCD -makro (2) määrittää näytön 4 -bittiselle käyttöliittymälle, mahdollistaa kohdistimen näytön ja asettaa muutamia muita hyödyllisiä vaihtoehtoja. Määritä näyttörivien määrä, valitse 1 yksiriviselle näytölle tai 2 kaikille muille näytöille. Alustuksen jälkeen näytön pitäisi olla kirkas ja kursori näkyy kulmassa. Jos se ei toimi, tarkista I2C-liitäntä, vetovastus ja virtalähde ja yritä uudelleen. Makro 1 luo tämän sekvenssin. Makro 2 sisältää nollausjärjestyksen, joten makroa 1 ei tarvitse käyttää ennen makroa 2.

Vaihe 5: Vaihe 3. Kirjoita testihahmot

Vaihe 3. Kirjoita testihahmot
Vaihe 3. Kirjoita testihahmot
Vaihe 3. Kirjoita testihahmot
Vaihe 3. Kirjoita testihahmot

LCD> (6:80) <<Kirjoitusnumeromakro täyttää nestekidenäytön testiluvuilla 0–9. Kaksoispisteen jälkeinen numero kertoo väyläpiraatille, kuinka monta testinumeroa kirjoitetaan. Käytämme 4x20LCD -levyä, joten kirjoitamme 80 numeroa sen täyttämiseksi. Huomaa, että kohdistin päättyy kohtaan 0, ensimmäisen "0" alapuolelle. LCD> (7:80) <<Kirjoitusmerkit -makro täyttää nestekidenäytön ASCII -merkeillä, kirjoita määrä kaksoispisteen jälkeen. Huomaa, että nyrkki jatkuu kolmannella, kolmas toisella ja toinen viimeisellä. Merkit eivät ole jatkuvia, koska merkkien nestekidenäytöt eivät kulje riviltä toiselle. Puhumme tästä hieman myöhemmin.

Vaihe 6: Vaihe 4. Tyhjennä nestekidenäyttö

Vaihe 4. Tyhjennä nestekidenäyttö
Vaihe 4. Tyhjennä nestekidenäyttö

LCD> (3) <<Kirkas LCD -makro lähettää HD44780 -komennon, joka poistaa näytön ja palauttaa kohdistimen ensimmäiseen asentoon. Kirjoita "[0b1" väyläpiraattiin asettaaksesi käyttöliittymän komentotilaan ([) ja lähetä HD44780 -näytön tyhjennyskomento (0b00000001) ilman makroa.]

Vaihe 7: Vaihe 5. Kirjoita teksti

Vaihe 5. Kirjoita teksti
Vaihe 5. Kirjoita teksti
Vaihe 5. Kirjoita teksti
Vaihe 5. Kirjoita teksti

LCD> (8) <<< lisää käyttäjän teksti Syötä kohdistimen kohtaan lisättävä teksti. HD44780 LCD -esittely <<Kun LCD -näyttö on tyhjennetty vaiheessa 4, kohdistin sijoitetaan ensimmäiseen lohkoon. Voisimme asettaa sen myös makrolla (4: 0), joka siirtää kohdistimen ensimmäiseen merkkiin.: 0x40) <& lt

Nestekidenäyttö> (8) <<< lisää teksti Syötä kohdistimen kohtaan lisättävä teksti.Toiselle riville kirjoittaminen on hieman monimutkaisempaa, se alkaa itse asiassa 4x20 -nestekidenäytön merkistä 64. Jos jatkat kirjoittamista rivin 1 lopusta (merkki 20), päädyt kolmannen rivin alkuun! Tällä sivulla on mukava kokoelma muistikarttoja useimmille merkkikokoisille LCD -koille. Ensinnäkin kohdistin sijoitetaan toiselle riville (4: 0x40). Seuraavaksi '' lisää teksti '' -makro nappaa syötteemme ja kopioi sen nestekidenäyttöön. Firmware v2.0+ <<< kirjoitimme tämänSyötä teksti, joka lisätään kohdistimen kohtaan.Bus Pirate hyväksyy useita makroja samalla rivillä, joten koko näyttö voidaan kirjoittaa kerralla. Kirjoitimme kahdelle viimeiselle riville yhdellä syntaksirivillä. Voisimme käyttää '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'tyhjentää nestekidenäytön ja kirjoittaa kaikki neljä riviä yhdellä syntaksimerkinnällä.

Vaihe 8: Vaihe 6. Lukeminen nestekidenäytöstä

Vaihe 6. Lukeminen nestekidenäytöstä
Vaihe 6. Lukeminen nestekidenäytöstä

Bus Pirate ja LCD -sovitinkortti voivat lukea nestekidenäytöstä. Luemme ruudulle kirjoittamamme tekstin (DDRAM), mutta voit myös lukea asetukset ja mukautetun merkin ram (CGRAM) asettamalla oikean osoitteen. '] HD44780 RS LOW, COMMAND MODE <<< rekisteröi valitse pin low CMD WRITE: 0x80 <<Ensinnäkin kehotamme linjapiraattia lähettämään tiedot LCD -komentorekisteriin ([). Seuraavaksi käytämme DDRAM -osoitekomentoa (0b1xxxxxxx) asettaaksesi lukuohjaimen DDRAM -muistin alkuun (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< lue datamuistiaHD44780 RS HIGH, DATA MODE <<< rekisteröidy valitse nasta korkea LUE: 0x48 <<< 'H'READ: 0x44 <<<' LUETTELO: 0x34 <<< '4'LUE: 0x34 <<<' 4'LUE: 0x37 <<< '7'LUE: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Kerro lopuksi bussipiraatille, että se lukee datamuistista (]) ja lue sitten muutama tavu (rrrrrrr). Saimme "HD44780", tekstin, jonka kirjoitimme näytölle vaiheessa 5. Sinun pitäisi myös pystyä lukemaan seitsemän tavua pikanäppäimellä r: 7, mutta se ei toimi nykyisessä laiteohjelmistossa - korjaamme tämän ennen seuraava julkaisu.

Vaihe 9: Tee enemmän

Enemmän
Enemmän

Anna yleinen kuvaus vaiheesta HD44780 -merkkinen LCD -sovitin on kätevä lisävaruste bussipiraatille. Sitä voidaan käyttää pikatestissä tai kehittyneemmässä logiikan kehittämisessä. Nestekidenäyttöjen lisäksi kahdeksasta 2,5 voltin-5 voltin I/O-nastasta voi olla hyötyä muille korkean pin-numeroisen Bus Pirate -sovelluksille. tai Seeed Studion noin 15 dollarilla valmistamia koottuja sarjoja, mukaan lukien maailmanlaajuinen toimitus, lisää täältä.

Suositeltava: