Alfanumerieke LCD-module mt–16s2h van Melt. Grafisch lcd gebaseerd op de sed1520-controller in isis en hun functies. modelleren van binnenlandse moutdisplays in Proteus

Een onvoltooide versie die later met oefenen zal worden aangevuld.

Een casestudy selecteren over SED1520 Het gebeurde niet per ongeluk. Ten eerste heeft een van de forumdeelnemers hierom gevraagd, en ten tweede hebben grafische weergaven gebaseerd op deze driver en zijn klonen de meeste lage kosten en zijn redelijk te koop. Natuurlijk zijn er ook displays van mobiele telefoons, die nog goedkoper kan worden gekocht en soms gewoon uit de oude kan worden gehaald onnodige telefoon. Maar in dit geval hoeft u het apparaat alleen hardwarematig te debuggen. En het solderen van kabels aan beeldschermen van mobiele telefoons, die meestal niet-standaard miniatuurconnectoren gebruiken, kan voor beginners moeilijk zijn. De uitzondering is het display Nokia-3310, waarvoor het Proteus-model in de natuur bestaat, maar we zullen hier later over praten. Laten we voorlopig eens kijken naar het bestuurdersmodel SED1520 en hoe we het kunnen aanpassen aan onze behoeften. Alle modellen voor het beeldschermstuurprogramma bevinden zich in de bibliotheek Opto-elektronica\LCDControllers. Met name het model SED1520 en het eigenschappenvenster ervan worden weergegeven in Figuur 152. Gegevensblad SED1520 beschikbaar om te downloaden als u een internetverbinding heeft en klik op de juiste knop.
Zoals u kunt zien, heeft het model alleen ingangspinnen en luidsprekeruitgangssignalen ( SEG0…SEG60) en tekenreeksen ( COM0…COM15) zijn al hardgecodeerd programma model Proteus. Dit veroorzaakt enkele problemen bij het modelleren MT-12232A(MELT), maar met sommige conventies is het vrij overkomelijk. Eerst wat informatie over de modeluitvoer uit de datasheet. Ik wil u daar meteen aan herinneren SED1520 kan in twee modi werken: interface met een controller uit de 68xx-serie of interface met een controller uit de 80xx-serie. Wij zijn geïnteresseerd in de eerste, omdat deze is aangenomen als de facto standaard voor andere microcontrollers (AVR, PIC). Voor de duidelijkheid geven we hieronder in blauw aan wat bij 68xx hoort, en in groen wat bij 80xx hoort.
· D.B.– bidirectionele 8-bits commando-/databus.
· A0– input van de bestuurder die bepaalt wat er in zit op dit moment verzonden via de databus: A0=0- team, A0=1– gegevens die op de indicator moeten worden weergegeven.
· R/W(WR)– input van de bestuurder. Voor 68xx definieert lezen (R/W=1) vanaf SED1520 of schrijf er (R/W=0) naar. Voor 80xx WR=0 worden de signalen op de databus tijdens het schrijven gepoort door een positieve flank (voorflank) van 0=>1 puls op deze pin.
· E(RD)– input van de bestuurder. Voor 68xx definieert de boeking (selectie) van deze bestuurder. (E=1 wordt gebruikt om naar een specifiek kristal te schrijven/lezen - dit is een heel belangrijk signaal voor ons.) Voor 80xx betekent RD=0 dat bus D0…D7 SED1520 gericht op het uitvoeren van gegevens.
· C.S.– input van de bestuurder. Meestal CS=0. Effectief bij gebruik van een externe generator klok frequentie.
· RES– driver reset-ingang. Een signaaldaling aan deze ingang reset de driverchip en stelt er een specifieke interface voor in. Als RES=0 was en de overgang 0=>1 heeft plaatsgevonden, vindt er een reset plaats en wordt de 68xx-interface geïnstalleerd. Als RES=1 en de overgang 1=>0 optreedt, vindt er een reset plaats en wordt de 80xx-interface tot stand gebracht. (Dit is ook een heel belangrijk signaal voor ons.)
Laten we nu eens kijken naar de modeleigenschappen SED1520, en specifiek in de vervolgkeuzelijst. Vanaf daar zijn we al bekend met enkele parameters, maar in standaard raam ze zijn niet zichtbaar en we kunnen ze alleen zien als het selectievakje is aangevinkt Bewerk alle eigenschappen als tekst of in modus Apparaat maken op het derde tabblad. Dus eerst over degenen die zichtbaar zijn in de vervolgkeuzelijst:
· Controllerkolommen (ja, ja, precies Kolommen, niet Kolommen- en de Britten hebben dat ook gedaan grammaticale fouten) CONTRBREEDTE standaard is 61 – aantal kolommen ( SEG) in de regelaar.
· Controllerlijnen CONTRHEIGHT standaard is 16 – aantal regels ( COM) voor het controllermodel.
· Controllerdisplay X-offsetBMPXUIT De verschuiving van de afbeelding (op het scherm) langs de horizontale X-as. Standaard nul.
· Controllerdisplay YOffsetBMPXUIT De verschuiving van de afbeelding (op het scherm) langs de verticale Y-as. Standaard nul.
· Segmenten UitvoerrichtingADCMODE uitvoerrichting van het stuurprogrammageheugen naar het scherm. De standaardinstelling is 0 – recht, van links naar rechts. Wanneer ingesteld op 1, wordt de afbeelding weergegeven in omgekeerde richting van rechts naar links. Dit is een zeer reële parameter van een echte controller uit de datasheet. Zoals we later zullen zien, zullen er hierdoor “problemen” ontstaan ​​bij de MELT-indicatoren.
De overige parameters hebben de eigenschap Verborgen(verborgen) en alleen zichtbaar als het selectievakje is aangevinkt Bewerk alle eigenschappen als tekst, maar onder hen zijn er belangrijke voor ons en ik zal ze ook beschrijven. Allereerst zijn deze ons al bekend BREEDTE(hoogte) en HOOGTE(breedte) maar nu is het weergavescherm in pixels. Standaard zijn dit respectievelijk 16 en 61. We zijn ook bekend met de traceringsparameters: SPOOR, TRACE_CWR, TRACE_MWR En TRACE_MRD. Ze zijn allemaal standaard Alleen waarschuwing– waarschuwingsmodus. Eigendom PRIMITIEF voor dit model maakt het uit DIGITAAL,SED1520. Eigendom MODDLL gegeven als LCDPIXEL.DLL. Ik hoop dat deze eigenschappen geen speciale opmerkingen vereisen. Maar we hebben de volgende twee nog niet ontmoet, dus ik zal er dieper op ingaan.
· CTRLID– identificatie van de controller. Standaard ingesteld op 0x100. Als het indicatormodel twee of meer controllers gebruikt, moeten deze waarden verschillend zijn. Dit is hoe het zal zijn in onze modellen - we zullen deze parameter aan de tweede toewijzen als 0x101.
· RAM-GROOTTE- volume intern geheugen stuurprogramma's in bytes. Standaard is dit opgegeven als 320 – dit is een zeer reële waarde en daar zullen we niet aan voorbijgaan.
Nou ja, zoals bij een beschrijving van het model SED1520 Dat is alles voor nu, het is tijd om indicatormodellen erop te gaan implementeren. We hebben hierboven al gesproken over het bouwen van grafische afbeeldingen voor weergavemodellen, maar elk grafisch indicatormodel heeft ook zijn eigen MDF-bestand in zijn eigenschappen, dat het controllerverbindingsdiagram implementeert. Daar zullen we het over hebben. Laten we het eerst nemen en reproduceren vanuit het geëxtraheerde bestand DISPLAY.LML MDF-bestand schematisch diagram van een van de bestaande modellen in ISIS, gebaseerd op SED1520 bijvoorbeeld hetzelfde EW12A03GLY. De uitgepakte MDF en het daaruit gereproduceerde schema bevinden zich in een bijlage in de map GLCD_herstel. Hetzelfde diagram wordt weergegeven in Figuur 153.
De structuur van het indicatormodel EW12A03GLY kan in twee delen worden verdeeld: digitaal en analoog. Het analoge deel simuleert belastingen op de stroom- en achtergrondverlichtingspinnen en is voor ons niet van bijzonder belang, aangezien dit meestal gewone resistieve belastingen zijn, met uitzondering van een diode die de LED-achtergrondverlichting van het scherm simuleert en een negatieve spanningsbron die de spanningsomvormer ingebouwd in deze specifieke indicator. Maar laten we even apart stilstaan ​​bij het digitale gedeelte. Wij zien dat erin in dit geval Er worden twee controllers gebruikt SED1520, waarin de meeste pinnen worden gecombineerd en alleen de selectiepinnen gescheiden zijn E1 voor het linker kristal en E2 voor de juiste. Voor deze specifieke indicator: conclusies R/W(WR) aan de aarde gehangen, omdat er niet vanaf de controllers wordt gelezen, maar vanaf de reset-pinnen RES integendeel, ze zijn aangesloten op de voeding en krijgen bovendien de parameter toegewezen OMKEREN=$RES$ zodat onze indicator altijd in interfacemodus werkt met de 68xx-serie MK.
Opmerking. Laat me je daaraan herinneren RES aan beide zijden begrensd door een dollarteken betekent dat de pinnaam een ​​overscore heeft (invers). Wanneer u dergelijke gegevens invoert, moet u uiterst voorzichtig zijn, vooral als de uitvoer een lange naam heeft en slechts een deel ervan onderstreept is. Als u bijvoorbeeld de uitvoer wilt omkeren E bij SED1520, dan is het noodzakelijk om zijn naam voluit te schrijven, met alle haakjes, enz., d.w.z. OMKEREN=E($RD$). Anders zal deze eigenschap niet werken.
Conclusies C.S. stuurprogramma's worden ook aan de grond gehangen, zoals bij de meeste echte grafische indicatoren op basis van paren SED1520.
Welke andere wijzigingen zijn er aangebracht in de? Zoals ik eerder waarschuwde, is het voor de rechtercontroller gewijzigd CTRLID=0x101 zodat de kristallen verschillende identificatiegegevens hebben. Voor beide kristallen het aantal rijen CONTRHEIGHT=32 in plaats van 16. Ik hoop dat het duidelijk is waarom, omdat dit een 122x32-indicator is. Om dezelfde reden, voor het juiste kristal dat doorloopt rechterkant indicatorscherm, de horizontale offset van het beeld langs de X-as is ingesteld op 61 pixels - BMPXUIT=61. Ik zou ook uw aandacht willen vestigen op het feit dat voor een aantal parameters - schermbreedte en -hoogte, evenals debugging-parameters, specifieke waarden zijn vervangen door parameternamen tussen punthaken. Als iemand het vergeten is, wil ik u eraan herinneren dat het op deze manier mogelijk is om waarden voor deze parameters in te stellen vanuit het hoofdblad of, preciezer, in dit geval, vanuit de eigenschappen van het grafische model (Fig. 154) .
Ik wil vooral opmerken dat je het instellen van traceerparameters (debuggen) in complexe modellen, zoals indicatoren, met deze methode niet mag verwaarlozen. Als dit niet wordt gedaan, is het onmogelijk om de foutopsporingsmodus in te schakelen voor een reeds gecompileerd model, en dit is erg belangrijk voor ons, zoals we hieronder zullen zien.
Nou, nu hoop ik dat het voor iedereen duidelijk is geworden waarom software VSM modellen grafische weergaven zijn geregistreerd als Shematisch en hebben hun eigen MDF-bestanden. Ik zal niet langer stilstaan ​​bij buitenlandse LCD122x32-modellen op basis van SED1520, omdat ze voor het grootste deel vrijwel identiek zijn gebouwd met de verplichte scheiding van inputs E voor linker en rechter kristallen, d.w.z. de echte indicator heeft input E1 om het linkerkristal te klokken en E2 voor de juiste. In Figuur 155 is er bijvoorbeeld een diagram van de opnamecyclus uit het gegevensblad EW12A03GLY hierboven besproken. Ik weet echt niet waarom de fabrikant van deze indicator daar de lezing heeft opgenomen, hoewel de uitvoer in de datasheet staat R/W(WR) duidelijk op de grond getekend.
Het diagram laat zien dat de registratie van het stuurcommando (met een signaal A0=0) of beeldgegevensbyte (met signaal A0=1) wordt geproduceerd door een positieve puls aan de ingang E1 in het linkerkristal en bij de ingang E2 naar rechts. Bij andere displays is het aflezen van kristallen ook mogelijk, maar hier wordt wel rekening mee gehouden logisch niveau bij de ingang R/W(WR), wat zou moeten gebeuren tegen de tijd dat de klok wordt toegepast E zich tijdens het lezen in een logische status bevindt, dan zal het onderste deel van het READ-diagram waar zijn.
Welnu, we gaan verder met grafische indicatoren van ‘lokaal maatwerk’ en zullen ons specifiek concentreren op displays MT-12232 MELT bedrijf. Deze 122x32 pixeldisplays zijn gebaseerd op een Angstrom-kloon KB145VG4 compatibel met SED1520, worden geproduceerd met verschillende letterindexen, en hier is al de eerste “valkuil” verborgen. Het punt is dat de indicator MT-12232B onderscheidt zich als een zwart schaap tussen de rest, omdat het volgens westerse normen is gemaakt en qua signalen volledig compatibel is met de meeste Europese en Chinese displays op basis van SED1520. Het heeft ook twee aparte klokingangen E1 En E2 voor verschillende kristallen. Het timingdiagram voor dit display wordt weergegeven in Figuur 156. Zoals u kunt zien, is het enige verschil met het vorige diagram de aanwezigheid van een signaal R/W(WR), waardoor het lezen van kristallen mogelijk is.
Om deze weergave te simuleren is het in feite voldoende om deze al te gebruiken bestaand model AGM1232G. Het enige verschil is de 3e contrastpin Vo, waarbij MELT geen gebruik maakte van de omgekeerde polariteit van de achtergrondverlichtingspinnen BL(19, 20). Omdat noch de een noch de ander betrokken is bij het proces van het uitvoeren van gegevens naar de indicator en alleen is geïmplementeerd om analoge eigenschappen (belasting) te simuleren, kunnen deze pinnen eenvoudigweg "in de lucht" blijven. Nou ja, voor degenen die een letter-tot-letter match in een map nodig hebben MT12232B bijlage is een grafisch model van de indicator - submap Model_met_kind. Op het kinderblad Model.DSN wordt omgezet in MT12232B subcircuit AGM1232G(Afb. 157). Modelbestand dat daaruit is samengesteld MT12232B.MDF En testproject bevinden zich in een submap Test_MT12232B.
Welnu, we zullen verder een voorbeeld gebruiken MT12232A Laten we eens kijken naar de kenmerken van de andere indicatoren in deze serie. Hier besloot MELT zijn eigen “schil” toe te voegen, wat tot uiting komt in de programmeer- en bedieningsfuncties van deze displays. Ik weet niet hoe gerechtvaardigd dit technologisch gezien is, maar vanuit modelleringsoogpunt staat alles hier op zijn kop.
Het eerste kenmerk van displays met indexen A, C, D, enz. bij gebrek aan afzonderlijke conclusies E voor het beheren van kristallen. Conclusie E deze indicatoren hebben er maar één en worden gebruikt om zowel de linker- als de rechtercontroller te klokken KB145VG4. Gebruik om toegang te krijgen tot een specifiek kristal C.S.. Beschikbaarheid van logboek. 1 erop activeert de toegang tot de linker driver, die verantwoordelijk is voor het uitvoeren van informatie naar linkerkant scherm. Logboek. 0 bij uitvoer C.S. betekent werken met het juiste kristal dat de rechterkant van het scherm bedient.
Het tweede kenmerk betreft het juiste kristal. Feit is dat MELT hier ook de omgekeerde volgorde gebruikte van het verbinden van de kolommen van de driver met de LCD-segmenten, d.w.z. Uitgang SEG00 het rechterkristal komt overeen met de 122e kolom van het display en de uitvoer SEG60– 61e colonne. Voor normale weergave van het beeld aan de rechterkant van het scherm tijdens de initiële initialisatie van de controllers is het noodzakelijk om een ​​commando te geven aan het linker kristal ADC=0(directe uitvoer) en voor rechts ADC=1(omgekeerde uitvoer) afbeeldingen. Deze functie is eenvoudig te implementeren in echte leven, maar bij het modelleren in Proteus legt het enkele beperkingen op. Model SED1520 kan op commando gegevens in omgekeerde volgorde afspelen ADC=1, maar de uitgangen SEG we kunnen niet achterstevoren “opnieuw solderen”, zoals bij een echt MELT-display - ze zijn eenvoudigweg afwezig en zijn hardgecodeerd in het softwaremodel. Daarom zult u bij het modelleren in het initialisatieprogramma voor beide kristallen moeten gebruiken ADC=0, en voor een echte “hardware”-weergave, voordat u de firmware van de controller flasht, wijzigt u deze waarde voor een van de kristallen in één. In de regel wordt de initialisatie één keer uitgevoerd wanneer het apparaat wordt ingeschakeld (gestart), dus het is erg grote problemen belt momenteel niet. Het belangrijkste is om dit onder controle te houden en vergeet niet de waarde te wijzigen bij het compileren van de echte firmware.
Het eerste kenmerk kan gemakkelijk worden overwonnen door de circuittechnische methode. Subcircuit voor compilatie MDF-bestand Voor MT12232A ziet er uit zoals in Figuur 158.
Ik heb specifiek de signaaldecoderingseenheid verlaten E in zijn oorspronkelijke vorm, hoewel hij compacter had kunnen worden gemaakt door de omvormer te verwijderen U4 en het instellen van de eigenschap OMKEREN voor ingangen D0 elementen U3 En U5. Over het algemeen zijn hier verschillende variaties op het thema op zijn plaats, maar in deze vorm werkte het voor mij al en meer is er niet nodig. In de map bijlagen MT12232A, net als voor het model met index B, het overeenkomstige Model_met_kind met een onderliggend blad met dit diagram, en Test_MT12232A, waarin er een kant-en-klaar exemplaar is MT12232A.MDF.
Om dit materiaal samen te vatten, zou ik graag iets willen ingaan op de kenmerken van de initiële initialisatieprocedure en het weergeven van informatie over MELT-indicatoren. U kunt verschillende versies van deze procedure op internet vinden. Met name in het gegevensblad op MT12232A De fabrikant beveelt de volgende volgorde van handelingen aan:
1. Houd na het aanleggen van de voedingsspanning de RES-pin minimaal 10 μs in de logische “0”-status;
2. breng een daling aan op de RES-pin van logische “0” naar logische “1”, de stijgtijd bedraagt ​​niet meer dan 10 μs;
3. wacht tot de RESET-bit in de statusbyte is gereset of wacht minimaal 2 ms;
4. geef het commando om de RMW-vlag (END) te verwijderen;
5. geef het inschakelcommando normale modus werk (Statische aandrijving AAN/UIT);
6. geef het multiplexselectiecommando (Duty Select);
7. geef het commando om het display in te schakelen (Display ON/OFF).
De eerste drie bewerkingen zijn gemeenschappelijk voor beide weergavekristallen en worden één keer uitgevoerd. Bij de MK 68xx schakelen ze het display naar de bedrijfsmodus. De rest moet voor elk kristal afzonderlijk worden gedaan, en in het door de fabrikant aanbevolen voorbeeld wordt vóór bewerking 4 ook voor elk kristal het commando gegeven RESETTEN (0xE2). Voorbeelden van programma's van MELT zijn samen met de datasheets in de bijlage opgenomen. Punten van het initiële installatiealgoritme, beginnend bij 4, kunnen als volgt in meer detail worden herschreven:
4. geef een commando ( A0=0, RD/WR=0) reset RESET (DB7…DB0=0xE2) in het linker kristal ( CS=0), stroboscoopsignaal (1-0-1). E,
geef een opdracht ( A0=0, RD/WR=0) resetten RESET ( DB7…DB0=0xE2) in het juiste kristal ( CS=1), stroboscoop E.
5. geef een commando ( A0=0, RD/WR=0) resetRMW( DB7…DB0=0xEE) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) RMW opnieuw instellen( DB7…DB0=0xEE) in het juiste kristal ( CS=1), stroboscoop E.
6. geef een commando ( A0=0, RD/WR=0) normale modus (DB7…DB0=0xA4) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) normale modus ( DB7…DB0=0xA4) in het juiste kristal ( CS=1), stroboscoop E.
7. geef een commando ( A0=0, RD/WR=0) multiplexselectie 1/32 ( DB7…DB0=0xA9) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) multiplexselectie 1/32 ( DB7…DB0=0xA9) in het juiste kristal ( CS=1), stroboscoop E.
8. geef een commando ( A0=0, RD/WR=0DB7…DB0=0xС0) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) installaties bovenste regel op 0 ( DB7…DB0=0xС0) in het juiste kristal ( CS=1), stroboscoop E.
9. geef een commando ( A0=0, RD/WR=0DB7…DB0=0xA1) (Let op! Hier voor Proteus zou er moeten zijn A0, en voor een echte indicator A1) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) instellingen voor omgekeerde match ( DB7…DB0=0xA0) in het juiste kristal ( CS=1), stroboscoop E.
10. geef een commando ( A0=0, RD/WR=0) zet het scherm aan ( DB7…DB0=0xAF) in het linker kristal ( CS=0), stroboscoop E,
geef een opdracht ( A0=0, RD/WR=0) zet het scherm aan ( DB7…DB0=0xAF) in het juiste kristal ( CS=1), stroboscoop E.
Initialisatie kan worden uitgevoerd zoals in de hierboven aangegeven volgorde, d.w.z. afwisselend voor elk kristal, één commando, en volledig alle procedures van 4 tot 10, eerst voor één ( CS=0), en dan voor nog een ( CS=1). Het hangt ervan af wie zich meer op zijn gemak voelt met het programma. Je hoeft alleen maar het 9e punt te onthouden, dat in werkelijkheid anders zal zijn.
Helaas zijn alle kant-en-klare bibliotheekfuncties in SI voor displays MT12232A, gevonden in wereldwijde web enkele fouten bevatten. In principe zijn dit pogingen tot aanpassing standaard kenmerken uitvoer voor displays op basis van SED1520 voor bijzonderheden MT12232A. Daarom kan ik ze nu niet aanbevelen voor gebruik zonder zorgvuldige studie en correctie. Maar ik zal als voorbeeld de uitvoer geven van een grafische array met het MELT-logo, dat is overgenomen uit het voorbeeld van de fabrikant. In het voorbeeld LOGO.DSN uit map LOGO_MT12232A bijlagen wordt een licht aangepast voorbeeld gebruikt MT12232-CV gekoppeld aan het materiaal over de bestuurder MT12232A van de site ChipInschakelen:
http://www.chipenable.ru/index.php/how-connection/103-podkluchenie-mt12232-k-avr.html
Helaas wordt aanbevolen om het volledig te gebruiken dit materiaal voor weergavesimulatie MT12232A Ik kan het niet doen in Proteus, maar in ieder geval verlopen de initiële initialisatie en uitvoer van de grafische array op het modelscherm correct, wat wordt bevestigd door het voorbeeld (Fig. 159).
Misschien zal ik later, als ik vrije tijd heb, dit materiaal aanvullen met nieuwe voorbeelden, vooral omdat ik nu de indicator zelf heb en het mogelijk zal zijn om de overeenstemming van het model met de hardware te controleren. In de tussentijd laten we dit materiaal achter, vatten samen, aangezien de offline versie van het materiaal al een hele tijd niet meer is gepost, en gaan verder met de beoordeling actieve modellen met controles.
Figuren 152, 153.154.
Figuren 155, 156.157.
Figuren 158, 159.

