Fórum témák

» Több friss téma
Fórum » Karakteres LCD-k meghajtása, vezérlése
 
Témaindító: Crayon, idő: Feb 11, 2007
Témakörök:
Lapozás: OK   16 / 16
(#) Jonni válasza Pethical hozzászólására (») Márc 10, 2021 /
 
Közbe megtaláltam az adatlapját. Esetleg ki lehet belőle valamit böngészni.

https://www.alldatasheet.com/datasheet-pdf/pdf/43112/SHARP/LM40X21A.html
(#) Pethical válasza Jonni hozzászólására (») Márc 10, 2021 /
 
Ez sajnos csak a kijelző adatlapja, azt lenne jó tudni, hogy milyen meghajtó IC van rajta.
Pár kérdés:
Másik saját betűvel is ökörködik, vagy csak az á-val?
Ha az á helyett valami más mintát írsz be (pl tele kocka, vagy csíkok), akkor abból mi lesz?
Ha másik címre teszed az át (pl. 2) és úgy írod ki, akkor mi történik?
A hozzászólás módosítva: Márc 10, 2021
(#) Jonni válasza Pethical hozzászólására (») Márc 10, 2021 /
 
Most átalakítottam ilyenre

  1. byte a1[8] = {B11111, B00000, B11111, B1, B00000, B11111, B00000};


ennek semmi köze az á betűhöz de ugyanazt írja
(#) benjami válasza Jonni hozzászólására (») Márc 10, 2021 / 2
 
Pillanatok alatt összedobhatsz egy tesztprogramot, ami megjeleníti a teljes karakterkészletet a kijelzőn (nyilván csak scrollozva). De ha biztosra akarsz menni, akkor használd a 8db szabadon szerkeszthető karaktert, amit a 0..7 vagy a 8..15 karakterkódon tudod elérni.
Ötletadónak itt egy általam 1000 éve írt karakteres lcd driver, azon belül az examples / demo-cursor mappában vannak a példák pic és avr procira.
(#) Jonni válasza benjami hozzászólására (») Márc 10, 2021 /
 
Köszi. Holnap megnézem.
(#) Jonni hozzászólása Márc 11, 2021 /
 
Sziasztok

A segítséget mindenkinek köszönöm a 40x2 lcd témába.
majkimester a te megoldásodhoz én egy kicsit amatőr vagyok de az biztos, hogy működne.

Már csak 1 kérdésem lenne. A TME-nél láttam ezt a 40x2-es Lcd-t. Azt írja ,hogy támogatott karkterkészlet Angol/európai . Ennél a kijelzőnél elég lenne magyarul írnom és az magyrul jelenne meg vagy itt is létre kéne hozni saját karaktert?
(#) Pethical válasza Jonni hozzászólására (») Márc 11, 2021 /
 
Nézd meg az adatlapját, abban általában benne van a karakterkészlete.
(#) majkimester válasza Jonni hozzászólására (») Márc 11, 2021 / 2
 
Szia, sejtettem, hogy amit leírtam még bonyolult, de ha sok szöveg van és más más karakterkészletű LCD-hez is szeretnéd használni, akkor ez a legjobb módszer. A többi az favágás, de nyilván működik kicsiben.

Az Angol/európai készletben nincs kis ő és ű, ezeket mindenképpen definiálnod kell.
Ezen kívül a ritkán használ nagy betűk Á, Í, Ó és Ú sincsenek.
Nálam ez az átváltó tábla erre a karakter készletre:

  1. // English-European character set
  2.     case 'á' : return 0xA0;
  3.     case 'é' : return 0x82;
  4.     case 'í' : return 0xA1;
  5.     case 'ó' : return 0xA2;
  6.     case 'ö' : return 0x94;
  7.     case 'ő' : return 0x01;
  8.     case 'ú' : return 0xA3;
  9.     case 'ü' : return 0x81;
  10.     case 'ű' : return 0x02;
  11.     case 'Á' : return 'A';
  12.     case 'É' : return 0x90;
  13.     case 'Í' : return 'I';
  14.     case 'Ó' : return 'O';
  15.     case 'Ö' : return 0x99;
  16.     case 'Ő' : return 0x99;
  17.     case 'Ú' : return 'U';
  18.     case 'Ü' : return 0x9A;
  19.     case 'Ű' : return 0x9A;
  20.     case '°' : return 0xCD// fok jel
(#) Jonni válasza Pethical hozzászólására (») Márc 11, 2021 /
 
Ott 5.Character Generator ROM Pattern Table.2- azt írja hogy megvan minden magyar betű. Beszerzek 1 ilyet.
(#) Jonni válasza majkimester hozzászólására (») Márc 11, 2021 /
 
Szia
Köszi ..... tálán valamikor erre is szükségem lesz.
(#) Skori válasza mateatek hozzászólására (») Máj 3, 2021 / 1
 
Idézet:
„Csináltam egy tesztet. 10-szer egymás után teleírtam mindkét sort az LCD-n. Törlés nem volt, csak felülírás.
4 biten: 74 millisec.
I2C alap sebességen: 244 millisec.
I2C 800000-es sebességen: 66 millisec.”
Korábban említettem, hogy megmérem én is a (a weblapomon leírt) léptetőregiszteres megoldással mennyi ideig tart teleírni a 2x16-os kijelzőt. BluePill-t használtam, 74HCT595 léptetőregisztert, és hasonlóképp 10x teleírtam a kijelzőt (kipróbáltam 100X teleírást is, az eredmény visszaosztva ugyanaz). Gyakorlatilag a 10x teleírás 26ms ideig tartott, azaz: kb. 81µsec/karakter sebességgel írta a kijelzőt.
Összehasonlításképpen a korábbi méréseddel:
4 biten: 74 millisec. --> 231µsec/karakter
I2C alap sebességen: 244 millisec. --> 762µsec/karakter
I2C 800000-es sebességen: 66 millisec. --> 206µsec/karakter
A konklúzió számomra: amenyiben számít, hogy mennyi ideig tart a kijelző írása, akkor a léptetőregiszteres megoldás elég jó alternatíva...

A mérést a forrasztóállomásom kódjába tettem bele ideiglenesen, ill. próbaképpen:
  1. uint32_t tt1,tt2,cc=10;
  2. tt1=millis();
  3. for(;cc;cc--){
  4. lcdsh_Line1(); lcdsh_str2("Forrasztóállomás",16);
  5. lcdsh_Line2(); lcdsh_str2("JBC245 Skori v02",16);
  6. }
  7. tt2=millis();
  8. lcdsh_Line2();lcdsh_num(tt2-tt1,16);
(#) Skori válasza Skori hozzászólására (») Máj 3, 2021 /
 
Kíváncsi voltam meddig tudom feszegetni a határokat, és elkezdtem csökkenteni a µs-os késleltetéseket a programban, hogy tovább növeljem a kijelzőre írás sebességét.
A tesztelt kijelzővel 39µsec/karakter sebességig nem hibázott a kijelző, 38µsec/karakter sebességnél viszont már előfordultak hibák. Tehát a 2x16-os kijelző kb. 1,25ms alatt teleírható (nyilván ez függ az adott kijelzőtől is, régebbi vagy más típusok esetleg lassabban írhatók)
(#) mateatek válasza Skori hozzászólására (») Máj 3, 2021 /
 
Idézet:
„Kíváncsi voltam meddig tudom feszegetni a határokat”


Ha megnövelnéd az LCD órajelét ellenállás cserével, lenne ez még jobb is.

Vélhetőleg az Arduinós libekben is lehetne ezt az utat követni, mert ott is µs-os késleltetések vannak. Gondolom ezeket biztonsági ráhagyással teszik bele a kódba, mégpedig a 3.3 voltos, lassabb órajelű LCD-khez igazodva.
Következő: »»   16 / 16
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem