Kuidas 12864 LCD-moodulit üksikasjalikult kasutada?

May 07, 2017

Jäta sõnum

Märkused artikli alguses: See artikkel on ainult konkreetne sissejuhatus numbri 12864 toimimisse. See on mõeldud ainult uutele tulijatele, kes on äsja võtnud ühendust numbril 12864. Palun vaadake seda. Artikli kirjutamine on suhteliselt lõtv. Algajatel soovitatakse esmalt tutvuda 12864 käsiraamatu ja juhtdraiveri ST7920 ingliskeelse juhendiga. , Lugege see artikkel uuesti läbi, kui olete eelnevalt aru saanud, siis saate sellest sügavamalt aru. Soovitatav on ST7920 ingliskeelne kasutusjuhend hoolikalt läbi lugeda! Üksikasjalik sissejuhatus on detailides ja suurem osa hiinakeelsest 12864-st on tõlgitud ka hiina keelest.

See artikkel on jagatud kolmeks etapiks, et tutvustada sisemise ressursi põhimõtet 12864, juhiste komplekti üksikasjalikku selgitust ja rakendusnäiteid.

12864 jaoks on nelja tüüpi toiminguid:

1). Loe hõivatud olekut (samal ajal loetakse kursori aadressi sisu). Pärast lähtestamist peab iga 12864 lugemine ja kirjutamine olema hõivatud. 2) Käskude kirjutamine: Saate kontrollida kõigi käskude käskude loendit ja üksikasjalikku käskude kasutamist selgitatakse hiljem. Kirjutamisaadress on ka kirjutamiskäsk. 3) Andmete kirjutamine: tööobjektid on DDRAM, CGRAM, GDRAM.

4), loe andmeid: tööobjektiks on ka DDRAM, CGRAM, GDRAM.



12864液晶模块


12864 uurimiseks peate esmalt mõistma selle sisemisi ressursse. Teades, mis selles on, saate seda mugavamalt kasutada.

Esmalt tutvustage lühidalt mõnda ingliskeelset nime:

DDRAM: (Data DisplayRam), andmete kuvamise RAM, mida te sellesse kirjutate, see kuvab seda, mida ekraan kuvab.

CGROM: ​​(Character Generation ROM), märkide genereerimise ROM. Sees on hiina tähemärkide salvestamise fondid, mida tuntakse ka kui Hiina tähemärkide raamatukogu. Kodeerimismeetodid on GB2312 (lihtsustatud hiina keel) ja BIG5 (traditsiooniline hiina keel). Autor kasutab Yusong Electronicsi QC12864B ja selgitus põhineb sellel näitel. CGRAM: (Character Generation RAM), märkide genereerimise RAM, 12864 pakub 64x2B CGRAM-i, mida saab kasutada kasutaja määratud 4 16 × 16 tähemärgi jaoks, iga märk võtab enda alla 32 baiti.

GDRAM: (Graphic DisplayRAM): graafilise kuva RAM. Seda ala kasutatakse joonistamiseks. Sama kehtib – mis iganes sellesse on kirjutatud, kuvab ekraan seda, mida kuvatakse. Selle erinevus DDRAM-ist seisneb selles, et DDRAM-i kirjutatavad andmed on Märgikodeering ja märkide kuvamine leitakse esmalt CGROM-ist ja seejärel kaardistatakse ekraanile ning GDRAM-i andmete kirjutamisel kasutab graafika maatriksiteave 1 natuke, kas selle kuva salvestada või mitte.

HCGROM: ​​(Half height Character Generation ROM): poolelaiuse tähemärgi generaator, mis koosneb tähtedest ja numbritest, see tähendab ASCII-koodist. Mis puutub ICONRAM-i (IRAM): tundub, et praegu turul oleval 12864-l seda funktsiooni pole ja ma ei leidnud seda. Rakenduse teave, seega ma seda siin ei tutvusta.

Allpool alustame 12864 selgitust ülaltoodud ressursside loendi ümber: DDRAM:

Autori kasutatud 12864 sees on 4 rida x 32 baiti DDRAM-i ruumi. Kuid teatud hetkel suudab ekraan kuvada ainult 2 rida x 32 baiti ruumi, kuidas on siis ülejäänud ruumiga? Neid saab kasutada vahemälu jaoks ja need ruumid võivad keriva kuva rakendamisel abiks olla.

DDRAM-i struktuur on järgmine:

80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H, 88H, 89H, 8AH, 8BH, 8CH, 8DH, 8EH, 8FH90H, 91H, 92H, 9H, 6H, 5H, 93H, 9H , 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FHAOH, A1H, A2H, A3H, A4H, A5H, A6H, A7H, A8H, A9H, AAH, ABH, ACH, ADH, AEH, B1H, BOHBOH , B3H, B4H, B5H, B6H, B7H, B8H, B9H, BAH, BBH, BCH, BDH, BEH, BFH

Aadressi ja ekraanikuva vastavus on järgmine:

Rida - 80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H Teine rida: 90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H Kolmas rida: 8H8H, 8H , 8CH, 8DH, 8EH, 8FH Neljas rida: 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FH

Märkus. Punases osas olevad andmed kuvatakse ekraani ülemises pooles ja rohelises osas olevad andmed kuvatakse ekraani alumises pooles. Üldiselt kasutame märkide kuvamiseks ülaltoodud kahe rea ruumi, st 80H~8FH, 90H~9FH. Iga aadressi ruum on 2 baiti, mis on 1 sõna, seega saab seda kasutada märkide salvestamiseks. Kodeerimisruumi on kokku 128 baiti. Kuna iga hiina tähemärgi kodeering on 2 baiti, peab iga aadress kasutama hiina tähemärgi salvestamiseks 2 baiti. Muidugi on võimalik kasutada ka neid 2 baiti vahet ehk siis kuvatakse 2 poollaiust märki.

DDRAM-i salvestatud andmed on kõik märgikoodid ja koodid, mida saab kirjutada, hõlmavad ASCII-koodi, GB2312-koodi ja BlG5-koodi. Autori kasutatav fondikogu 12864 näib olevat puudulik ja"number" tähemärki ei saa kuvada, kuid kuvatakse muid märke. Pika hiina tähtedega artikli kuvamisel eelis ei sobi.

DDRAM-i andmete lugemine ja kirjutamine:

Kõik loetud ja kirjutatavad andmed peaksid esmalt saatma aadressi ning seejärel lugema ja kirjutama. Andmete kirjutamisel DDRAM-i veenduge, et need on põhikäsukomplektis (avage käsuga 0x30), seejärel kirjutage aadress ja seejärel kirjutage järjestikku kaks baiti andmeid. Andmete lugemisel kirjutage esmalt aadress põhikäskude komplekti alla, seejärel lugege uuesti ja seejärel lugege pidevalt 2 baiti andmeid. Pärast lugemist on aadressikursor automaatselt üks ja hüppab järgmise sõna juurde. Kui peate lugema järgmist Sõna sisu peab lugema pidevalt ainult 2 baiti andmeid. Siinne võltslugemine tuleb ära märkida. Mitte ainult CGRAM-i lugemine ei nõua võltslugemist, vaid ka muu GDRAM-i ja DDRAM-i lugemine nõuab esmalt võltslugemist ja seejärel on järgnev lugemine õige lugemine. Võltsnäit on andmete ühekordne lugemine, kuid andmeid ei salvestata. See tähendab, et esimest korda pärast aadressi saatmist loetud andmed on valed ja pärast seda on andmed õiged. (mannekeen tähendab võltslugemist)

12864液晶模块




Asjad, mida tuleb koodi DDRAM-is salvestamise kohta selgitada, on järgmised:

1) Iga kord, kui DDRAM-i tööühik on üks sõna, see tähendab 2 baiti. Andmete kirjutamisel DDRAM-i kirjutage esmalt aadress ja seejärel saatke pidevalt 2 baiti andmeid ning saatke kõigepealt kõrge sõna. Saadetakse sektsiooni andmed, seejärel madala baidi andmed. Sama kehtib ka andmete lugemisel. Esmalt kirjutage aadress, seejärel lugege kõrge baidi ja seejärel madala baidi andmeid (andmeid lugedes pöörake tähelepanu valele lugemisele).

2). ASCII-koodi poollaiuste märkide kuvamisel saatke igale aadressile 2 baiti ASCII-koodi ja ekraanil kuvatakse 2 poollaiust tähemärki. Vasakpoolne on suurebaidiline märk ja parempoolne on madalabaidiline märk.

3). Hiina tähemärkide kuvamisel peavad kaks baiti hiina märgikodeeringut olema salvestatud samasse aadressiruumi ja neid ei saa salvestada kahele aadressile eraldi, vastasel juhul ei ole kuvatavad märgid soovitud tähemärgid. Iga sõna 2 baiti kombineeritakse automaatselt fondi leidmiseks ja märkide kuvamiseks. Seega, kui kirjutame aadressile hiina tähemärgi 2-baidise kodeeringu, kuvatakse see märk õigesti. Kodeeringu kõrgeim bait salvestatakse eelmise aadressi madalasse baiti ja kodeeringu madal bait järgmise aadressi kõrgesse sõna. Ilmselt ei ühenda nad fondi leidmiseks, vaid fondi leidmiseks koos iga aadressi vastava baidiga.


12864液晶模块


4). Kuna kontroller ST7920 pakub 4 kohandatud märki, saab neid 4 kohandatud märki ka täielikult kuvada. Samamoodi on need 4 kohandatud märki samuti kodeeritud, kuid nende 4 märgi kodeerimine on fikseeritud, need on vastavalt 0000H, 0002HO004H ja 0006H. Nagu allpool näidatud:

12864液晶模块




Ülaltoodud pilt joonistab lihtsalt 2 märgist koosneva CGRAM-i ruumi ja tulevikus on 2 tähemärki. On näha, et igal märgil on 16 rida ja 16 veergu ning iga rida kasutab 2 baiti. Seetõttu on märgi poolt hõivatud ruum 32 baiti ja aadress on 6 bitti. 4 tähemärgi aadressid on: O0H~ OFH,

10H~1FH, 20H~2FH, 30H~3FH. Kodeering kasutab 2 baiti. On näha, et 2 bitti on suvalised, mis näitab, et nende 4 märgi jaoks võib olla mitu kodeeringut, kuid me kasutame sageli ülaltoodud nelja kodeeringut.

CGRAM: (andmete lugemine ja kirjutamine)

CGRAM-i struktuur on näidatud ülal. Siia lisame sisu CGRAM-i lugemiseks ja kirjutamiseks. Enne lugemist ja kirjutamist kirjutage kõigepealt aadress. CGRAM-i kirjutamise juhis on Ox4O{{1}} aadress. Kuid aadressi kirjutades peame kirjutama ainult esimese rea aadressi. Näiteks esimene märk on Ox40+OOH ja seejärel kirjutage pidevalt 2 baiti andmeid ning seejärel suureneb aadressikursor automaatselt ühe võrra ja hüppab järgmisele reale. Aadress ja seejärel kirjutage 2 baiti andmeid. Tegelikult on programmeerimine aadressi kirjutamine ja seejärel pidev 32 baiti andmete kirjutamine. Andmete lugemiseks kirjutage esmalt esimene aadress, seejärel lugege üks kord valesti ja seejärel lugege pidevalt 32 baiti andmeid.

GDRAM: (graafilise ekraani RAM)

RAM-i joonistamise ruumiline struktuur on näidatud alloleval joonisel:




Küsi pakkumist