» elektronika »Pad a HD44780 alacsony szintű tanulmányozásához

Alacsony szintű HD44780 tanulmányi pad



Írta a programban Arduino valami ilyesmi:

lcd.print ("Helló, világ!")


A fórum engedelmesen végrehajtotta a parancsot, és a szöveg megjelent a kijelzőn. De hogy az egyik eszköz „mondott” valamit, a másik pedig „hallotta” és „értette”? Ez olyan, mintha megkérné a művészt, hogy készítse el a portréját, de nem látja, hogyan dolgozik rajta. Az Instructsbles szerzője, beltgeek becenév alatt állt elő egy olyan állvánnyal, amely segít az „élő Arduino” cipőjében érezze magát, és alacsony szinten irányítsa a HD44780-at. Az egyik versenyen ez Házitermékek nyerte az első díjat.

Van néhány részlet ehhez: bármilyen modul (LCD, VLI vagy PMOLED) a HD44780 vezérlőn vagy kompatibilis, nyolc átváltó kapcsoló, rögzítés nélküli gomb, csúszó kapcsoló, 1 kΩ-os ellenállás, mikro-USB aljzattal ellátott tábla és tok.








A képen nem látható elemekből szükségünk van: 10 kOhm ellenállásra és 100 μF kondenzátorra és legalább 6,3 V-ra.

Indoorgeek maga a leggyakoribb típusú modult vette át: LCD, soronként 16 karakter, két sor. De a többi modulnak ugyanaz a vezérlő alapelve van, csak a pinout kissé eltérhet, tehát ne légy túl lusta, hogy betekinthess az adatlapba.

Minden esetben a közös vezetékhez való csatlakozás a logikai nullának felel meg, a +5 voltos buszhoz való csatlakozás pedig az egységnek felel meg.

Az 1. és 2. érintkező a modul táplálására szolgál. Az egyik mindig egy közös vezetékhez van csatlakoztatva, a második mindig egy erőátviteli busszal.

A 3. tű a kontraszt beállítására szolgál. Ha 0–5 volt feszültséget alkalmaznak rá a közös vezetékhez viszonyítva, a kontraszt nulláról maximálisra változik.

A 4. tű lehetővé teszi az adat-nyilvántartás és az utasítás-nyilvántartás közötti választást. Logikai nullát adunk - az utasítások (vagyis a parancsok) regisztere ki van választva, az egység az adatregiszter.

Az utasítások lehetnek például a következők: inicializálja a vezérlőt, törölje a képernyőt stb., És az adatok olyan jeleket tartalmaznak, amelyeket a kijelzőn megjelenít.

Ellenkezőleg, olvashat néhány regiszterből származó adatokat. Ehhez magas szintet kell alkalmaznia az 5. érintkezőre, és a kijelző visszatér információ kimeneti módba a mikrovezérlőhöz. Ha újra el szeretné kezdeni az adatok írását a mikrovezérlőről a képernyővezérlőre, el kell küldenie az 5. alacsony szintet az 5. tűre. Elég gyakran az olvasási módot egyáltalán nem használják, mint például ebben a házi készítésű termékben.

A 7 - 14 érintkezők szerint a kijelző parancsokat és adatokat cserélhet 8 bites kódolásban. A legalacsonyabb szint a 7. tűnek felel meg, a legmagasabb - a 14-nek.

A 6-os csap a kapuzáshoz szükséges.Lassan állítja be az adatokat a 7–14. Érintkezőn, de míg a 6. tű logikai nulla, a modul erre egyáltalán nem reagál. Ezután anélkül, hogy megváltoztatná a 7-es érintkezők állapotát, magas szintű rövid távú impulzust küld a 7-es érintkezőre - és az adatok továbbításra kerülnek.

15. és 16. következtetés - a háttérvilágítás táplálása, ha van. 15 - plusz, 16 - mínusz.

Az ügyfél számára elérhető, az ügy 200x150x40 milliméter méretűnek bizonyult. Ezt az esetet egy másikból vették le, szétszerelve házi készítésűből, és már benne vannak lyukak. A mester maximálisan felhasználta őket az új tervben, hogy a lehető legkevesebbet tegyék meg.



Nyolc kapcsolót állított be az adat- / parancs buszvonalak állapotának megváltoztatására, egy kapcsolót a regiszterek közötti választáshoz (lásd fent), egy kapcsológombot, egy változó ellenállást a kontraszt folyamatos beállításához.

A mikro USB-csatlakozóval ellátott emelőlapnak kényelmes érintkezői vannak, amelyek megkönnyítik a vezetékek csatlakoztatását. Csak kettőre van szükség itt: +5 V és egy közös vezeték. Ha nincs ilyen táblája, és a valahol forrasztott Micro USB-aljzat kényelmetlennek tűnik a forrasztáshoz, akkor csak vegyen egy kábelt USB-csatlakozóval. Mindenesetre ismételjük meg a master és a forrasztás után egy ilyen sémát:



