![]()
LCD modul
Az LCD modul a meglehetősen elterjedt Hitachi HD44780 vagy azzal kompatibilis kontrollerrel szerelt LCD modulok kezelesehez irodott. A modul hasznalható 8 bites vagy 4 bites adatmódban, es különböző méretű kijelzők esetén is. A modul nem olvassa a BUSY flaget. R/W lábat ezért fixen a GND-re kell kötni. Az HD44780 kompatibilis kijelzök kezeléséről sok hasznos infot itt találsz még: http://home.iae.nl/users/pouweha/lcd/lcd.shtml
Szükséges definiciók a főprogramban
#define LCD_RS PORTA,2 ; out #define LCD_E PORTA,3 ; out #define LCD_DATAPORT PORTBOpcionális definiciók a főprogramban
#define LCD_SPLITED ; Nehany LCD-nel lesporoltak megegy oszlopmeghajtot, ; igy peldaul a fizikailag 1x16 karakteres kijelzo ; logikailag 2x8-as. Ekkor kell hasznalni ezt a ; definet, es ujra 1x16-kent kezelhetjuk.Makrók
Név Paraméter Leirás LCD_INIT xsize, ysize, mode Inicializalja az LCD modult.
xsize kijelző szélessége (8 .. 40) ysize kijelző magassága (1, 2, 4) mode Interface modja:
LCD_8BIT- 8 bites
LCD_4BITLO- 4 bites, az adatport alsó 4 bitjével
LCD_4BITHI- 4 bites, az adatport felső 4 bitjévelLCD_SETMODE mode A kijelző müködési módját lehet vele beállitani (Hasznalata opcionális, mert a beállitásokat az LCD_INIT is megteszi!)
mode 0010x100b
||||||||___ B - kurzor villogás be/ki (1/0)
|||||||____ C - kurzor be/ki
||||||_____ D - kijelzés be/ki
|||||______ x - nem hasznalt
||||_______ S - kijelzés görgetése be/ki
|||________ I/D - kurzor pozició növ./csökkent
||_________ R/L - görgetés jobbra/balra
|__________ S/C - kurzor mozg./képernyö görg.
LCD_SETDISPMODE mode A kurzort, a kurzor villogását és a kijelzőt lehet vele ki be kapcsolni.
mode xxxxx100b
||||||||___ B - kurzor villogás be/ki (1/0)
|||||||____ C - kurzor be/ki
||||||_____ D - kijelzés be/ki
|||||______ x - nem hasznalt bitek
LCD_CLEAR Törli a kijelzőt, a kurzot a bal felső pozicióba mozgatja.
LCD_CLEARREST Az aktuális sorban a kurzortól jobbra levő poziciókat törli a sor végeig. (beleértve a kurzor pozicióját is) A kurzor a következő sor elejére fog állni.
LCD_GOTOX pos A kurzort vizszintesen pozicionálja
pos A kurzor új x poziciója LCD_GOTOY pos A kurzort függőlegesen pozicionálja
pos A kurzor új y poziciója LCD_GOTOXY posx, posy A kurzort a (posx, posy) helyre mozgatja.
posx A kurzor új x poziciója posy A kurzor új y poziciója LCD_PRINTC A W-ben levő ASCII kódnak megfelelő karaktert kiirja az LCD-re az aktuális kurzorpozicióba.
LCD_PRINTCS cstring Konstans szöveget ir ki az LCD-re.
cstring konstans string pl:
LCD_PRINTCS "Hello World!"LCD_DEFCHAR firstchar, charnum, label Felhasználó által definiálható karakter definiálása. Példa:
LCD_DEFCHAR 0, 1, LCD_char0 - a 0. karakter definialasa
LCD_char0 dt 31,31,31,31,31,31,31,31 - tele karakter
Az igy definiált karaktereket a 00h-07h (vagy 08h-0Fh) ASCII kódokkal lehet megjeleníteni.firstchar Hányadik karaktertől kezdve definiálunk (0 .. 7) charnum Hány saját karaktert definiálunk (1 .. 8) label cimke, ahol a karakteradatok helyetfoglalnak (bármelyik page-en lehet)