Kako detaljno koristiti 12864 LCD modul?

May 07, 2017

Ostavi poruku

Napomene na početku članka: Ovaj članak je samo konkretan uvod u rad 12864. Namijenjen je samo za pridošlice koji su upravo kontaktirali 12864. Molimo pogledajte ga. Pisanje članka je relativno slobodno. Preporučuje se da početnici prvo pogledaju priručnik 12864 i upravljački program ST7920 na engleskom jeziku. , Pročitajte ovaj članak ponovo nakon preliminarnog razumijevanja, imat ćete dublje razumijevanje. Preporučuje se da pažljivo pročitate uputstvo za ST7920 na engleskom! Postoji detaljan uvod u detalje, a većina kineskog 12864 je također prevedena sa kineskog.

Ovaj članak je podijeljen u tri koraka kako bi se uveo princip internog resursa 12864, detaljno objašnjenje skupa instrukcija i primjeri primjene.

Postoje četiri vrste operacija za 12864:

1). Pročitajte stanje zauzetosti (istovremeno će se pročitati sadržaj adrese pokazivača). Nakon inicijalizacije, svako čitanje i pisanje na 12864 mora biti detekcija zauzetosti. 2) Pisanje komandi: Možete provjeriti listu komandi za sve naredbe, a detaljna upotreba naredbi će biti objašnjena kasnije. Adresa pisanja je također komanda za pisanje. 3) Pisanje podataka: Objekti rada su DDRAM, CGRAM, GDRAM.

4), čitanje podataka: objekt rada je također DDRAM, CGRAM, GDRAM.



12864液晶模块


Za proučavanje 12864, prvo morate razumjeti njegove unutrašnje resurse. Znajući šta je u njemu, možete ga praktičnije koristiti.

Prvo ukratko predstavite nekoliko engleskih imena:

DDRAM: (Data DisplayRam), RAM za prikaz podataka, ono što upišete u njega, prikazaće ono što će ekran prikazati.

CGROM: ​​(ROM za generiranje znakova), ROM za generiranje znakova. Unutra su fontovi za pohranjivanje kineskih znakova, također poznati kao biblioteka kineskih znakova. Metode kodiranja su GB2312 (pojednostavljeni kineski) i BIG5 (tradicionalni kineski). Autor koristi QC12864B kompanije Yusong Electronics, a objašnjenje se zasniva na ovom primjeru. CGRAM: (CharacterGeneration RAM), RAM za generisanje znakova, 12864 pruža 64x2B CGRAM, koji se može koristiti za korisnički definirana 4 16×16 karaktera, svaki znak zauzima 32 bajta.

GDRAM: (Graphic DisplayRAM): RAM grafičkog prikaza. Ovo područje se koristi za crtanje. Isto važi i - šta god da je u njemu napisano, ekran će prikazati ono što je prikazano. Razlika između njega i DDRAM-a je u tome što su podaci upisani u DDRAM. Kodiranje znakova i prikaz znakova se prvo nalaze u CGROM-u, a zatim se mapiraju na ekran, a kada se upisuju podaci u GDRAM, matrične informacije grafike koriste 1 bit za spremanje prikaza ili ne.

HCGROM: ​​(ROM za generisanje znakova na pola visine): Generator znakova polovične širine, koji se sastoji od slova i brojeva, odnosno ASCII koda. Što se tiče ICONRAM-a (IRAM): Čini se da 12864 trenutno na tržištu nema ovu funkciju, a ja je nisam našao. Informacije o aplikaciji, tako da ih neću predstavljati ovdje.

U nastavku ćemo započeti objašnjenje 12864 oko liste gore navedenih resursa: DDRAM:

12864 koji koristi autor ima 4 reda x 32 bajta DDRAM prostora. Ali u određenom trenutku, ekran može prikazati samo 2 reda x 32 bajta prostora, pa šta je sa preostalim prostorom? Mogu se koristiti za keš memoriju, a ovi prostori mogu biti korisni kada se implementira skrolujući prikaz.

Struktura DDRAM-a je sljedeća:

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

Korespondencija između adrese i prikaza na ekranu je sljedeća:

Red-80H, 81H, 82H, 83H, 84H, 85H, 86H, 87H Drugi red: 90H, 91H, 92H, 93H, 94H, 95H, 96H, 97H Treći red: 8H8H, 8H8H , 8CH, 8DH, 8EH, 8FH Četvrti red: 98H, 99H, 9AH, 9BH, 9CH, 9DH, 9EH, 9FH

Napomena: Podaci u crvenom delu prikazani su u gornjoj polovini ekrana, a podaci u zelenom delu prikazani su u donjoj polovini ekrana. Generalno, koristimo razmak od gornja dva reda za prikaz znakova, odnosno 80H~8FH, 90H~9FH. Prostor svake adrese je 2 bajta, što je 1 riječ, tako da se može koristiti za pohranjivanje znakova. Ukupan prostor za kodiranje je 128 bajtova. Budući da je kodiranje svakog kineskog znaka 2 bajta, svaka adresa treba da koristi 2 bajta za pohranjivanje kineskog znaka. Naravno, moguće je koristiti i ova 2 bajta odvojeno, odnosno prikazana su 2 znaka polovične širine.

