» elektronik »Bänk för att studera HD44780 på en låg nivå

Lågnivå HD44780 Studiebänk



Du skrev i programmet för Arduino något som:

lcd.print ("Hej, världen!")


Styrelsen utförde lydigt kommandot och texten dök upp på displayen. Men hur sa en enhet något och den andra "hör" och "förstår"? Det här är som att be konstnären att göra ditt porträtt, men inte se hur han fungerar på det. Författaren till Instructsbles under smeknamnet indoorgeek kom med ett stativ som hjälper dig att känna dig i skorna på den "levande Arduino" och styra HD44780 på en låg nivå. I en av tävlingarna, detta hemgjorda produkt vann första priset.

Den behöver en liten detalj: vilken modul som helst (LCD, VLI eller PMOLED) på HD44780-kontrollen eller kompatibel, åtta vippbrytare, en knapp som inte låses, en skjutbrytare, ett variabelt motstånd på 1 kΩ, ett kort med ett Micro USB-uttag och ett hölje.








Från vad som inte visas på bilden behöver vi: ett motstånd på 10 kOhm och en kondensator på 100 μF och minst 6,3 V.

Indoorgeek tog själv en modul av den vanligaste typen: LCD, 16 tecken per rad, två rader. Men resten av modulerna har samma kontrollprincip, bara pinout kan skilja sig något, så var inte för lat för att titta i databladet.

I alla fall motsvarar anslutningen till den gemensamma ledningen logisk noll, och anslutningen till +5 volt kraftbussen motsvarar enhet.

Pinnarna 1 och 2 är avsedda att driva modulen. Den första av dem är alltid ansluten till en gemensam tråd, och den andra är alltid med en kraftbuss.

Stift 3 är för att justera kontrasten. När en spänning på 0 till 5 volt appliceras på den relativt den gemensamma tråden, ändras kontrasten från noll till det maximala.

Pin 4 låter dig välja mellan ett dataregister och ett instruktionsregister. Vi ger en logisk noll - instruktionsregistret (med andra ord, kommandon) väljs, enheten är dataregistret.

Instruktioner kan till exempel vara följande: initiera styrenheten, rensa skärmen etc. och data inkluderar tecken som du kommer att visa på indikatorn.

Du kan tvärtom läsa data från något register. För att göra detta måste du applicera en hög nivå på stift 5, och skärmen går in i informationsutgångsläge tillbaka till din mikrokontroller. För att börja skriva data från din mikrokontroller till skärmkontrollen igen måste du skicka låg nivå 5 till stift 5. Ganska ofta används läsläget inte alls, som till exempel i den här hemlagade produkten.

Enligt stift 7 till 14 kan displayen utbyta kommandon och data i 8-bitars kodning. Den lägsta nivån motsvarar stift 7, den högsta - 14.

Stift 6 behövs för grindning.Du ställer långsamt in data på stift 7 till 14, men medan stift 6 är en logisk noll svarar modulen inte alls på detta. Sedan, utan att ändra tillståndet för stift 7 till 14, skickar du en kortnivåspuls på hög nivå till stift 7 - och data överförs.

Slutsatser 15 och 16 - näring av bakgrundsbelysningen, om någon. 15 - plus, 16 - minus.

Tillgängligt för indorgeek visade sig fallet vara 200x150x40 millimeter stort. Detta fall togs från ett annat, demonterat hemmagjordt, och det fanns redan hål i det. Befälhavaren använde dem i den nya designen maximalt för att göra så lite som möjligt ytterligare.



Han ställde in åtta växlar för att ändra tillståndet för data / kommandobusslinjer, en switch för att välja mellan register (se ovan), en knapp för grindning, ett variabelt motstånd för kontinuerlig justering av kontrast.

Stigplanet med ett Micro USB-uttag har praktiska stift som gör det enkelt att ansluta kablar. Endast två av dem behövs här: +5 V och en gemensam tråd. Om du inte har ett sådant kort och ett Micro USB-uttag lödat någonstans verkar olämpligt för lödning, kan du bara ta en sladd med ett USB-kontakt. Låt oss i alla fall upprepa efter master och löd ett sådant schema:



Kontakterna på växelomkopplarna motsvarar det övre läget, indorgeek anslutna och laddade ett plus på dem. Han gjorde samma sak med kontakterna på växelomkopplarna motsvarande det lägre läget, han gav dem bara ett minus. Han anslöt de rörliga kontakterna på växelomkopplarna inte med varandra, utan med slutsatserna från databuss / modulkommandon i enlighet med ”vikt” för båda (D0 - stift 7 - låg ordning, D7 - stift 14 - hög). Om mästarna inte hade bitt rasande uppdragningsmotstånd i barndomen, skulle han kunna använda enklare vippbrytare - inte växla, utan normalt öppna.