A váltókapcsolók érintkezői, amelyek megfelelnek a felső helyzetnek, indorgeek kapcsolódnak egymáshoz, és pluszjelzést készítettek rájuk. Ugyanezt tette az alsó helyzetnek megfelelő kapcsolókapcsolók érintkezőivel, csak mínusz adott számukra. A kapcsológombok mozgatható érintkezőit nem egymással összeköti, hanem az adat busz / modul parancsok következtetéseivel, mindkettőjük „súlyának” megfelelően (D0 - 7. érintkező - alacsony rend, D7 - 14. érintkező - magas). Ha a mesterek gyermekkorában nem haraptak volna fel dühös pull-up ellenállásokat, akkor egyszerűbb váltókapcsolókat használhat - nem kapcsolókat, hanem általában nyitva.

Ugyanezek az ellenállások, de az érintkezés visszaszorításának áramkörében soha nem sértődtek meg. Itt erre az áramkörre van szükség, hogy a kijelző vezérlője többször nem nyomja meg a villogó gombot. Más vezérlők nem igényelnek zavarás elnyomást, mivel mindaddig, amíg a villogó impulzusok nem érkeznek, a fennmaradó sorok adatai a kívánt módon sokszor változhatnak. A lényeg az, hogy ne érintse meg a kapcsolókat és a kapcsolót, amikor a gombot megnyomják. Tehát egy 10 kOhm-os ellenállással a mester a 6-os csapot a közös vezetékhez, a gombbal a plusz buszhoz húzta. Mivel a gomb ellenállása sokkal alacsonyabb, ha megnyomják, akkor „húzza”. Amikor elengedik, az ellenállása a végtelenhez közel áll, és az ellenállás már „meghúzza”. Egy 100 uF kondenzátor (az ábrán nem látható), amelyet plusz a plusz buszhoz, mínusz az ellenálláshoz és a kijelző hatodik kimenete csatlakoztat, elnyomja az elcsúszást. Természetesen jobb, ha elnyomja a fecsegést kapcsológomb és RS-trigger segítségével.

A csúszókapcsolón a rögzített érintkezők kimenetei ugyanúgy vannak kapcsolva, mint a kapcsolókapcsolók esetében, és a mozgatható kapcsoló a 6 modul kimenetéhez van csatlakoztatva. A fejlesztő itt ismét félelmet keltett a ellenállások ellen. Ez a kapcsoló a parancsok (nulla) és az adatok (egység) átviteli módjai közötti választáshoz szükséges.

Az Indoorgeek a minimális kontrasztnak megfelelő változó ellenállás kimenetét a közös vezetékkel összekötötte, szemben a plusz busszal, és a középsőt (motor) a modul harmadik kimenetéhez.

1., 5. és 16. következtetés (mínusz teljesítmény, írás / olvasás és mínusz háttérvilágítás) a mester egy közös vezetékhez csatlakozik, így a felvételi módot folyamatosan választják. 2. és 15. következtetés (plusz teljesítmény és plusz háttérvilágítás) csatlakoztatta az öt voltos buszhoz. A háttérvilágítású LED-eken keresztül áramkorlátozó ellenállás van beépítve a kijelző modulba.

Ha mindezt összegyűjtötte, előtted - valami hasonló:



Az előlap belsőépítménye úgy lett kialakítva, hogy ugyanazt tegye:



Megtanulhatja a HD44780 vezérlőparancsokat és az irányításuk módját adatlap. A kész szkriptekre példákat is láthat szimulátor. Kezdetként megismételjük a beltgeek mögötti lépéseket a HELLO megjelenítéséhez!

Kapcsolja be az eszközt. A háttérvilágítás kigyullad. Vigye a csúszókapcsolót a logikai nullának megfelelő helyzetbe, hogy az indikátor a parancsok fogadásának módjára váltson. Állítsa be a 00001111 bináris számot a parancs / adat buszon a kapcsolóval és röviden nyomja meg a villogó gombot. Ez a parancs azt jelenti: kapcsolja be a képernyőt, hogy a kurzor láthatóvá és villogóvá váljon, ami megtörténik. Ugyanezen módon kiadjuk a 00110000 parancsot, amely azt jelenti: 8 bites formátumú adatok fogadása, az első sor kiválasztása és az 5 és 8 pixel betűkészlet kiválasztása. Vizuálisan semmi nem történik, de a kijelző vezérlőjén belül a szükséges kapcsolók bekövetkeznek. Adatokat továbbíthat. A tolókapcsolót a logikai egységnek megfelelő helyzetbe fordítjuk, most az indikátor modul készen áll azok elfogadására. Állítsa be a H betű ASCII kódját, azaz a 01001000-et, kapcsolja be a buszon lévő kapcsolókat és nyomja meg a villogó gombot. A megfelelő betű megjelenik a képernyőn, és a kurzor az egyik pozíciót jobbra mozgatja. Hasonlóképpen átjuttatjuk az E, L, L, O betűket és egy felkiáltójelet: 01000101, 01001100, 01001100, 01001111, 00100001. Ha ugyanazt csináltad, nem számít az éppen összeállított állványon vagy a szimulátorban, a HELLO feliratot fogja látni. ! Így:



Így értetted meg, hogy Arduino mennyit tesz annak érdekében, hogy csak néhány karakter jelenjen meg. Vannak olyan csapatok, amelyek bonyolultabb műveleteket hajtanak végre, miután elsajátították érdekes effektusokat, meghatározhatják a nem szabványos karaktereket ...

A kirándulás az Arduino könyvtár "LiquidCrystal" konyhájába csak most kezdődik, és legyen szórakoztató!
7.5
7.5
7.5

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...