1, aparatinės įrangos architektūra: kelių įrenginių tvarkyklės ir signalo sinchronizavimas
Segmentinio LCD kelių vienetų ekranas remiasi aparatūros lygio kelių COM (bendras galas) ir kelių SEG (segmentinis galas) dizainas. Pavyzdžiui, 4-skaitmenų LCD segmento kodo ekranas, paprastai jame yra 4 COM prievadai ir keli SEG prievadai, o kiekvienas COM-SEG derinys atitinka ekrano bloką (pvz., skaitmenį arba vieneto simbolį). Pavyzdžiui, tam tikro modelio segmentinio kodo ekranas 4 skaitmeninius bitus varo per 4 COM prievadus, o papildomus SEG prievadus valdo vienetų simbolių (V/A/Hz) rodymą.
Pagrindiniai techninės įrangos parametrai:
Pareigos: nustatykite COM prievadų skaičių. Pavyzdžiui, 1/4 darbo reiškia, kad 4 COM prievadai yra valdomi pakaitomis, o kiekvieno prievado darbo ciklas yra 25%, tinkamas 4 skaitmenų ekranui.
BIAS (Poslinkio koeficientas): veikia kontrastą ir pavaros įtampą . 1/3 BIAS reiškia, kad varomoji įtampa yra 1/3 darbinės įtampos, o tai gali sumažinti energijos sąnaudas ir pagerinti ekrano stabilumą.
Įtampos stabilumas: skystųjų kristalų molekules turi valdyti kintamosios srovės signalai, o nuolatinės srovės poslinkis gali sukelti ekrano suliejimą. Pavyzdžiui, tam tikrame projekte naudojamas mikrovaldiklis STM32F103C8T6, kad per laikmatį generuotų tikslius kintamosios srovės kvadratinės bangos signalus, užtikrinant stabilų 3,3 V įtampos skirtumą ir išvengiant skystųjų kristalų molekulių senėjimo.
Tipiški taikymo scenarijai:
Galios stebėjimo įranga: ji turi vienu metu rodyti tokius parametrus kaip įtampa (V), srovė (A) ir galia (W). Tam tikras išmanusis skaitiklis naudoja 8 bitų segmento kodo ekraną, kuriame sinchroniškai rodomi 4 skaičių rinkiniai (pvz., 220 V, 5,6 A) ir 3 vienetų simboliai per 8 COM prievadus ir 32 SEG prievadus.
Medicininis monitorius: kai rodomi tokie parametrai kaip širdies susitraukimų dažnis (bpm) ir kraujo deguonis (SpO2%), per kelis COM prievadus reikia atskirti skirtingus duomenų tipus. Pavyzdžiui, tam tikras monitoriaus modelis pritaikytas 1/8 apkrovos dizainui, palaikantis nepriklausomą 8 skaitmenų ir 4 vienetų simbolių valdymą.
2, tvarkyklės logika: dinaminis nuskaitymas ir duomenų atvaizdavimas
Kelių vienetų segmentinio kodo LCD ekranas turi būti pasiektas naudojant dinaminį nuskaitymą. Pagrindinė logika yra pakartotinai naudoti COM prievadus dalijantis laiku, greitai perjungti ekrano turinį ir panaudoti žmogaus regėjimo suvokimo patvarumo efektą, kad būtų suformuoti stabilūs vaizdai. Konkretūs veiksmai yra tokie:
Duomenų atvaizdavimas: konvertuoti rodomus skaičius ir vienetų simbolius į segmento kodo duomenis. Pavyzdžiui, skaičiaus „8“ segmento kodas yra 0x7F (atitinka visiškai apšviestus segmentus a-g), o vieneto „V“ segmento kodas yra 0x01 (šviečiamas tik a segmentas).
Dinaminis nuskaitymas: suaktyvinkite COM prievadus fiksuotu ciklu (pvz., 1 ms) ir išsiųskite atitinkamus SEG duomenis. Pavyzdžiui, 4 skaitmenų ekrane COM1-COM4 aktyvuojamas pakaitomis, kiekvieną kartą atnaujinant tik esamą COM prievadą atitinkantį numerį ir vienetą.
Kontrasto valdymas: optimizuokite ekrano veikimą reguliuodami važiavimo įtampą arba darbo ciklą. Pavyzdžiui, esant stipriai šviesai, tam tikras projektas pakoregavo BIAS nuo 1/3 iki 1/4, padidino kontrastą iki 1500:1 ir užtikrino, kad vienetų simboliai būtų aiškūs ir atskiriami.
3, programinės įrangos programavimas: kelių užduočių valdymas ir duomenų atnaujinimas
Kelių vienetų ekrano programinė įranga turi išspręsti du pagrindinius iššūkius:{0}}duomenis realiuoju laiku ir ekrano sinchronizavimą. Toliau pateikiamos pagrindinės optimizavimo strategijos:
Pertraukimu pagrįstas nuskaitymas: naudojant laikmačio pertraukimus, kad būtų galima reguliariai nuskaityti ir išvengti pagrindinės programos blokavimo. Pavyzdžiui, projektas nustato 1 ms laikmačio pertraukimą, kuris kiekvieną kartą atnaujina vieno COM prievado duomenis ir užbaigia viso ekrano atnaujinimą per 4 ms.
Dvigubo buferio mechanizmas: naudojant du ekrano buferius (priekinis / fonas), priekinio plano buferis naudojamas dabartiniam ekranui, o fono buferis naudojamas duomenims atnaujinti. Baigę atnaujinti, perjunkite buferį per vėliavėlę, kad išvengtumėte mirgėjimo, kurį sukelia duomenų mutacijos nuskaitymo proceso metu.
Dinaminis vienetų simbolių perjungimas: dinamiškai įkelkite vienetų simbolius pagal parametrų tipus. Pavyzdžiui, dažnio matavimo scenarijuose, kai įvesties signalas aptinkamas kaip kvadratinė banga, įrenginys automatiškai perjungiamas iš "V" į "Hz".
Korpusas: išmanusis dažnio matuoklis
Projektas pagrįstas STM32F103 ir HT1621 tvarkyklių lustais, kad būtų galima išmatuoti kvadratinių bangų dažnį ir rodyti ekraną. Programinės įrangos procesas yra toks:
Dažnio matavimas: naudokite laikmatį, kad užfiksuotumėte kylančią įvesties signalo kraštą, apskaičiuotumėte laikotarpį ir konvertuotumėte jį į dažnio reikšmę.
Duomenų skaidymas: išskaidykite dažnio reikšmes į tūkstančius, šimtus, dešimtis ir skaitmenų vienetus.
Vieneto sprendimas: jei dažnis didesnis nei 1kHz, vienetas rodys "kHz"; Kitu atveju parodykite „Hz“.
Ekrano atnaujinimas: per SPI sąsają siųskite skaitmeninius ir vieneto segmento kodo duomenis į HT1621 ir naudokite 4 skaitmenų LCD, kad sinchroniškai atnaujintumėte.
4, optimizavimo strategija: pagerinkite ekrano kokybę ir patikimumą
Anti-interferencinis dizainas: stiprioje elektromagnetinėje aplinkoje (pvz., pramoninėse vietose) LCD ir MCU prijungti naudojami ekranuoti laidai, o maitinimo šaltinio gale pridedamas magnetinis granulių filtravimas, siekiant sumažinti triukšmo trukdžius.
Žemos temperatūros kompensavimas: esant -20 laipsnių, skystųjų kristalų molekulių aktyvumo sumažėjimas gali sumažinti kontrastą. Padidinus pavaros įtampą (pavyzdžiui, nuo 3,3 V iki 3,6 V) arba pridėjus išankstinio pašildymo logiką (paleidžiant rodomas mažas kontrastas ir palaipsniui grįžtama prie normalių verčių), problemą galima išspręsti.
Mažos galios optimizavimas: akumuliatoriais maitinamuose įrenginiuose taikoma dinaminio nuskaitymo dažnio reguliavimo strategija. Pavyzdžiui, kai nevykdoma jokia operacija, sumažinus nuskaitymo dažnį nuo 1 kHz iki 100 Hz, energijos suvartojimas sumažėja 90 %, o ekrano turinys išlaikomas per aparatinės įrangos laikymo grandines.