Fórum témák

» Több friss téma
Fórum » Driver nélküli grafikus LCD meghajtása AVR-el vagy PIC-el
Lapozás: OK   1 / 2
(#) edison14 hozzászólása Ápr 4, 2010 /
 
Helló mindenkinek!

TUDOM, hogy van egy csomó olyan fórum ahol grafikus LCD-k meghajtásával foglalkoznak, de ez nagyon eltérő eset. Régen öreg fénymásolókból szoktam kiszerelni nyomógombokat és megtetszettek a szép nagy grafikus LCD-k is. Szerintem sokan úgy járnak mint én mivel ezek az LCD nagyon drágák és hát nincsen mindenkinek ennyi költőpénze. Egypár évig itthon porosodtak amikor rájöttem hogy fel kéne őket használni de mivel nem találtam meg egyiken sem a drivert nagyon elszomorodtam. Gondolom hogy azon a NYÁK-on amire rá voltak szerelve rajta maradtak a driver IC-k. Viszont mivel most tanulom az AVR és PIC programozást gondoltam hogy talán meg lehetne oldani a vezérlésüket. Az LCD típusa HLM7262-040100 és ezzel kompatibilis ( szinte ugyan az) az LM24064BDA típusú kijelző. Az LCD-n három darab TOSHIBA T6A39-es shift regiszter található ami az oszlopokat kezeli és egy darab TOSHIBA T6A40-es shift regiszter ami pedig a sorokat kezeli. Ehhez a kijelzőhöz azt írták hogy egy bizonyos TCB6963-as driver kellene a meghajtásához. Felrakom mindegyiknek az adatlapját valamint egy lábkiosztást az LCD-ről.

A segítségeteket előre is köszönöm.
(#) pici válasza edison14 hozzászólására (») Ápr 4, 2010 /
 
Szia
A driver amit keresel: T6963C
Van ilyen LCD-m. Nem nehéz vezérelni.
Itt egy video az ilyen vezérlősről
Akinek kell ilyen LCD-t tudok adni.
pl oszcilloszkópnak tökéletes.
(#) edison14 válasza pici hozzászólására (») Ápr 4, 2010 /
 
Szia a videó tökéletes és nagyon tetszik csak az a gond hogy nekem nincs rajta ez a T6963-as driver a modulon és ezt szeretném helyettesíteni valamilyen processzorral mivel nem tudok sehol sem szerezni driver vagy olyan boardot amit már csak a kijelzőmhöz kellene csatlakoztatni és menne. Ehhez szeretnék tanácsot kérni mert ha megoldható feleslegbe nem fogok kiadni érte pénzt.
(#) pici válasza edison14 hozzászólására (») Ápr 4, 2010 /
 
Ez van az első PDFben:
"Product Highlight
1) TCB6963 is a LCD Module Controller Board using Toshiba T6963C LCD controller"
(#) edison14 válasza pici hozzászólására (») Ápr 4, 2010 /
 
A pdf-ben tudom hogy mi van csak az a gond hogy sehol nem találom rendelésre ha meg meg is találnám elég drága lenne a postaköltség. Ezért akarnám ezt kiváltani AVR-el vagy PIC-el ha lehetséges de ha nem akkor kénytelen leszek egyet venni. ma reggel kötöttem rá 4db nyomógombot és sikerült beizzítanom egy kicsit azaz felvillant az összes képpont meg össze vissza futkostak a sorok és oszlopok. Gondoltam hogy valamilyen órajellel lehetne vezérelni a 4 bemeneti lábát és egy portot a processzoron megcsinálni vezérlőportnak. Azaz ha a vezérlőportra teszek pl egy másik AVR-t amiben van egy grafikus LCD programja akkor kirajzolja az LCD-re. Valójában egy AVR-el szeretném helyettesíteni a T6963C-s drivert.
(#) Ricsi89 hozzászólása Ápr 4, 2010 /
 
A téma jó. Én itt az apróban néztem ki egy grafikus vfd kijelzőt, amiről utólag kiderült, hogy nincs beépített drivere, csak a shift regiszterek vannak rajta. És ez a nagy gondom nekem is, hogy szuper lenne a kijelző, csak épp a driver miatt kell lemondanom róla. Nekem pedig csak egy egyszerű karakterkészlet kellene bele...
(#) edison14 válasza (Felhasználó 4577) hozzászólására (») Ápr 4, 2010 /
 
Szia.

Az én LCD-ből hiányzik ez az IC és ezt szeretném valahogyan helyettesíteni processzorral ami első hallásra lehetetlen és szerintem még most is az de lehet hogy van rá megoldás. Ebben szeretnék segítséget és ötleteket kérni a megoldásra.

Az eddigi segítséget köszönöm.
(#) pici válasza Ricsi89 hozzászólására (») Ápr 4, 2010 /
 
Akkor neked jó azaz LCD amit belinkeltem
240x64-es grafikus és 40x8-as karakteres egyben
nem is drága
(#) pici válasza edison14 hozzászólására (») Ápr 4, 2010 /
 
variszabinak válaszoltál, de nem is írt ide?

Nem igazán értem... jó lenne egy fotó a hátuljáról (de éleset ám)
(#) Ricsi89 válasza pici hozzászólására (») Ápr 4, 2010 /
 
Az lcd nekem azért nem lenne jó, mert éjszaka, sötétben nem látszik a vfd meg igen. Lényegében egy olyan karakterkészlet kellene, ami a legnagyobb, amit ki lehet jelezni. Mintha egy hatalmas 1 soros kijelző lenne csak. Csak ha már adott lenne a lehetőség, hogy betűket is megjelenítsek a kijelzőn, akkor miért ne. Így több funkciót lehetne adni az órának.
(#) pici válasza Ricsi89 hozzászólására (») Ápr 4, 2010 /
 
van háttérvilágítása és akkora karaktereket használsz, amekkorát tervezel....
(#) edison14 válasza pici hozzászólására (») Ápr 4, 2010 /
 
Nem tudom hogy miért címezte variszabinak. Valamit nagyon elnyomtam már kegyetlenül fáradt vagyok. Éles képet nem fogok tudni csinálni mivel nincs se digitális fényképezőgépem se olyan mobilom amivel lehet fényképezni csak egy webkamerám van.
(#) Ricsi89 válasza edison14 hozzászólására (») Ápr 5, 2010 /
 
Azért címezte neki, mert ő írt ide, csak gondolom törölte, amire te épp válaszoltál. Egyébként azon kívül, hogy vegyünk normális kijelzőt van valakinek valami ötlete a meghajtásra?
(#) (Felhasználó 4577) válasza Ricsi89 hozzászólására (») Ápr 5, 2010 /
 
Pontosan. Rájöttem, hogy hülyeséget írtam (nincs rajta a driver az LCD-n), láttam, hogy senki se akar rá válaszolni és akkor gyorsan még töröltem.
(#) sargarigo hozzászólása Aug 17, 2012 /
 
Sziasztok!

Van még valaki az országban aki ilyen lcd-vel foglalkozik, neadjisten sikerült beüzemelni? Egy ideje már ügyeskedem vele, és vannak részeredmények is, de még nem az igazi.
Szóval: UP!
(#) jucsaba válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
üdv!
nekem is van valami hasonló kijelzőm , de ott a driver ic e1330 (epson)és volt mellette sram is , az a kijelző 64X512 pontos , a neten láttam hasonló kiegészítő panelt,
csak még nem volt lelki erőm összerakni, na meg még nem igazán kellett.
(#) moderboy válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
Végülis meddig sikerült eljutnod vele? Nekem oszlopinformációt nem sikerült megetetni vele sehogysem. A legtöbb ami sikerült hogy különböző vastagságú vonalakat tudtam futtatni rajta lefele
(#) sargarigo válasza moderboy hozzászólására (») Aug 17, 2012 /
 
Nekem sem az igazi sajnos.
Meg tudok jeleníteni oszlopokat tetszőleges pozícióban, de sorokat már nem. Ha feltöltöm az egész mindenséget, akkor minden második sort megrajzolja és ennyi. :miaz:
Oszlopot tudok futtatni (végigpásztáz az összes oszlopon), de ugyanez sorokkal már nem megy. Nem értem miért..
Amit megfigyeltem, hogy az egyidejűségekre nagyon oda kell figyelni (hogy melyik él mikor és hol van), de valszeg még van valami szabály, ami nem derült ki a t6a39 és t6a40 adatlapjából. Őszülök
Már ott tartok, hogy előbb inkább befejezem a logikai analizátoromat, aztán majdcsak sikerül felkutatni egy ilyen lcd-vel bíró gépet, és lenyúlom róla a jeleket. Na de hogy azt mikor???
(#) zenetom válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
Szia!
Én anno beizzítottam egy 512x64 pixeles LCD-t, kellett is neki ám a sebesség, PIC18F2550-el HSPLL módban (48MHz, 12MIPS) már villogásmentesen jelent meg rajta kép, de viszont a PIC csak a képfrissítéssel tudott törődni (a képet a programmemóriába töltöttem be, majd onnan rakta ki a program a kijelzőre).
Szóval nagyon kell a sebesség ezeknek a vezérlő nélküli kijelzőknek (ami ugye érthető is).
(#) sargarigo válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
Egyébként összefoglalva amit eddig tudok:
Van a DATA, ez határozza meg a pixel ki/bekapcsolt állapotát.
Van az SCP, ez lépteti végig a DATA-t a 39-esek shift regiszterein, pontosan 240 pixelt tárol.
Az LP átírja a képernyőre a shift regiszterek tartalmát, és megjelöli megjelenítésre a következő sort (64 sor van).
Az FR jelzi az új képtartalmat, elvileg minden legelső pixelnél kell.

Háttértára nincs, ezért folyamatos frissítést igényel. Ebből következik, hogy most szórakozni jó amíg rájövünk hogy működik, de később kelleni fog egy RAM amiben a teljes képet tároljuk, és egy logikai számlálós áramkör, ami folyamatosan másolja a RAM tartalmat az lcd-be.

Észrevétel esetleg?
(#) sargarigo válasza zenetom hozzászólására (») Aug 17, 2012 /
 
És van rá esély hogy ugyanúgy működik a te 512x64-esed, mint a mi 240x64-esünk? Gondolom a kivezetésekből kiderül..
(#) zenetom válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
Én ezt röffentettem be: Bővebben: Link
A rajta lévő shiftelő IC-k adatlapjai alapján írtam meg a progit, de beletelt pár hónapba...
(#) sargarigo válasza zenetom hozzászólására (») Aug 17, 2012 /
 
Ez megvan még neked (mármint a kódja)? Eléggé hasonlónak tűnnek az idődiagramok a mienkhez! Mondjuk ez még nem garancia semmire, de hátha közelebb jutunk! PIC-et C-ben, vagy asm-ben izgattad meg? Mi volt a több hónap oka? Valami konkrét szívás amire oda kell figyelni esetleg? Hibakeresésre van valami tipped? Bocs ha mohó vagyok, de érdekel
(#) zenetom válasza sargarigo hozzászólására (») Aug 17, 2012 /
 
Assemblyben írtam, a sok időt tulajdonképpen az vette igénybe, hogy megértsem hogy is működik (előtte nem foglalkoztam még ilyennel), így visszagondolva már egyszerű. Viszont van még valami dolog vele, amit még akkor se értettem, mikor kész volt és jól működött a program, de aztán rájöttem.
Majd leírom mi volt benen a buktató, most így hirtelen fejből nem tudom már.
(#) sargarigo válasza zenetom hozzászólására (») Aug 17, 2012 /
 
És összefoglalva dióhéjban a működését le tudnád írni? Meg ha nem nagy kérés, akkor az asm is lehet hogy segítség lenne..
(#) moderboy válasza sargarigo hozzászólására (») Aug 18, 2012 /
 
Nem tudom milyen vezérlőre írtad a kódot, de ha C-ben van feltehetnéd, megnézném nálam mit produkál. A DATA-t az SCP le vagy felfutó élére készítetted be neki?
(#) sargarigo válasza moderboy hozzászólására (») Aug 23, 2012 /
 
Mondom, mutatom

Nekem t6a39 és 40 chip-ek vannak, és mega8-cal hajtom őket.
Itt a kód amivel próbálkozom!

  1. while (1)
  2. {
  3.  for (int i=1; i<65; i++)// valtas a kovetkezo sorra
  4.  {
  5.  for (int k=1; k<241; k++)// egy sor feltoltese
  6.  {
  7.  SET_SCP();// SCP fel
  8.  if ((k==10) || (k==30) || (k==70) || (k==130))
  9.  SET_DATA()
  10.  else
  11.  CLR_DATA();
  12. _delay(SCP_DELAY);
  13. CLR_SCP();// SCP le
  14. if (k==1)// Minden elso SCP-nel kuldunk LP-t is
  15. {
  16. SET_LP();
  17. _delay(LP_DELAY);
  18. CLR_LP();
  19. }
  20.  }
  21.  {
  22.  toggle_fr();
  23.  }
  24.  }


A delay részt próbáltam minél jobban felgyorsítani, hogy beleférjek a 8MHz-be, amit a CPU tud belső órajellel.

Szerk.: Elég csúnyán széttördeli a tabulátorokat. Erre van valami megoldás?

main.c
    
(#) sargarigo válasza sargarigo hozzászólására (») Aug 24, 2012 /
 
Az időzítéseknek hol kell egyezni?
Valamit elszúrok de nagyon. Ez függőleges vonalakat rajzol, ami jó is lenne, de az a gondom, hogy ha kiveszem a sorváltás ciklust, akkor is vonalak maradnak, és nem pár pixel a az első sorban, ahogyan várnám.
Vízszintes vonalat úgy rajzolnék, hogy a ciklusmagban nem a k==valamit használom, hanem helyette i==valami. Csakhogy erre meg üres a képernyő. Mintha a sorváltás nem lenne jó. Kipróbáltam másik lcd-vel is, ugyanez. Szóval biztos a kóddal van valami.
Az a gyanúm, hogy valami szinkron dolog nincs szinkronban. Vélemény?
(#) moderboy válasza sargarigo hozzászólására (») Aug 25, 2012 /
 
Ötletem sincs, mondjuk most egy ideje nem néztem, de nekem is csak futottak a vonalak lefele...

Ha csak egy sort töltesz be és végig tolod LP-vel akkor is lefut az egy sor? Fordított SCP élekkel is probáltad?
(#) jucsaba hozzászólása Aug 25, 2012 /
 
valaki ismeri ezt az lcd-t?
talán valami autós cuccban volt ledes háttérrel, valószinű monokróm.

100_2664.JPG
    
Következő: »»   1 / 2
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