Fórum témák

» Több friss téma
Fórum » Karakteres LCD-k meghajtása, vezérlése
Lapozás: OK   7 / 17
(#) don_peter hozzászólása Szept 17, 2014 /
 
Uraim van egy 240x64-es T6963C chippel szerelt LCD kijelzőm. (24tűs)
A segítségeteket szeretném kérni, hogy miként tudom életre kelteni..
Van pár bekötési rajzom, de nem tudom melyiket érdemes használni..
Csatolom a kijelzőről készült képpel együtt és egy t6963c dokumentációt is.
Bővebben: Link

ui: ha valaki írt már rá meghajtó programot C-ben akkor szívesen fogadnám, ha meg is osztaná velem..
Közben találtam egy ilyen kiosztást.
  1. TOSHIBA TLX-771A-E0 240x64 T6963c
  2.  
  3. LCD -> Description -> LPT
  4. Pin 01 -> Frame Ground -> Ground Pin 18-25
  5. Pin 02 -> Vss Ground -> Ground Pin 18-25
  6. Pin 03 -> Vdd -> 5V
  7. Pin 04 -> VEE -> -8,5V +- 3V
  8. Pin 05 -> /WR -> 16
  9. Pin 06 -> /RD -> 5.0V
  10. Pin 07 -> /CE -> 1
  11. Pin 08 -> C/D -> 17
  12. Pin 09 -> NC ->
  13. Pin 10 -> /RESET -> 5.0V
  14. Pin 11 -> Data0 -> 2
  15. Pin 12 -> Data1 -> 3
  16. Pin 13 -> Data2 -> 4
  17. Pin 14 -> Data3 -> 5
  18. Pin 15 -> Data4 -> 6
  19. Pin 16 -> Data5 -> 7
  20. Pin 17 -> Data6 -> 8
  21. Pin 18 -> Data7 -> 9
  22. Pin 19 -> /FONTSELECT -> 5.0V for 6x8 Fontpitch, Ground for 8x8 Fontpitch
  23. Pin 20 -> NC ->
  24. Pin 21 -> EL + -> EL Voltage  Inverter
  25. Pin 22 -> EL - -> Ground Pin 18-25

Azt tudom, hogy LPT-ra van kiosztva, de a középső oszlopból kiderül melyik lába melyik... Jó lehet ez?
(#) nagym6 válasza don_peter hozzászólására (») Szept 17, 2014 / 1
 
Mellékletben a bekötés, a kontraszt a +5V és GND közé kötött 10Kohm trimmer, csúszkája a "Vcontrast" lábra megy. Nekem így működik, de nem LPT portról, hanem önálló Pic-es áramkörrel. Az "ED" láb ha jól emlékszem, inverz megjelenést ad, de tévedhetek.
Mellékelt program basic, de hasonlít a "c"-hez, ebből kivehető ami kell. Led háttérvilágításnak előtétellenállás kell, kb. 39-56Ohm, ha 9V tápról megy a háttérfény, ennek 5V kevés. Gondolom a ledek nyitófeszültsége miatt. Ez csak a háttér ledekre vonatkozik, LCD 5V-ról megy.
Pontosan ugyanerről a kijelzőről írom.
A hozzászólás módosítva: Szept 17, 2014
(#) don_peter válasza nagym6 hozzászólására (») Szept 17, 2014 /
 
Köszi...
Majd átnézem a kódod... C-hez azért nem annyira hasonlít max néhány helyen .. CSS-ben találtam lehet abból is ki tudok indulni.
Majd, ha lesz időm belebújok kicsit a témában, de ha valakinek van C-ben írt driver-je az ne tartsa magában
Előre is köszi...
(#) icserny válasza don_peter hozzászólására (») Szept 17, 2014 /
 
PBP = PIC BASIC Pro (még szép, hogy nem hasonlít a C-re!)
(#) don_peter válasza icserny hozzászólására (») Szept 17, 2014 /
 
Idézet:
„Mellékelt program basic, de hasonlít a "c"-hez, ebből kivehető ami kell.”
A hozzászólás módosítva: Szept 17, 2014
(#) nagym6 válasza don_peter hozzászólására (») Szept 17, 2014 /
 
Egy ismerősöm régebben ebből a basic-ből olvasva tudta megírni C-ben a progit, amivel működésre tudta bírni ezt a kijelzőt. Ebből gondoltam hogy itt is segít.
Csak időközben Angliába ment dolgozni, nem tudom tőle elkérni a progit.
(#) don_peter válasza nagym6 hozzászólására (») Szept 18, 2014 /
 
Köszönöm, meg fogok vele próbálkozni én is..
Ha más nem az adatlapjából kiindulva írok rá egy saját drivert. (persze ezt jobb lett volna elkerülni)
(#) vilmosd válasza don_peter hozzászólására (») Szept 18, 2014 /
 
Vegulis irhatsz is, de egyszerubb az amit mar megirtak. T6963C.c - T6963C driver
(#) don_peter válasza vilmosd hozzászólására (») Szept 18, 2014 /
 
Igen ezt néztem én is, de ez is CSS bár ez sokkal közelebb van a C-hez..
(#) vilmosd válasza don_peter hozzászólására (») Szept 18, 2014 /
 
Ez azert C. Kis atalakitassal at lehet tenni mas C nyelvjarasokra. A CCS C libekben vannak specialis fvenyek, de ezeket siman meg lehet irni mas C-ben, es maris mukodik. En altalaban CCS C-t hasznalok, es en erre szoktam atirni mas nyelvjarasokbol valo programokat. Nem egy ordongosseg.
(#) don_peter válasza nagym6 hozzászólására (») Szept 21, 2014 /
 
Most kezdem bekötözni a kijelzőt..
A kérdésem az lenne, hogy a csatolt bekötésen 12v van a háttérvilágításnak megadva.
Tehát elbírja, ha konkrétan adok neki 12v-ot?
Persze megy előtét ellenállás 270Ohm.
(#) don_peter hozzászólása Szept 22, 2014 /
 
Beröffent a kijelző..
Még nem tökéletes, de már szöveges és grafikus megjelenítés megy.
Még a változók kiíratásával kell foglalkozzak, hogy ne keljen segédváltozót használnom.
És még az int típusok sem jelennek meg rendesen..
Szóval még lesz vele kis munka, de haladok...
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Szept 22, 2014 /
 
Köszi..
Igen, gyakorlatilag az az alapja, illetve majdnem mert az eredetiét (annak amit Vilmos linkelt) én már korábban megtaláltam és abból kiindulva illetve az adatlapját felhasználva kezdtem lépésről lépésre értelmezni mit miért kell csinálni...
Aztán amikor már nagyjából átláttam, akkor elkezdtem a függvényeket egyenként beemelni és átírni, hogy jó legyen..
Sokat szívtam, de végül megjelentek a karakterek. (nem jól van pár dolog definiálva és kezelve, vagy is CSS-ben lehet jó)
Utána a grafikus része már egyszerűbb volt, bár abban is volt jó pár rész amit át kellett írni mert szétcsúsztak vagy elcsúsztak a dolgok.
A hozzászólás módosítva: Szept 22, 2014
(#) zenetom válasza don_peter hozzászólására (») Szept 22, 2014 /
 
Szia!
Szép, én is foglalkoztam ezzel a vezérlővel, bár én saját asm kóddal, meg a karakteres módnál félbehagytam, mert túl csúnya volt az LCD ahhoz, hogy több időt szánjak rá.
(#) don_peter válasza zenetom hozzászólására (») Szept 22, 2014 /
 
Mint, ha már láttam volna ezt a képet mikor driver után kajtattam a neten
Egyébként miért nem szeded le a keretet és fested le?
Nem olyan csúnya az...
(#) kaqkk válasza (Felhasználó 15355) hozzászólására (») Szept 22, 2014 /
 
Ez egy sima 4*20 karakteres lcd kezdőképernyőnek csináltam
(#) don_peter válasza (Felhasználó 15355) hozzászólására (») Szept 22, 2014 /
 
Nekem is van pár nagyon komoly Xilinx Spartan vezérlős lcd-m.
A videón a legnagyobb kijelző ami nekem is van...
Értőképernyős a cucc szóval nagyon brutális (pixelbe: nagyon sok)
Ha valaki beröffenti és megossza a tudást és a forrást annak adok egyet ingyen

ui: persze C18-ban mert én csak ehhez értek egyelőre..
A hozzászólás módosítva: Szept 22, 2014
(#) nagym6 válasza don_peter hozzászólására (») Szept 22, 2014 /
 
Ügyes vagy. Hány mA a háttérfény? Tudok progit -free régi fapados- ami bmp képből csinál "C"-nek HEX fájlt, illetve karakterekből is. Így bármekkora karaktereket egyszerűen lehet gyártani, HEX tömböket csinál a progi.
(#) don_peter válasza nagym6 hozzászólására (») Szept 22, 2014 /
 
Köszi..
Nem mértem le a fogyasztását, ráaggattam a 12v-ot egy 270 Ohm-os ellenálláson keresztül és világít.
Egy bekötési rajzon láttam, hogy 12v kell neki.. (csatoltam)

Érdekel az a program..
Főleg ha tömbösít is..

simpi: na igen azokat fel lehet éleszteni..
Jó kis motyók...
Az előbbiről lemaradt, hogy természetesen szines kijelzők..
Be kellene pöffentenem, de az már egy nagyobb falat lenne nekem és lehet beletörne a fogam.. Még..
(#) nagym6 válasza don_peter hozzászólására (») Szept 22, 2014 /
 
A progit is fájl mellékletként feltehetem? Nem tudom szabad-e. Az egyik nem "egybecsomagolt", hanem mappában van sok fájl, azzal mit tegyek?
A "tömbösít" úgy értem, hogy megvan egy hex tömb, és azt másolás-beillesztés módon teszem be a programba.
A 270Ohm nagyon sok, azaz halvány fénye lesz. 12V-nál 47Ohm simán lehet, akkor van kb. 50mA a háttérfénynek. Ekkora kijelzőnél még az is alacsony.
A hozzászólás módosítva: Szept 22, 2014
(#) nagym6 válasza (Felhasználó 15355) hozzászólására (») Szept 22, 2014 /
 
Ezek annyira egyszerű progik, hogy a HEX-et nem lehet editálni. Csak BMP, vagy FONT szerkesztés pixelenként, hogy be-ki kapcsolva. Utána csinál egy HEX tömböt, amit nem lehet itt szerkeszteni, csak külön szövegszerkesztővel. De nekem tökéletesek, és igazi free.
(#) don_peter válasza nagym6 hozzászólására (») Szept 22, 2014 /
 
Tömörítsd egybe az egészet és tedd fel rar vagy zip fájl ként.
A lényeg, hogy 2MB alatt legyél.
Ha nem megy egyben akkor bontsd meg..
Ha más nem akkor meg az email címemre küld el..
Köszi
A hozzászólás módosítva: Szept 22, 2014
(#) don_peter válasza nagym6 hozzászólására (») Szept 23, 2014 /
 
Köszi megjött a program.
Találtam én is egyet ami kicsit talán jobb: Bővebben: Link
Behívod a képet kiválasztod milyen kijelzőre akarod, kiválasztod a kimenetet és lekonvertálja neked a linkelt képet.
Arra kell figyelni, ha nem színes a kijelző akkor fekete fehér képet kell választani aminek erős a kontúr mert különbem nem lesz szép és éles a kép.

Írtam hozzá egy rutint is és egy kis példát a tömbösítésre.
  1. //Tömb amibe belerakod a kódot (64x64px-eles képet választottam)
  2. static rom char kep[64][9] = {
  3. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
  4. ,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
  5. ,{...stb}
  6. ,{...stb} };
  7.  
  8. //Rutin ami kirajzolja
  9. for(i=0; i<64; i++){    //Ahány pixel magas
  10.                 while(x<9){    //Ahány byte-on tárolja (8x8=64pixel)
  11.                         glcd_gotoxy(1+x,1+i,0);    //Pozíció
  12.                         glcd_WriteCmd1(kep[i][x],0xc0);   //Kiírjuk
  13.                 x++;
  14.                 }
  15.         x=0;
  16.         }

Hátha valakinek tudtam segíteni..
(#) nagym6 válasza don_peter hozzászólására (») Szept 23, 2014 /
 
Az a program, amelyik 20MB volt tömörítve "LCDimCom" ? Mert annak elküldése nem akart menni.
(#) don_peter válasza nagym6 hozzászólására (») Szept 23, 2014 /
 
Jaja az átjött.
(#) don_peter hozzászólása Szept 25, 2014 /
 
Egyébként ennek a kijelzőnek PIC-el kellene hajtani az Inverter és a kontraszt lábait is?
Mert azokat én fixre kötöttem.
Bár a kontrasztnál gondolom egy állítható értékű ellenállás kell, de az Invert lábra mivel, ha jól látom 2álású vagy is vagy magas vagy alacsony szinten van akkor azt ki kellene PIC-re hoznom nem?
Hogy állítható legyen programból.
Elég sok lábat lefoglal ez az LCD, gyakorlatilag ha jól számolom: 8bit az adat, WR, RD, CD, RESET ezek az alapok ez már most 12láb, és ehhez hozzá jönne még minimum az Invert láb amivel együtt már 15lábra van szükség.
Ti mivel szoktátok megoldani az ilyen kijelzők meghajtását?

Amúgy haladtam kicsit és írtam egy saját kis kirajzoló rutint..
Az eredménye az, hogy amit a fentebb linkelt weboldal generál hex kódot rajzolja ki a képernyőre.
Csatoltam az eredményt...
(#) nagym6 válasza don_peter hozzászólására (») Szept 25, 2014 /
 
A kontraszt a +5V és GND közé kötött 10Kohm trimmer, csúszkája a "Vcontrast" lábra megy. Nálam kb. félállásban van a trimmer, ott jó.
Invert lábat ha programból akarod vezérelni, nyilván +1 lábat foglal. Én ugyanígy használom a kijelzőt, hogy ennyi lábat foglal. Egyik megoldás a shift regiszter -soros-párhuzamos átalakítás-, hogy kevés PIC lábat foglaljon. Így 1 PIC lábon megy az összes adat és vezérlőjel, és még pár PIC láb a shift regiszter, és esetleg a kijelzőnek, megoldástól függően. De ez jelentős lassulás is az adatátvitelben.
A hozzászólás módosítva: Szept 25, 2014
(#) don_peter válasza nagym6 hozzászólására (») Szept 25, 2014 /
 
Most rendeltem, MCP 23S17 SPI I/O shift regisztert ezzel gondoltam kihajtani.
SPI még is csak 10MHz-n mocorog, csak nem lesz annyira lassú nem?

Vagy te nem ilyennel csinálod? (talán I2C?)

Bekötöm az összes vezérelhető lábat, ha már 16bites expandert használok...szóval nem lesz gond.

Más:
Szeretnék a CGRAM-ba tölteni karaktereket, de nem tudom értelmezni az adatlapon lévő dolgokat.
Hogyan kell feltölteni karaktereket a CGRAM-ba?
Erről tudsz adni infót vagy esetleg egy kis rutint?
A hozzászólás módosítva: Szept 25, 2014
(#) nagym6 válasza don_peter hozzászólására (») Szept 25, 2014 /
 
Én közvetlenül a párhuzamos vezérléssel használom, semmi egyéb. PIC18F46K22 -vel csinálom, 40 lábú, bőven elég így is, hogy tizennéhány láb csak a kijelzőé.
Az SPI shift regiszter jóval gyorsabb mint az I2C, gondolom a PIC SPI kommunkációs moduljával menne. Nem csináltam még ilyet, a PIC ilyen moduljait nem ismerem. Szerintem kellően gyors lehet. Még gyakran használt a 74HC595 Shift regiszter, csak 8 bites, kettőt kell láncba kötni. Ez nem SPI, csak sima digitális kapcsolatú ic.
CGRAM használatát én sem ismerem. Nem kínlódtam vele majdnem nulla angol tudásommal, meg igen kevés szabadidőmmel. Rutinom sincs erről. Egyenlőre úgy vagyok vele, ha nagyon kell ékezetes karakter, ráteszek grafikus módban egy pontot, vagy vesszőt az alap karakterre.
Most semmit nem tudtam segíteni, de azért jó pár sort írtam.
A hozzászólás módosítva: Szept 25, 2014
(#) don_peter válasza nagym6 hozzászólására (») Szept 25, 2014 /
 
Éppen most rendeltem én is PIC18F46K22-őt (egyetlen baja, hogy nincs benne USB)
Szóval akkor te közvetlen a PIC lábairól hajtod a kijelzőt. (15lábat foglal le összesen a GLCD)
Ez szép és jó ameddig nem kell sok láb, de nekem sajna a mostani 4550-en max 8db szabad lábam van szóval ez nem jó megoldás. (meg persze a memóriája is kevés)
74HC595-öt használok jelen pillanatban is azzal hajtom az interfészt. (és még egyéb projektben is használom)
Az egyetlen baj az, hogy ha jól olvasom, akkor itt nem csak írni kell, hanem olvasni is az LCD-t a vezérlő adatporton.
Ha megnézed, akkor úgy kezdődik az init és minden írás, olvasás, hogy az adatportokat bemenetre állítod aztán amikor lefut a visszaellenőrzés akkor visszaállítod kimenetre.
Enélkül nem is megy nálam a kijelző..

Tehát a sima 74HC595 mint meghajtás ehhez a GLCD-hez nem jó mert csak írni tud olvasni nem.
Ezért rendeltem a feljebb említett MCP23S17 SPI-s Expander-t.
Ez már SPI-n képes írni és olvasni a 16bit-es portját.
Ez elegendő lesz mindenre..

A CGRAM meg nem az ékezetes karakterek miatt kellene mert, ha jól értelmezem az adatlapját akkor azok alapból benne vannak szóval csak a memória címzésre kell hivatkozni, ha ékezetes karaktert írsz be.. (erre kell egy kicsi rutin, majd holnap megírom)
Inkább az előzetesen megszerkesztett karakterek és grafikus dolgok letárolására gondnék a program indulásánál, hogy gyorsabb és könnyebb legyen a későbbi elérés.
Van elvileg 4kb szóval ki kellene használni..
Következő: »»   7 / 17
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