mars01 Postat Iulie 1, 2015 Partajează Postat Iulie 1, 2015 (editat) Da, la acest lucru ma refeream. Deocamdata libraria suporta LCD cu maxim 2 linii si 20 coloane. dar cu o modificare simpla in functia LCD_cursor() poate fi facuta sa afiseze si pe 4 linii (trebuie adaugate inca 2 case-uri pentru linia 3 si linia 4. De fapt, in loc de: void LCD_cursor(unsigned char x,unsigned char y){ unsigned short loc; switch (x) { case 1: loc = 0x80 + (y-1); break; case 2: loc = 0x80 + (y-1) + 64; break; default: loc = 0x80 + (y-1); break; } LCD_RS = 0; LCD_write(loc); LCD_RS = 1; millis(2);} devine asa: void LCD_cursor(unsigned char x,unsigned char y){ unsigned short loc; switch (x) { case 1: loc = 0x80 + (y-1); break; case 2: loc = 0x80 + (y-1) + 64; break; case 3: loc = 0x80 + (y-1) + 20; break; case 4: loc = 0x80 + (y-1) + 84; break; default: loc = 0x80 + (y-1); break; } LCD_RS = 0; LCD_write(loc); LCD_RS = 1; millis(2);} Si gata. LE: Functia accepta parametri incepand cu 1. Adica LCD_cursor (1,1) inseamna ca se seteaza cursorul pe prima linie de sus si primul caracter. Si inca o chestie, nu m-a interesat modul 8bit si am implementat doar 4bit, cu pinul RW al LCD, default legat la GND. LLE: De fapt ca functia sa fie fool-proof complet trebuie sa fie asa: // x = no. of the line, starting with 1// y = no. of the column, starting with 1void LCD_cursor(unsigned char x,unsigned char y){ unsigned short loc; if (y > 20) y -= 20; switch (x) { case 1: loc = 0x80 + (y-1); break; case 2: loc = 0x80 + (y-1) + 64; break; case 3: loc = 0x80 + (y-1) + 20; break; case 4: loc = 0x80 + (y-1) + 84; break; default: loc = 0x80 + (y-1); break; } LCD_RS = 0; LCD_write(loc); LCD_RS = 1; millis(2);} Editat Iulie 1, 2015 de mars01 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum