1, Hardware-architectuur: stuurprogramma's voor meerdere eenheden en signaalsynchronisatie
Het uit meerdere eenheden bestaande display van een gesegmenteerd LCD-scherm is gebaseerd op hardwareniveau multi COM (common end) en multi SEG (segment end) ontwerp. Als we een 4-cijferig LCD-segmentcodescherm als voorbeeld nemen, bevat dit gewoonlijk 4 COM-poorten en meerdere SEG-poorten erin, waarbij elke COM-SEG-combinatie overeenkomt met een weergave-eenheid (zoals een cijfer of eenheidssymbool). Een bepaald model segmentcodescherm stuurt bijvoorbeeld 4 digitale bits door 4 COM-poorten, terwijl extra SEG-poorten worden gebruikt om de weergave van eenheidssymbolen (V/A/Hz) te regelen.
Belangrijkste hardwareparameters:
Plicht: Bepaal het aantal COM-poorten. 1/4 Duty betekent bijvoorbeeld dat er afwisselend 4 COM-poorten worden aangestuurd, waarbij elke poort een duty-cycle van 25% heeft, geschikt voor 4-cijferige weergave.
BIAS (Bias Ratio): beïnvloedt het contrast en de stuurspanning.. 1/3 BIAS betekent dat de stuurspanning 1/3 van de bedrijfsspanning bedraagt, wat het stroomverbruik kan verminderen en de stabiliteit van het beeldscherm kan verbeteren.
Spanningsstabiliteit: Vloeibare kristalmoleculen moeten worden aangestuurd door AC-signalen, en DC-voorspanning kan schermonscherpte veroorzaken. Een bepaald project maakt bijvoorbeeld gebruik van een STM32F103C8T6-microcontroller om via een timer nauwkeurige AC-blokgolfsignalen te genereren, waardoor een stabiel spanningsverschil van 3,3 V wordt gegarandeerd en veroudering van vloeibare kristalmoleculen wordt vermeden.
Typische toepassingsscenario's:
Apparatuur voor vermogensbewaking: het moet tegelijkertijd parameters zoals spanning (V), stroom (A) en vermogen (W) weergeven. Een bepaalde slimme meter gebruikt een 8-bits segmentcodescherm, dat synchroon 4 reeksen getallen (zoals 220V, 5,6A) en 3 eenheidssymbolen weergeeft via 8 COM-poorten en 32 SEG-poorten.
Medische monitor: Bij het weergeven van parameters zoals hartslag (bpm) en bloedzuurstof (SpO2%) moeten verschillende gegevenstypen worden onderscheiden via meerdere COM-poorten. Een bepaald monitormodel heeft bijvoorbeeld een 1/8 Duty-ontwerp en ondersteunt onafhankelijke bediening van 8 cijfers en 4 eenheidssymbolen.
2, Driverlogica: dynamisch scannen en datamapping
De weergave van meerdere eenheden op een segmentcode-LCD moet worden bereikt door middel van dynamisch scannen. De kernlogica is het hergebruiken van COM-poorten op een tijd- manier van delen, het snel wisselen van weergave-inhoud en het benutten van het persistentie-effect van menselijke visuele waarneming om stabiele beelden te vormen. De specifieke stappen zijn als volgt:
Gegevenstoewijzing: converteert de weer te geven getallen en eenheidssymbolen naar segmentcodegegevens. De segmentcode voor het getal "8" is bijvoorbeeld 0x7F (komt overeen met de volledig verlichte segmenten a-g), en de segmentcode voor de eenheid "V" is 0x01 (alleen verlicht segment a).
Dynamisch scannen: activeer COM-poorten in een vaste cyclus (bijvoorbeeld 1 ms) en verzend overeenkomstige SEG-gegevens. Op een display met vier cijfers wordt COM1-COM4 bijvoorbeeld afwisselend geactiveerd, waarbij telkens alleen het nummer en de eenheid worden bijgewerkt die overeenkomen met de huidige COM-poort.
Contrastcontrole: Optimaliseer de weergaveprestaties door de aandrijfspanning of de werkcyclus aan te passen. In een omgeving met veel licht heeft een bepaald project bijvoorbeeld de BIAS aangepast van 1/3 naar 1/4, het contrast verhoogd naar 1500:1 en ervoor gezorgd dat de eenheidssymbolen duidelijk en te onderscheiden waren.
3, Softwareprogrammering: beheer van meerdere taken en gegevensupdates
De software-implementatie van weergave met meerdere eenheden moet twee grote uitdagingen aanpakken: realtime gegevens en weergavesynchronisatie. Dit zijn de belangrijkste optimalisatiestrategieën:
Gedreven scannen onderbreken: Gebruik van timer-interrupts om periodiek scannen te bewerkstelligen en blokkering van het hoofdprogramma te voorkomen. Een project stelt bijvoorbeeld een timer-interrupt van 1 ms in, die de gegevens voor één COM-poort elke keer bijwerkt en een volledige schermvernieuwing in 4 ms voltooit.
Dubbel buffermechanisme: met behulp van twee weergavebuffers (voorgrond/achtergrond), wordt de voorgrondbuffer gebruikt voor de huidige weergave en de achtergrondbuffer voor gegevensupdates. Nadat de update is voltooid, schakelt u de buffer door de vlag om flikkeren veroorzaakt door gegevensmutaties tijdens het scanproces te voorkomen.
Dynamisch schakelen van eenheidsymbolen: laad eenheidsymbolen dynamisch op basis van parametertypen. Wanneer in frequentiemetingsscenario's bijvoorbeeld het ingangssignaal wordt gedetecteerd als een blokgolf, wordt de eenheid automatisch overgeschakeld van "V" naar "Hz".
Case: Intelligente frequentiemeter
Een project is gebaseerd op STM32F103- en HT1621-driverchips om blokgolffrequentiemeting en -weergave te realiseren. Het softwareproces is als volgt:
Frequentiemeting: gebruik een timer om de stijgende flank van het ingangssignaal vast te leggen, de periode te berekenen en deze om te zetten in een frequentiewaarde.
Gegevensontleding: ontleed frequentiewaarden in duizenden, honderden, tientallen en eenheden van cijfers.
Beoordeling van de eenheid: Als de frequentie groter is dan 1 kHz, geeft de eenheid "kHz" weer; Anders wordt 'Hz' weergegeven.
Display-update: stuur de numerieke en eenheidssegmentcodegegevens naar HT1621 via de SPI-interface en stuur het 4-cijferige LCD-scherm aan om synchroon bij te werken.
4, Optimalisatiestrategie: Verbeter de weergavekwaliteit en betrouwbaarheid
Anti-interferentieontwerp: In sterke elektromagnetische omgevingen (zoals industriële locaties) worden afgeschermde draden gebruikt om LCD en MCU aan te sluiten, en wordt magnetische kraalfiltering toegevoegd aan het uiteinde van de voeding om ruisinterferentie te verminderen.
Lage temperatuurcompensatie: Bij -20 graden kan de afname van de activiteit van vloeibare kristalmoleculen leiden tot een afname van het contrast. Door de aandrijfspanning te verhogen (zoals van 3,3 V naar 3,6 V) of door voorverwarmingslogica toe te voegen (weergave met laag contrast bij het opstarten en geleidelijk terugkeren naar normale waarden), kan het probleem worden opgelost.
Optimalisatie van laag energieverbruik: Bij apparaten op batterijen wordt een strategie toegepast waarbij de scanfrequentie dynamisch wordt aangepast. Als er bijvoorbeeld geen bediening is, vermindert het verlagen van de scanfrequentie van 1 kHz naar 100 Hz het energieverbruik met 90%, terwijl de weergaveinhoud behouden blijft via hardware-vasthoudcircuits.