Men samma motstånd, men i kontaktstoppens kretsar, blev han aldrig förolämpad. Här behövs denna krets så att skärmkontrollen inte tar ett tryck på strobknappen för flera. Andra kontroller kräver inte chatterundertryckning, eftersom så länge som strobepulserna inte tas emot, kan data på de återstående linjerna ändras många gånger du vill. Det viktigaste är att inte röra vippbrytarna och brytaren med knappen intryckt. Så, med ett motstånd på 10 kOhm, drog befälhavaren stift 6 till den gemensamma tråden och med knappen till plusbussen. Eftersom knappens motstånd är mycket lägre, när den trycks ner, "drar den". När det släpps blir dess motstånd nära oändligheten och motståndet "drar" det redan. En kondensator på 100 uF (visas inte i diagrammet), ansluten med ett pluss till plussbussen, och med en minus till motståndet och den sjätte utgången på displayen, undertrycker skrav. Det är naturligtvis bättre att undertrycka pratningen med en omkopplingsknapp och RS-trigger.

Vid glidomkopplaren är utgångarna från de fasta kontakterna anslutna på samma sätt som för vippomkopplarna, och den rörliga omkopplaren är ansluten till utgången från modulen 6. Här visade utvecklaren återigen en rädsla för att dra upp motstånd. Denna omkopplare behövs för att välja mellan överföringslägen för kommandon (noll) och data (enhet).

Indoorgeek anslöt utgången från det variabla motståndet motsvarande minsta kontrast till den gemensamma tråden, motsatt till plusbussen och mitten (motorn) till modulens tredje utgång.

Slutsatser 1, 5 och 16 (respektive minus ström, skriv / läs och minus bakgrundsbelysning) befälhavaren ansluten till en gemensam tråd, varför inspelningsläget ständigt väljs. Slutsatser 2 och 15 (respektive plus ström och plus bakgrundsbelysning) anslöt han till fem-voltsbussen. Ett strömbegränsande motstånd genom lysdioderna för bakgrundsbelysning är integrerat i displaymodulen.

Om du har samlat allt detta framför dig nu - något liknande:



Frontpanelen inomhusekniken designad så att du kan göra samma sak:



Du kan lära dig HD44780-kontrollkommandon och hur du styr dem genom databladet. Du kan också se färdiga skriptexempel för simulator. Till att börja med kommer vi att upprepa stegen bakom indoorgeek för att visa HELLO!

Slå på enheten. Bakgrundsbelysningen tänds. Flytta skjutbrytaren till det läge som motsvarar logisk noll, så att indikatorn växlar till läget för mottagning av kommandon. Ställ in det binära numret 00001111 på kommandot / databussen med tumlarna och tryck kort på strobknappen. Detta kommando betyder: slå på displayen, gör markören synlig och blinkar, vilket kommer att hända. På samma sätt kommer vi att utfärda 00110000-kommandot, vilket betyder: ta emot data i 8-bitarsformat, välj den första raden och teckensnitt 5 med 8 pixlar. Visuellt kommer ingenting att hända, men någonstans inne i displaykontrollen kommer de nödvändiga omkopplarna att inträffa. Du kan överföra data. Vi översätter glidomkopplaren till det läge som motsvarar den logiska enheten, nu är indikatormodulen redo att acceptera dem. Ställ in ASCII-koden för bokstaven H, dvs 01001000, växla vippbrytarna på bussen och tryck på strobknappen. Motsvarande bokstav visas på skärmen och markören flyttar en position till höger. På liknande sätt kommer vi att skicka bokstäverna E, L, L, O och en utropstecken: 01000101, 01001100, 01001100, 01001111, 00100001. Om du gjorde samma sak spelar det ingen roll på den stativ som du bara monterade eller i simulatorn, så kommer du att se HELLO-inskriptionen ! Gilla detta:



Så här förstod du hur mycket Arduino gör för att bara visa några tecken. Och det finns lag för att utföra mer komplexa åtgärder, efter att ha bemästrat vilka, kan du få intressanta effekter, definiera icke-standardtecken ...

Din utflykt till "köket" i Arduino-biblioteket LiquidCrystal har precis börjat och låt det vara kul!
7.5
7.5
7.5

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...