Algemene beschrijving

De MT–16S2H vloeibaar-kristalmodule bestaat uit een LSI-besturingscontroller en een LCD-paneel. De besturingscontroller KB1013VG6, vervaardigd door JSC ANGSTREM (www.angstrem.ru), is vergelijkbaar met HD44780 van HITACHI en KS0066 van SAMSUNG.

De module is verkrijgbaar met LED-achtergrondverlichting. Verschijning weergegeven in Figuur 1. Met de module kunt u 1 regel van 16 tekens weergeven. Symbolen worden weergegeven in een matrix van 5x8 punten. Er zijn spaties tussen tekens die één displaypunt breed zijn.

Elk teken dat op het LCD-scherm wordt weergegeven, komt overeen met de code in de RAM-cel van de module.

De module bevat twee soorten geheugen: codes voor weergegeven tekens en een gebruikerstekengenerator, evenals logica voor het besturen van het LCD-paneel.

Afmetingen modules worden getoond in Figuur 7.

Aandacht! Impact is onaanvaardbaar statische elektriciteit meer dan 30 volt.

Met de module kunt u:

  • De module heeft softwarematig schakelbare twee pagina's van een ingebouwde tekengenerator (alfabetten: Russisch, Oekraïens, Wit-Russisch, Kazachs en Engels; zie tabellen 5 en 6).
  • werken zowel op 8 als 4-bit databus (ingesteld tijdens initialisatie);
  • opdrachten ontvangen van de databus (de lijst met opdrachten vindt u in Tabel 4);
  • gegevens naar RAM schrijven vanaf de databus;
  • gegevens uit RAM lezen op de databus;
  • lees de statusstatus op de databus (zie Tabel 4);
  • onthoud maximaal 8 afbeeldingen van door de gebruiker gespecificeerde symbolen;
  • een knipperende (of niet-knipperende) cursor van twee typen weergeven;
  • controlecontrast en achtergrondverlichting;

Basisprincipes

De module wordt bestuurd via een parallelle 4- of 8-bits interface.

Timingdiagrammen worden getoond in Fig. 3 en 4 worden dynamische kenmerken gegeven in Tabel 2.

Voorbeelden van interface-uitwisseling worden getoond in Fig. 5 en 6.

Programmabesturing wordt uitgevoerd met behulp van het commandosysteem dat wordt weergegeven in Tabel 4.

Voordat de module kan werken, is het noodzakelijk om de initiële installatie uit te voeren.

De ingebouwde tekengenerator wordt weergegeven in tabellen 5 en 6.

Met de module kunt u de afbeeldingen instellen van acht extra tekengeneratorsymbolen, die worden gebruikt bij het werken met de ingebouwde symbolen. Een voorbeeld van het specificeren van aanvullende symbolen wordt gegeven in Tabel 3.

Tabel 1. Dynamische kenmerken van de module

Naam Aanduiding Ucc = 5B U cc =3B Maateenheden
Min. Max. Min. Max.
Lees-/schrijfcyclustijd tcycE 500 - 1000 - ns
Pulsduur lezen/schrijven inschakelen PW EH 230 - 450 - ns
Stijgings- en ondergangstijd tEr, tEf - 20 - 25 ns
Adres vooraf ingestelde tijd t AS 40 - 60 - ns
Houdtijd adres tAH 10 - 20 - ns
Tijd voor het vrijgeven van gegevens tDDR - 120 - 360 ns
Gegevenslatentie t DHR 5 - 5 - ns
Gegevens vooraf ingestelde tijd tDSW 80 - 195 - ns
Bewaartijd van gegevens e 10 - 10 - ns

Contrastcontrole

Wanneer de voedingsspanning van de module 3V bedraagt, is het contrast in de fabriek op maximaal ingesteld. Het contrast wordt verminderd door een externe weerstand met een nominale waarde van maximaal 3 kOhm aan te sluiten tussen de U o- en GND-klemmen.

Wanneer de voedingsspanning van de module 5V bedraagt, is het modulecontrast afhankelijk van de voedingsspanning van het LCD-paneel (U LCD) en de temperatuur. Het contrast wordt geregeld door een externe weerstand (Fig. 2). Bij levering van de module is het contrast ingesteld op U cc = 5V, dus als de voedingsspanning van de module 5V is, moet pin 3 (U o) gecombineerd worden met pin 1 (GND). Bij temperaturen onder 0°C is contrastaanpassing noodzakelijk.


Rijst. 2

Modulekarakteristieken volgens gelijkstroom

Tabel 2. DC-karakteristieken van de module

Naam Aanduiding Ucc = 5B U cc =3B Maateenheden
Min. Nom. Max. Min. Nom. Max.
Voedingsspanning logisch U CC-GND 4,5 5,0 5,5 2,7 3,0 3,3 IN
LCD-scherm U CC –U o 4,8 5,0 5,2 - - - IN
Huidig ​​verbruik Ik CC - 0,8 1,0 - 0,8 1,0 mA
Ingangsspanning hoog niveau bij IH = 0,1 mA U IH 2,2 - U CC 2,2 - U CC IN
Ingangsspanning laag niveau bij IIL = 0,1 mA U IL –0,3 - 0,6 -0,3 - 0,4 IN
Uitgangsspanning op hoog niveau bij I OH = 0,2 mA UOH 2,4 - - 2,0 - - IN
Lage uitgangsspanning bij IOL = 1,2 mA U OL - - 0,4 - - 0,4 IN
Achtergrondverlichtingsstroom bij voedingsspanning van de achtergrondverlichting =U cc (voor oranje en geelgroene achtergrondverlichting) Ik LED - - 120 - - 80 mA

