![]()
NLCD modul
Az NLCD modul a régebben a Király u. 80-ban kapható LTSCC7021A tipusú 18 számjegyes hétszegmenses kijelző PIC-el való kezelésére szolgál. (A kijelző a Király utcában már nem kapható.) A kijelzőt a következő ábrák mutatják.
A modul 2db NEC uPD7225 tipusú LCD meghajtó IC-t tartalmaz. Az egyik kezeli a balról kezdve a 1-10. szamjegyeket, a másik pedig a 11-18. számjegyeket, és az alsó sorban található szimbolumokat. A LCD tartalmaz ezen kivül még egy OKI M5022 tipusú óra IC-t, amelyhez a kijelző jobb oldalán található 2*4 számjegy tartozik. A kijelzőhöz tartozó doksik:
Most pedig következzék pár finomság a modul használatával kapcsolatban. A Vcc a kijelzőnek 3 ... 5V közötti, az órának 3V. A RESET-re nem elég az RC kör. Meredek RESET-jel kell, ha máshogyan nem, akkor a PIC egy lábának feláldozásával megoldható. Lásd az opcionális definicióknál. Ha saját kezelőrutinokat szeretnél csinálni, esetleg más kontrollerre akkor fontos, hogy Divide-by-3 time division -t kell beállítani. Az adatok küldését multibyte módban kell elvégezni, mert ha a CS-t visszaveszed a data pointer visszaáll a memória elejére. A modul 4. lába (-CS) tartozik a első 10 számjegyhez a 3. lába pedig a 11-18 számjegyekhez és a szimbolumokhoz. Lássuk a NLCD modult:
Szükséges definiciók a főprogramban
#define NLCD_CS0 PORTB,0 ; out #define NLCD_CS1 PORTB,1 ; out #define NLCD_CLK PORTB,2 ; out #define NLCD_SI PORTB,3 ; in include "..\modules\wait.mac" include "..\modules\wait.inc"Opcionális definiciók a főprogramban
#define NLCD_RESET PORTB,4 ; LCD -RESET láb #define NLCD_ALPHA ; számok mellett a ; betük is érvényesek ; kiirható karakterekMakrók
Név Paraméter Leirás NLCD_INIT Inicializálja az LCD modult. A programunk elején egyszer kell felhivni.
NLCD_DISPLAYOFF Kikapcsolja a kijelzést. (pl. Energiatakarékosség miatt.)
NLCD_DISPLAYON Visszakapcsolja a kijelzést.
NLCD_CLEAR Törli a kijelzőt. A számokat és szimbolumokat is.
NLCD_CLEARREST Az aktuális poziciótól kezdve törli a jobbra lévő számjegyeket. A kijelző villogásmentes frissitéséhez hasznos. A szimbolumokat nem változtatja.
NLCD_GOTOX pos A kiirás pozicióját állítja be.
pos cursor pozició (0 - 17) NLCD_SYMBOL symbols A szimbolumokat lehet vele ki és bekapcsolni.
példa a telefon és hangszoró szimbolumok együttes bekapcsolására:
NLCD_SYMBOL NLCDS_PHONE|NLCDS_SPEAKERsymbols Azt határozza meg, hogy mely szimbolumok legyenek bekapcsolva. Itt egy bitmaskot vár. Minden bit egy szimbolumbak felel meg. A könnyebbség végett használhatjuk az alábbi definiciókat, melyet összevagyolva adhatunk meg a makrónak:
NLCDS_NONE
NLCDS_PHONE
NLCDS_CODE
NLCDS_MONEY
NLCDS_MIC
NLCDS_SPEAKER
NLCDS_PROGS
NLCDS_IN
NLCDS_OUT
NLCD_PRINTC A W-ben lévő karaktert irja ki a kijelzőre. Ha azt nem lehet megjeleniteni, akkor space-t ir ki, és a kurzor pozicióját egyel jobbra mozgatja. Ha a legutolsó poziciónál tartott, akkor a 0. pozicióra.
NLCD_PRINTCS cstring Konstans sztringet ir ki a kijelzőre az adott kurzor poziciótól.
cstring Idézőjelek között adhatunk meg egy konstans sztringet, ami a makró felhivása után a kijelzőre kerül. Példa:
NLCD_PRINTCS "12345 HELLO"