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ó karakterek

Makró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_SPEAKER
symbols 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"