Timingdiagrammen


Rijst. 3. Leesschema


Rijst. 4. Opnamediagram


Rijst. 5

Opmerking. In elke uitwisselingscyclus is het noodzakelijk om alle 8 bits te verzenden (lezen of schrijven) - tweemaal 4 bits. Verzending van de vier meest significante bits zonder daaropvolgende verzending van de laagste vier bits is niet toegestaan.


Rijst. 6

Eerste module-installatie

De module zal pas naar de normale bedrijfsmodus gaan nadat de volgende opdrachten ernaar zijn verzonden:

Opmerking. De toewijzing van de bits is aangegeven in Tabel 4. Na deze stappen komt de module in de bedrijfstoestand met de ingestelde parameters.

De module bevat 80 byte RAM op de adressen 0h–27h en 40h–67h voor het opslaan van gegevens (DDRAM) die op het LCD-scherm worden weergegeven. De adressen van de symbolen die op het LCD-scherm worden weergegeven, zijn als volgt verdeeld:

Door de gebruiker programmeerbare karakters

De module bevat geheugen voor het opslaan van afbeeldingen van acht door de gebruiker programmeerbare karakters (CGRAM). De codes van deze acht tekens worden weergegeven in de tabel. 5. De adressen van de beeldlijnen van deze symbolen zijn niet afhankelijk van de adressen van de uitgangssymbolen (die zich in een aparte adresruimte bevinden) en bezetten adressen van 0h tot 3Fh. Elk teken beslaat 8 bytes (0h–7h, 8h–Fh, 10h–17h, ..., 30h–37h, 38h–3Fh). De bytes zijn genummerd in volgorde van weergave op de module, van boven naar beneden (de eerste byte is bovenaan, de achtste byte is onderaan). De laatste, achtste regel wordt ook gebruikt om de cursor weer te geven (als de onderstreepte cursor is geselecteerd). Elke byte gebruikt alleen de minst significante 5 bits (4, 3, 2, 1, 0), de meest significante 3 bits (7, 6, 5) kunnen van alles zijn, ze hebben geen invloed op de weergave. Bit 4 komt overeen met de linkerkolom van de symboolmatrix, bit 0 met de rechterkolom van het symbool. Zie Tabel 3 voor een voorbeeld.

Tabel 3

* - waarde heeft geen invloed op de weergave

Beschrijving van moduleopdrachten

Team A0 R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Beschrijving doorlooptijd
Duidelijke weergave 0 0 0 0 0 0 0 0 0 1 Wist de module en plaatst de cursor op de meest linkse positie 1,5 ms
Terug naar huis 0 0 0 0 0 0 0 0 1 X Verplaatst de cursor naar de linkerpositie 40 µs
Invoermodus ingesteld 0 0 0 0 0 0 0 1 Identiteitskaart SCH De richting van de cursorverschuiving (ID=0/1-links/rechts) en de resolutie van de weergaveverschuiving (SH=1) instellen bij het schrijven naar DDRAM 40 µs
Display AAN/UIT-bediening 0 0 0 0 0 0 1 D C B Schakelt module (D=1) in en selecteert cursortype (C, B), zie opmerking 4 40 µs
Cursor- of weergaveverschuiving 0 0 0 0 0 1 SC R.L. X X Voert weergave of cursorverschuiving uit (SC=0/1-cursor/display, RL=0/1-links/rechts) 40 µs
Functie ingesteld 0 0 0 0 1 D.L. 1 0 P 0 Instellen van de interfacebreedte (DL=0/1-4/8 bits) en karaktergeneratorpagina P 40 µs
Stel het CGRAM-adres in 0 0 0 1 ACG Het adres instellen voor volgende bewerkingen (en de cursor daar plaatsen) en het CGRAM-gebied selecteren 40 µs
Stel het DDRAM-adres in 0 0 1 TOEVOEGEN Het adres instellen voor volgende bewerkingen en het DRAM-gebied selecteren 40 µs
Lees de BUSY-vlag en het adres 0 1 B.S. A.C. Lees de bezetvlag en de inhoud van de adresteller 0
Gegevens naar RAM schrijven 1 0 SCHRIJF GEGEVENS Gegevens naar het actieve gebied schrijven 40 µs
Gegevens uit RAM lezen 1 1 LEES GEGEVENS Gegevens uit het actieve gebied lezen 40 µs