Podaci pohranjeni u DDRAM-u su svi znakovni kodovi, a kodovi koji se mogu napisati uključuju ASCII kod, GB2312 kod i BlG5 kod. Čini se da je biblioteka fontova 12864 koju koristi autor nepotpuna, a"broj" znakova se ne mogu prikazati, ali se prikazuju drugi znakovi. Ako prikazujete dugačak članak kineskog karaktera, prednost nije prikladna.

DDRAM podaci čitaju i pišu:

Svi podaci za čitanje i pisanje treba prvo poslati adresu, a zatim čitati i pisati. Prilikom pisanja podataka u DDRAM, uvjerite se da je u osnovnom skupu instrukcija (otvoreno instrukcijom 0x30), zatim upišite adresu, a zatim upišite dva bajta podataka uzastopno. Kada čitate podatke, prvo upišite adresu ispod osnovnog skupa instrukcija, zatim je ponovo pročitajte, a zatim neprekidno čitajte 2 bajta podataka. Nakon čitanja, pokazivač adrese je automatski jedan i preskače na sljedeću riječ. Ako trebate pročitati sljedeću. Sadržaj riječi treba neprekidno čitati samo 2 bajta podataka. Lažno čitanje ovdje treba napomenuti. Ne samo da čitanje CGRAM-a zahtijeva lažno čitanje, već čitanje drugog GDRAM-a i DDRAM-a zahtijeva prvo lažno čitanje, a zatim je naknadno čitanje istinito čitanje. Lažno očitavanje je čitanje podataka jednom, ali podaci neće biti pohranjeni. Naime, podaci koji se prvi put čitaju nakon slanja adrese su pogrešni, a podaci nakon toga tačni. (lutka znači lažno čitanje)

12864液晶模块




Stvari koje treba objasniti o pohranjivanju koda u DDRAM su sljedeće:

1) Svaki put operativna jedinica DDRAM-a je jedna riječ, odnosno 2 bajta. Kada pišete podatke u DDRAM, prvo upišite adresu, a zatim kontinuirano šaljite 2 bajta podataka i prvo pošaljite glavnu riječ. Šalju se podaci sekcije, zatim podaci nižeg bajta. Isto važi i za čitanje podataka. Prvo upišite adresu, zatim pročitajte podatke visokog bajta, a zatim pročitajte podatke niskog bajta (obratite pažnju na lažno čitanje prilikom čitanja podataka).

2). Kada prikazujete znakove poluširine ASCII koda, pošaljite 2 bajta ASCII koda na svaku adresu i 2 znaka poluširine će biti prikazana koja odgovaraju poziciji na ekranu. Lijevi je znak visokog bajta, a desni znak niskog bajta.

3). Prilikom prikazivanja kineskih znakova, dva bajta kodiranja kineskih znakova moraju biti pohranjena u istom adresnom prostoru i ne mogu se pohraniti na dvije adrese odvojeno, inače prikazani znakovi neće biti znakovi koje želite. 2 bajta u svakoj riječi se automatski kombinuju kako bi se pronašao font i prikazali znakovi. Stoga, ako upišemo 2-bajtno kodiranje kineskog znaka na adresu, znak će biti ispravno prikazan. Visoki bajt kodiranja je pohranjen u niži bajt prethodne adrese, a niži bajt kodiranja je pohranjen u visokoj riječi sljedeće adrese. Odjeljak, očigledno se neće kombinovati da bi pronašli font, već da bi pronašli font u sprezi sa odgovarajućim bajtom svake adrese.


12864液晶模块


4). Budući da kontroler ST7920 pruža 4 prilagođena znaka, ova 4 prilagođena znaka također mogu biti u potpunosti prikazana. Slično, ova 4 prilagođena znaka su također kodirana, ali kodiranje ova 4 znaka je fiksno, to su 0000H, 0002HO004H, odnosno 0006H. Kao što je prikazano u nastavku:

12864液晶模块




Gornja slika samo crta CGRAM prostor od 2 znaka, a u budućnosti će biti 2 znaka. Može se vidjeti da svaki znak ima 16 redova i 16 stupaca, a svaki red koristi 2 bajta. Dakle, prostor koji zauzima znak je 32 bajta, a adresa 6 bita. Adrese 4 znaka su: O0H~ OFH,

10H~1FH, 20H~2FH, 30H~3FH. Kodiranje koristi 2 bajta. Može se vidjeti da su 2 bita proizvoljna, što ukazuje da može postojati više kodiranja za ova 4 znaka, ali često koristimo 4 gore navedena kodiranja.

CGRAM: (čitanje i pisanje podataka)

Struktura CGRAM-a je prikazana iznad. Ovdje dodajemo nešto sadržaja za čitanje i pisanje CGRAM-a. Prije čitanja i pisanja, prvo napišite adresu. Instrukcija za pisanje CGRAM-a je Ox4O{{1}} adresa. Ali kada pišemo adresu, trebamo napisati samo adresu prvog reda. Na primjer, prvi znak je Ox40+OOH, a zatim upišite 2 bajta podataka neprekidno, a zatim će se pokazivač adrese automatski povećati za jedan i skočiti na sljedeći red. Adresa, a zatim upišite 2 bajta podataka. U stvari, programiranje je da se upiše adresa, a zatim upiše 32 bajta podataka neprekidno. Da biste pročitali podatke, prvo napišite prvu adresu, zatim jednom lažno pročitajte, a zatim neprekidno pročitajte 32 bajta podataka.

GDRAM: (RAM za grafički prikaz)

Prostorna struktura RAM-a za crtanje prikazana je na donjoj slici:




Pošaljite upit