Ahoj! Som dodávateľom modulu Cog LCD 12840 St7565r a dostávam veľa otázok o nastavení polohy kurzora na tomto module. Tak som si povedal, že zostavím tento blogový príspevok, aby som vám pomohol.
Najprv si povedzme niečo o module Cog LCD 12840 St7565r. Je to celkom cool malý displej, ktorý ponúka slušné rozlíšenie a flexibilitu. Či už pracujete na malom DIY projekte alebo na zložitejšej priemyselnej aplikácii, tento modul môže byť skvelou voľbou.
Teraz k hlavnej téme - nastavenie pozície kurzora. Predtým, ako sa ponoríme do návodu, je dôležité pochopiť, čo znamená poloha kurzora v kontexte tohto modulu LCD. Kurzor je ako značka, ktorá hovorí modulu, kde má začať zobrazovať ďalší znak alebo množinu údajov. Nastavením polohy kurzora môžete presne určiť, kde sa na obrazovke objaví text alebo grafika.
Pochopenie základov ovládača St7565r
St7565r je riadiaci čip používaný v module Cog LCD 12840. Má špecifickú sadu príkazov, ktoré musíte použiť na interakciu s displejom a nastavenie polohy kurzora. Tieto príkazy sa posielajú do modulu cez rozhranie, ktorým môže byť buď paralelné rozhranie (ako 6800 alebo 8080) alebo sériové rozhranie (SPI). Viac o rôznych sériách rozhraní si môžete pozrieť na našej stránkeRad Cog LCD 6800 a 8080 a Spi Interfacestránku.
Podrobný sprievodca nastavením polohy kurzora
Krok 1: Inicializácia displeja
Pred nastavením pozície kurzora musíte inicializovať displej. To zahŕňa odoslanie série príkazov do ovládača St7565r na jeho konfiguráciu na prevádzku. Tu je jednoduchý príklad toho, ako môžete inicializovať displej pomocou Arduina a rozhrania SPI:
#include <SPI.h> // Definícia pinov const int CS_PIN = 10; const int DC_PIN = 9; const int RST_PIN = 8; void setup() { // Nastavenie pinov pinMode(CS_PIN, OUTPUT); pinMode(DC_PIN, OUTPUT); pinMode(RST_PIN, OUTPUT); // Resetovanie displeja digitalWrite(RST_PIN, LOW); oneskorenie(10); digitalWrite(RST_PIN, HIGH); // Inicializácia SPI SPI.begin(); SPI.setClockDivider(SPI_CLOCK_DIV16); // Odoslať inicializačné príkazy digitalWrite(CS_PIN, LOW); digitalWrite(DC_PIN, NÍZKY); // Príkazový režim // Sem posielajte príkazy (príklady príkazov) SPI.transfer(0xE2); // Reset softvéru SPI.transfer(0xA2); // Nastavenie pomeru predpätia LCD // Podľa potreby pridajte ďalšie príkazy digitalWrite(CS_PIN, HIGH); } void loop() { // Váš hlavný kód je tu }
Krok 2: Nastavenie adresy stránky
Ovládač St7565r rozdeľuje displej na stránky. Každá stránka zodpovedá určitému radu pixelov na obrazovke. Ak chcete nastaviť polohu kurzora vertikálne, musíte nastaviť adresu stránky. Príkaz na nastavenie adresy stránky je vo formáte0xB0 + číslo_strany, kdečíslo_stranysa pohybuje od 0 do 7.
Tu je návod, ako môžete odoslať príkaz adresy stránky pomocou kódu Arduino:
void setPageAddress(int page) { digitalWrite(CS_PIN, LOW); digitalWrite(DC_PIN, NÍZKY); // Príkazový režim SPI.transfer(0xB0 + stránka); digitalWrite(CS_PIN, HIGH); }
Krok 3: Nastavenie adresy stĺpca
Po nastavení adresy stránky je potrebné nastaviť adresu stĺpca tak, aby bol kurzor umiestnený vodorovne. Adresa stĺpca sa pohybuje od 0 do 127. Príkaz na nastavenie adresy stĺpca má dve časti: horné 4 bity a spodné 4 bity.


Tu je kód na nastavenie adresy stĺpca:
void setColumnAddress(int column) { int upper = (stĺpec >> 4) | 0x10; int nižšia = (stĺpec & 0x0F); digitalWrite(CS_PIN, NÍZKY); digitalWrite(DC_PIN, NÍZKY); // Príkazový režim SPI.transfer(upper); SPI.transfer(nižšia); digitalWrite(CS_PIN, HIGH); }
Krok 4: Dajte to všetko dohromady
Teraz, keď už viete, ako nastaviť adresy stránok a stĺpcov, môžete tieto funkcie použiť na nastavenie polohy kurzora kdekoľvek na displeji. Tu je príklad, ako nastaviť kurzor na stranu 2, stĺpec 30:
void setup() { // Inicializačný kód... } void loop() { setPageAddress(2); setColumnAddress(30); // Teraz môžete začať odosielať dáta na displej // Napríklad na zobrazenie znaku digitalWrite(CS_PIN, LOW); digitalWrite(DC_PIN, HIGH); // Dátový režim SPI.transfer('A'); digitalWrite(CS_PIN, HIGH); oneskorenie(1000); }
Riešenie problémov
Ak máte problémy s nastavením pozície kurzora, skontrolujte niekoľko vecí:
- Skontrolujte rozhranie: Uistite sa, že používate správne rozhranie (SPI, 6800 alebo 8080) a že máte správne zapojenie.
- Formát príkazu: Dvakrát skontrolujte, či odosielate príkazy v správnom formáte. Jediná bitová chyba môže spôsobiť neočakávané správanie displeja.
- Napájanie: Skontrolujte, či je na displeji správne napätie a či je napájanie stabilné.
Ďalšie súvisiace LCD moduly
Ak Cog LCD 12840 modul St7565r nie je presne to, čo hľadáte, ponúkame aj iné LCD moduly. Napríklad náš16*2 žlto-zelený monochromatický LCD displejaLCD displej 16x2sú skvelé možnosti pre jednoduchšie aplikácie, kde potrebujete menší displej.
Záver
Nastavenie polohy kurzora na module Cog LCD 12840 St7565r sa môže na prvý pohľad zdať trochu zložité, ale keď pochopíte základy ovládača St7565r a príkazy, ktoré používa, bude to oveľa jednoduchšie. Podľa krokov uvedených v tomto blogovom príspevku by ste mali byť schopní umiestniť kurzor presne tam, kde ho chcete na displeji.
Ak máte záujem o kúpu modulu Cog LCD 12840 St7565r alebo akéhokoľvek iného z našich produktov LCD, neváhajte nás kontaktovať, aby sme vám poskytli cenovú ponuku a prediskutovali vaše špecifické požiadavky. Sme tu, aby sme vám pomohli nájsť správne riešenie pre váš projekt.
Referencie
- Údajový list ovládača St7565r
- Dokumentácia Arduino pre komunikáciu SPI