Opmerkingen:

  1. Opgegeven tijd uitvoering van opdrachten is maximaal. Het hoeft niet te worden gehandhaafd zolang de BS-bus-vlag wordt gelezen - zodra de BS-vlag = 0 kan het volgende commando of de volgende data onmiddellijk worden geschreven. Als de BS-vlag niet wordt gecontroleerd voordat opdrachten worden gegeven, is het noodzakelijk om tussen de opdrachten een pauze in te lassen van ten minste de opgegeven tijd. betrouwbare werking module.
  2. Er is geen noodzaak om te pauzeren bij het lezen van de statusbit.
  3. Grote X - elke waarde (0 of 1).
  4. Bits C en B in het commando “Display ON/OFF control”: C=0, B=0 - er is geen cursor, er knippert niets;

C=0, B=1 - er is geen cursor, het hele teken op de cursorpositie knippert;

C=1, B=0 - er is een cursor (onderstreept), er knippert niets; C=1, B=1 - er is een cursor (onderstreept) en deze is de enige die knippert. Tabel 5. Pagina 0 van de ingebouwde tekengenerator Momenteel is er een aanzienlijke toename van de productie van radio-elektronische apparatuur in Rusland. Er is een verscheidenheid aan apparatuur op de markt verschenen voor de geautomatiseerde montage van platen, zowel binnenlands als buitenlands. De technologie voor het produceren van liquid crystal displays (LCD's) is tegenwoordig om twee redenen moeilijk te implementeren in Rusland. Ten eerste is het noodzakelijk om controlekristallen op het bord te installeren met behulp van chip-on-board (COB) -technologie. Ten tweede zijn er geen beschikbare kristallen Russische productie . Het bedrijf MELT lost deze problemen al ruim twee jaar op. Controlekristallen voor verschillende opties

vloeibare kristalmodules. We lanceerden onze eigen assemblagelijn volgens de COB-methode. De kwaliteit van de moduleproductie wordt verzekerd door moderne technologische apparatuur en toepassing

de laatste ontwikkelingen

MELT bedrijf.

LCD-ontwerp Het bedrijf MELT produceert LCD's met een standaardontwerp dat over de hele wereld aan populariteit heeft gewonnen: een stijve modulebasis in de vorm van een printplaat met daarop een M/C-controller geïnstalleerd met behulp van COB-technologie. Een metalen frame houdt het LCD-paneel vast en drukt geleidend rubber tegen het bord en het glas. Een van de onbetwiste voordelen van dit ontwerp is de mogelijkheid om de functionaliteit van de modules te herstellen door simpelweg het bord of het LCD-paneel te vervangen. - Chip On Board (COB)-technologie. De kosten van de kristalbehuizing zijn vergelijkbaar met de kosten van het bord waarop het vervolgens wordt geïnstalleerd, dus het is zinvol om het kristal rechtstreeks op het bord te installeren. In dit geval, als het kristal defect raakt, wordt het bord eenvoudigweg vervangen door een nieuw exemplaar. De assemblage van indicatoren met behulp van Chip On Board-technologie garandeert de productie van redelijk concurrerende producten die volledig voldoen aan de internationale kwaliteitseisen.

Temperatuurbereik

Het temperatuurbereik van het LCD-scherm wordt bepaald door de fysische en chemische eigenschappen van het LCD-paneel. Naarmate de temperatuur daalt, neemt de schakeltijd van het LCD-paneel toe, waardoor dynamische weergave moeilijk te implementeren is. Een verdere temperatuurdaling leidt tot vernietiging van het LCD-paneel. Dus als de stroom van het apparaat waarop het verwarmde LCD-scherm is geïnstalleerd wordt uitgeschakeld, gaat bij lage temperaturen de functionaliteit van de module verloren. Om dit probleem op te lossen produceert het bedrijf MELT LCD's in twee temperatuurbereiken: normaal (0...50 °C) en uitgebreid (–30...70 °C).

LCD-paneeltype LCD

Het bedrijf MELT produceert LCD's met twee soorten LCD-panelen: Reflective - werkt om de lichtstroom te reflecteren en Transflective - werkt voor transmissie (Fig. 1). Transflectief glas is er in twee soorten: positief en negatief. Positief vertegenwoordigt transparante achtergrond, waarin bepaalde gebieden ondoorzichtig worden wanneer geschikte signalen worden toegepast. Negatief vertegenwoordigt ondoorzichtige achtergrond, waarin de overeenkomstige gebieden transparant worden.

LCD's met transflectieve LCD-panelen zijn duurder omdat ze gebruik maken van extra element achtergrondverlichting. Ze worden aanbevolen voor gebruik in constructies die onder alle lichtomstandigheden werken.

Type achtergrondverlichting

LCD's geproduceerd door MELT gebruiken light-emitting diode (LED) en fluorescerende (EL) achtergrondverlichting. LED-achtergrondverlichting is duurzaam (20.000–100.000 uur) en vereist geen extra verlichting extra bron voeding heeft echter een vrij hoog stroomverbruik (van 10 tot 100 mA) en grote totale afmetingen (de hoogte van de indicator neemt gemiddeld 3-5 mm toe). EL-achtergrondverlichting wordt gekenmerkt door een zeer laag stroomverbruik met verhoogde lichtopbrengst en kleine afmetingen, maar dit type achtergrondverlichting vereist een extra voedingsbron (100 V) en de levensduur is 2000-5000 uur. Momenteel bevinden LCD's met EL-achtergrondverlichting zich in de pre-productiefase.

LCD-voedingsspanning

Een van de meest aantrekkelijke punten voor de ontwikkelaar is het brede scala aan voedingsspanningen. De LCD-besturingschip heeft een voedingsspanning nodig van 3 tot 6 V. Om een ​​normaal contrast van het LCD-paneel te verkrijgen, moet deze echter worden voorzien van een spanning van 3 tot 16 V, afhankelijk van de temperatuur. omgeving en het type glas zelf. Dus als een LCD-scherm met een voedingsspanning van 3 V nodig is, volstaat het om een ​​​​seriële module te nemen en daarnaast een micro-voedingsspanningsomzetter samen te stellen, waarvan de uitgang moet worden aangesloten op de contrastregeling ingang van het LCD-scherm (Fig. 2). In dit geval is het LCD-contrast afhankelijk van de uitgangsspanning van de omzetter. Als de voedingsspanning van de indicator en het LCD-paneel gelijk zijn, kan het contrast worden aangepast met behulp van trimweerstand, aangesloten tussen de V0-ingang en GND van het LCD-scherm. Het LCD-contrast is ook afhankelijk van bedrijfstemperatuur, dus voor een product dat actief is in breed bereik temperaturen, uitgangsspanning De converter moet temperatuurafhankelijk worden gemaakt. Houd er rekening mee dat LCD's van welk type dan ook niet mogen worden blootgesteld aan statische elektriciteit boven 30 V.

Vloeibaarkristalmodule MT-10T7-7

De MT-10T7-7 vloeibare kristalmodule is de eenvoudigste die door MELT LCD wordt geproduceerd. Deze module is het populairst geworden bij het ontwikkelen van eenvoudige ontwerpen vanwege de lage prijs en zeer gebruiksvriendelijke interface. Het wordt aan één kant gemonteerd printplaat met één controlekristal. Alle module-elementen bevinden zich tussen het bord en het glas, waardoor dit kon worden gegarandeerd hoogste kwaliteit en betrouwbaarheid (Fig. 3). De module kan tien bekende plaatsen weergeven; elke bekende plaats vertegenwoordigt acht segmenten, gerangschikt in de vorm van een cijfer acht met een punt (Fig. 4). Elk segment van enige bekendheid kan onafhankelijk van andere segmenten worden in- en uitgeschakeld, wat het mogelijk maakt om een ​​redelijk informatieve indicatie te geven in goedkope ontwerpen. Blokdiagram module MT-10T7-7 wordt getoond in Fig. 5. Het modulegeheugen bestaat uit tien registers die overeenkomen met elk van de tien bekende locaties. Elk register is verdeeld in twee tetrads, hoog (H) en laag (L). De senior tetrad komt overeen met segmenten h, b, c en f, de junior - g, e, d en a (Fig. 4). Bij een opname op hoog niveau wordt het corresponderende segment gemarkeerd, bij een opname op laag niveau wordt het donker.

Interfacebeschrijving

Gegevens worden als volgt naar elk van de indicatorregisters geschreven. Het registeradres wordt ingesteld op de databus (DB0-DB3). Het adres/datasignaal (A0) moet op 0 worden ingesteld. Het adres in het DCA-register wordt vergrendeld onder de voorwaarde WR1 & ^WR2, dat wil zeggen de gelijktijdige combinatie van een hoog niveau op de WR1-pin en een laag niveau op de WR2-pin. Deze oplossing maakt een flexibelere implementatie van de CS-functie (chipselectie) mogelijk als er meerdere zijn verschillende apparaten. Als dit niet nodig is, kan pin WR2 worden kortgesloten naar GND en kan het CS-signaal worden aangeboden aan pin WR1. Zodra het adres in het DCA-register is vastgelegd, moeten gegevens worden verzonden. Hiervoor moet uitgang A0 worden omgezet naar hoge staat Stel de waarde van de data-tetrad van lage orde in op de databus en pas het CS-signaal toe (zie hierboven). Pas vervolgens de waarde van de meest significante datatetrad toe op de databus en pas het CS-signaal opnieuw toe. Nadat u de tweede tetrad hebt geschreven, wordt de inhoud van het adres verhoogd en kunt u gegevens naar volgende registers schrijven zonder eerst het adres te schrijven. De busvergrendelingstrigger bevindt zich op adres 0Fh. Ernaar schrijven DB0 = "L" blokkeert het schrijven naar de adressen en datamodule. De bus wordt ontgrendeld door DB0 = “H” naar adres 0Fh te schrijven. Het eerste commando na het inschakelen van de stroom moet het busontgrendelingscommando zijn, aangezien de status van de indicatorregisters van alles kan zijn.

De toewijzingen van de modulepinnen vindt u in de tabel. 1. De overeenkomst tussen de adressen van de dataregisters en de nummers van de modulekennissen staat in de tabel. 2. De dynamische kenmerken van de module worden getoond in Fig. 6 en in tabel. 3. Elektrische parameters voor gelijkstroom vindt u in de tabel. 4. De algemene afmetingen van de MT-10T7-7-module worden getoond in Fig. 7. Tijddiagrammen voor het opnemen van gegevens in de indicator worden getoond in Fig. 8. Momenteel wordt de MT-10T7-7 LCD in massa geproduceerd in een standaard temperatuurbereik met reflecterend glas. Andere LCD-opties worden op bestelling gemaakt. Het MT-10T7-7 LCD-scherm heeft geen buitenlandse analogen.

Vloeibaarkristalmodules met ingebouwde karaktergenerator

Algemene beschrijving

Momenteel produceert het bedrijf MELT drie soorten vloeibaar-kristalmodules met een ingebouwde karaktergenerator: MT-10S1-2, MT-16S2-2Н, MT-16S2-2D (Fig. 9-11). LCD MT-16S2Q bevindt zich in het voorbereidingsproces voor productie, wat verschilt van MT-16S2-2Н groot formaat weergegeven karakters. De bedieningscontroller op het LCD-paneel is vergelijkbaar met Hitachi's HD44780 of KS0066 Samsung. Modules zijn verkrijgbaar met LED-achtergrondverlichting en zonder haar.

Met de modules MT-16S2-2H en MT-16S2-2D kunt u twee regels van elk zestien tekens weergeven. De tekens worden weergegeven in een matrix van 5–8 punten en een cursor. De afstand tussen de tekens is één weergavepunt breed. Deze modules zijn volledige analogen LCD vervaardigd door POWERTIP, MICROTIPS, BOLYMIN, enz.

Met MT-10S1-2 kunt u 10 tekens op één regel weergeven met een tekenmatrix van 5–8 punten plus cursor. Elk weergegeven teken komt overeen met de code in de geheugencel van de module. De modules bevatten twee soorten geheugen: codes voor weergegeven tekens en een gebruikerstekengenerator, evenals logica voor het besturen van het LCD-paneel. Totale afmetingen van de modules (Fig. 12–14).

De toewijzing van de pinnen MT-10S1-2, MT-16S2-2H en MT-16S2-2D vindt u in de tabel. 7.

Met het LCD-scherm met ingebouwde tekengenerator kunt u:

  • afbeeldingen van symbolen van de ingebouwde tekengenerator op het LCD-paneel weergeven;
  • onthoud maximaal acht afbeeldingen van door de gebruiker gespecificeerde symbolen en geef deze ook weer;
  • twee typen knipperende en niet-knipperende cursors weergeven;
  • werken op zowel 8- als 4-bit databus.

Timingsdiagrammen voor het lezen en schrijven worden getoond in Fig. 15. Dynamische kenmerken worden gegeven in de tabel. 5. De DC-karakteristieken van de modules staan ​​vermeld in de tabel. 6.

De modules worden aangestuurd via een 4- of 8-bit interface. De interfacebitdiepte wordt door de gebruiker ingesteld met behulp van de juiste commando's (Fig. 16). De opgegeven uitvoeringstijd van de opdracht is een maximum. Het hoeft niet te worden onderhouden zolang de BS-vlag wordt gelezen. Zodra de BS-vlag 0 is, kunnen de volgende opdracht of gegevens worden geschreven. Het uitwisselingsdiagram voor de 4-bits interface wordt getoond in Fig. 17, en voor 8-bit - in Fig. 18. Bij het werken aan een 4-bits interface moeten in elke cyclus alle acht bits worden verzonden (lezen of schrijven). Verzending van de hogere vier bits zonder daaropvolgende verzending van de onderste vier bits is niet toegestaan. Het aanbevolen algoritme voor de eerste installatie van modules na voeding wordt getoond in Fig. 19.


Wordt vervolgd

20 november 2016 om 12:04 uur

De “huishoudelijke” LCD 16x2 MT-16S2S sluiten we aan via SPI

  • Computerhardware,
  • Elektronica voor beginners

De trend van importsubstitutie was aanleiding voor testen karakter-LCD indicator van MELT. We namen de MT-16S2S op de ST7070. In sommige opzichten is dit een analoog van de bekende WH-1602 op 44780. Het ondersteunt ook de SPI-modus.

MELT assembleert ook displays op de huishoudelijke KB1013VG6-controller van Integral. Het verschilt qua werking in 4-bits modus van de nu standaard 44780.

Op de website van de fabrikant staat een voorbeeldcode om in te werken verschillende modi. Maar het is geschreven in assembler en voor een abstract platform in een vacuüm. Het opnieuw maken op STM is alsof je het helemaal opnieuw schrijft. Ik kan de ervaring met het gebruik van kant-en-klare bibliotheken, zelfs voor de gewone 44780, ook niet positief noemen. Het duurt lang voordat ze zijn aangepast aan het gewenste platform- en controllermodel. En de meeste gebruiken een vertragingsfunctie onder AVR, die “om de een of andere reden” niet is voorzien voor STM. En zelfs wat is begonnen, werkt erg slecht, soms laat het zien wie weet wat, soms bevriest het. Daarom werd besloten om mijn eigen bibliotheek te schrijven.

Bovendien heeft de MT-16S2S nog een feature: een SPI-interface, waarmee u het aantal gebruikte controllerpinnen kunt terugbrengen tot 4. De uitvoer wordt dus via SPI georganiseerd.


Het commandosysteem wordt in enig detail beschreven. Over het algemeen is het in de huidige situatie, waarin er bijna geen huishoudelijke elektronica is in het dagelijks leven, zeer aangenaam, hoewel ongebruikelijk, om de beschrijving van microschakelingen en andere producten in het Russisch te lezen (niet vertaald uit het Engels of Chinees zoals "Tijgerbalsem witte druppels doodopbouwend eiwit”). Het is waar dat je soms zulke pareltjes tegenkomt waarvan je denkt: ‘In het Engels zou het beter zijn.’ Maar dat is hier allemaal goed.


De verbinding is vrijwel standaard. VCC, E, D0-D4 naar voeding plus, A0, GND, R/W en PSB naar aarde; Maak verbinding met de controller: D5 – naar CS, D6 – naar SCK, D7 – naar MOSI, XRES – naar elke GPIO. Ik heb mij aangesloten bij MISO, omdat... Ik beheer het nog steeds programmatisch. Overigens bevat de beschrijving op de website het verkeerde schema. Er wordt vermeld dat D5 naar de plus van de voeding wordt getrokken, maar dit is CS. Ze schreven op het forum dat ze hiervan op de hoogte zijn, maar er is nog niets opgelost.

De aansluitingen voor de achtergrondverlichting kunnen vrij worden gelaten, maar het is natuurlijk beter om met de achtergrondverlichting te werken, en om dit te doen, sluit je de anode via een weerstand van 10-30 Ohm aan op de voeding en de kathode op aarde. De pin voor het regelen van het contrast regelt vreemd genoeg niets op de 5 volt-indicator. Ik heb het gewoon in de lucht laten hangen.

Nog één interessante functie is de aanwezigheid van twee karaktergeneratorpagina's. Dankzij dit kun je een enorme hoeveelheid onbekend afval met een grote verscheidenheid aan symbolen weergeven.



Maar als u kiest voor een “huishoudelijk” beeldscherm om met Cyrillisch te werken, wacht u een verrassing. Russische letters, die geen analogen hebben in het Latijnse alfabet, bevinden zich op de eerste pagina. En de cijfers en het Latijnse alfabet zijn nul. En om ze samen weer te geven, zul je tussen pagina's moeten wisselen. Er zal dus geen uitvoer van de gehele lijn mogelijk zijn.

In dit opzicht is het display van Winstar handiger. Het bevat misschien niet veel tekens, maar ze staan ​​op één pagina.


Maar Russische mensen hebben 90% van de MT-16S2S-tekengenerator niet nodig. Een andere ergernis voor de programmeur is de aanduiding in de datasheet van de coördinaten van symbolen in de tabel met enen en nullen in knabbels. Nog leuker is het om ze aan te duiden met H en L. Dat wil zeggen dat het symboolnummer bijvoorbeeld 1111+1101 of HHHH+HHLH is.

Waarom niet gebruiken hexadecimale code 0xFD, ontwikkelaarsvriendelijk? En sommige displays hebben dergelijke tabellen. Is het echt zo moeilijk om een ​​handig coördinatenraster te maken?

Nu over de bibliotheek. De functionaliteitseisen waren als volgt:

1. Een teken uit de tabel uitvoeren naar een willekeurige positie;
2. Het uitvoeren van een regel tekst op een willekeurige positie;
3. Uw eigen symbool in het geheugen opnemen;
4. Het scherm leegmaken, de cursor aan- en uitzetten, verplaatsen, het weergavegebied verschuiven en andere indicatorinstellingen.

Dit alles werd vrij snel bereikt. Maar het is nog steeds vervelend om voortdurend te moeten schakelen tussen karaktergeneratorpagina's wanneer je het Cyrillische alfabet gebruikt. Ik post de bibliotheek zelf niet, omdat deze ‘voor mezelf’ is gemaakt. Met alle tekortkomingen en krukken en voor een specifieke chip: met bedrade poorten en frequenties (aangezien het doel niet was om commerciële versie bij kaartspellen en vrouwtjes worden de instellingen voor poorten, SPI en vertragingen direct in de functies zelf geschreven, afhankelijk van op welke controller en op welke SPI het display is aangesloten). Het is de bedoeling om dit in de toekomst te verbeteren.

Nu over de ervaring van het gebruik van het display. Het is getest en werkt stabiel in het temperatuurbereik van -20°C tot +60°C. Toegegeven, bij -20°C begint het te vertragen bij het veranderen van het beeld. Maar je kunt er niets aan doen. Schakel gewoon over naar een ander type indicator.

Over het algemeen is de indruk positief. Kleine tekortkomingen in de beschrijving van het display en het ontbreken van normale codevoorbeelden zijn enigszins belemmerend. Anders - niet slecht. Zelfs de prijs is niet hoger dan die van Winstar's analoge WH-1602.