Fórum témák

» Több friss téma
Fórum » LCD kijelző vezérlése, életre keltése
Lapozás: OK   29 / 72
(#) Soós Antal válasza _ampervadasz_ hozzászólására (») Márc 28, 2012 /
 
Kösz proli007 válaszára írtam hogy a kérdés melyik lábra mekkora kondi?
(#) Soós Antal válasza proli007 hozzászólására (») Márc 28, 2012 /
 
Írod a vezeték gondot Most nézem nálam az LCD vezeték pont triakok felett tekereg amikor becsukom a vezérlőszekrény ajtaját / azon van az LCD /

Első PIC + LCD panel végül is megy de elég szerencsétlen az elrendezés de 2. változatba ezekre majd figyelek + raknák kondikat ha kiderül hogy hova milyet
(#) proli007 válasza Soós Antal hozzászólására (») Márc 28, 2012 /
 
Hello!
Az LCD adatvezetékeire nem tehetsz kondit, ott gyors jelforgalom van. A tápjára igen, de mivel gondolom ez gyári, van is rajta.
Az írásodból az derül ki, hogy mintha az lenne a helyzet, hogy az LCD messze van a procitól, és csak az LCD bolondul meg és a proci nem. Ha ez a helyzet, akkor szedhet össze zavarjelet a hosszú vezeték. Ebben az esetben meg lehet próbálni, valami vonalmeghajtó IC-t használni a proci és az LCD között. Valamint az LCD tápra egy elkót és egy 100nF-ot tenni.
De hosszú LCD adat és tápvezeték nem szerencsés. A kábel kapacitása is bezavarhat. Ekkor talán szerencsésebb egy másik procit alkalmazni az LCD mellett, és a kiírandó dolgokat pld. RS232 vagy RS485 vonalon átküldeni az LCD számára. Ehhez sokkal lassabb átvitel is megfelelő, hiszen nem sokszor kell írni a kijelzőre. Ehhez kevesebb vezeték is szükséges.
De minden a HW kialakítástól függ, mert így csak vaktában lövöldözhetünk..
üdv! proli007
(#) proli007 válasza Soós Antal hozzászólására (») Márc 28, 2012 /
 
Hello!
Ezen akár egy földelt fém elválasztó lemez is segíthet.
üdv! proli007
(#) zolika29 hozzászólása Márc 29, 2012 /
 
sziasztok von egy sony cyber-shot dsc-w215os fenykepezogepem mikor kapcsolom be mindig azt irjakapcsolja ki esujra be es nem csinal egyebet tudna valaki segiteni?
(#) proli007 válasza zolika29 hozzászólására (») Márc 29, 2012 /
 
Hello!
Bocsáss meg, nem sértegetni akarlak! De azt nem írja ki, hogy lehetőleg érthetően, nagybetűkkel ékezetesen írjál? Mert egyetlen mondatodat (ha ez ugyan az lenne) többször kell elolvasni, hogy legalább sejtse valaki mi is a problémád..
Egyébként rossz helyen vezetted fel a gondodat, mert itt LCD kijelzőkről van szó. Ha a gépkocsiban leáll a motor, akkor sem a gumishoz megyünk, hogy "az a gond, hogy nem forognak a kerekek".
üdv! proli007
(#) reechee88 hozzászólása Márc 31, 2012 /
 
Sziasztok!

Összeraktam az alábbi áramkört egy próbapanelen:

PIC18F4532
EW16400YMY LCD (elvileg HITACHI HD44780 hajtja)

A problémám az vele, hogy végigcsináltam és újraírtam már 10-szer az inicializáló metódust különböző időzítésekkel, de a két világító téglalap sor nem akar megváltozni, nem sikerül a inicializálás. Debuggoltam a progit és vmiért az E bit nem akar váltani, csak ha kétszer meghívom pl a 'bsf' parancsot. Próbáltam időzítéssel is, de úgy sem akar működni. Kipróbáltam, hogy kétszer hívom meg 'bsf' és 'bcf' parancsot egyaránt, de a siker még mindig elmaradt. Egy ismerősöm lcd meghajtó kódját is beillesztettem próbaként, így sem működik. Mellékelem a mostani kódot. Előre köszönöm az építő jellegű válaszokat!
(#) vilmosd válasza reechee88 hozzászólására (») Márc 31, 2012 /
 
A RS vonalat is kezelni kellene.
  1. ;                          LCD COMMANDS
  2. ;-------------------------------------------------------------------------------
  3. ;              LCD PINS
  4. ;   RS   R/W  DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0   Function  (Time)
  5. ;-------------------------------------------------------------------------------
  6. ;    0    0   0   0   0   0   0   0   0   1     Display clear        (1,6ms)
  7. ;    0    0   0   0   0   0   0   0   1   x     Display, cursor home (1,6ms)
  8. ;    0    0   0   0   0   0   0   1  I/D  S     Entry mode set       (40us)
  9. ;    0    0   0   0   0   0   1   D   C   B     Display ON/OFF       (40us)
  10. ;    0    0   0   0   0   1  S/C R/L  x   x     Display/Cursor shift (40us)
  11. ;    0    0   0   0   1   DL  N   x   x   x     Function set         (40us)
  12. ;    0    0   0   1   ------ CG ADDR ------     CG RAM address set   (40us)
  13. ;    0    0   1   ------- DD ADDR ---------     DD RAM address set   (40us)
  14. ;    1    0   --------- Write data --------     CG/DD RAM data write (40us)
  15. ;-------------------------------------------------------------------------------
  16. ;    0    1   BF  ----- Address counter ---     Busy flag/Addr cnt read (0)
  17. ;    1    1   ---------- Read data --------     CG/DD RAM data read  (40us)
  18. ;-------------------------------------------------------------------------------

Utasitas eseten "0" , adat eseten "1".
(#) reechee88 hozzászólása Márc 31, 2012 /
 
Egyrészt a PORTE-t lenullázom inicializáláskor, utána nem változtatom az RS-t, másrészt pedig már próbáltam, hogy külön kezelem az RS-t, de sajnos ugyanaz az eredményt. Köszi a választ!
(#) proli007 válasza reechee88 hozzászólására (») Márc 31, 2012 /
 
Hello!
Nem néztem át tüzetesen de már elől elakadtam..
"movlwb'00000011' ;8bit mode x1"
Ez nem a 8 bites mód, hanem a "Display, cursor home"
A nyolc bites mód, a "Function Set" parancsban van.
üdv! proli007
(#) reechee88 válasza proli007 hozzászólására (») Márc 31, 2012 /
 
Viszont ha megnézed, a PORTD portjai így vannak rákötve az lcd vezérlő portjaira ->

RD0 -> DB4
RD1 -> DB5
RD2 -> DB6
RD3 -> DB7

Szóval amikor én elküldöm a PORTD regiszterbe a b'00000011' értéket, az az LCD oldaláln így fog kinézni: b'00110000', ami pedig a 8 bites mód.
(#) _ampervadasz_ válasza Soós Antal hozzászólására (») Márc 31, 2012 /
 
Szia. Nem volt teljes az amit írtam.

Hidegítő kondenzátort kell rakni az LCD tápjára, és buszlezáró ellenállást az adatvonalakra, lehetőleg az LCD oldalra.

Kiegészítésképp szalagkábelt is használhatsz, aminek minden második vezetékét GND -re kötsz, így az áthallás is megszűnik.
(#) reechee88 hozzászólása Márc 31, 2012 /
 
Ha a 4 sorból csak az 1. és 3. világít, akkor lehet bekötési hiba? Vagy ez normális LCD-knél?
(#) _ampervadasz_ hozzászólása Márc 31, 2012 /
 
Szereztem 5 -6 darab Displaytech 32122A típusjelzést viselő GLCD -t

Az adatlap szerit ez egy 122x32 pixeles pontosabban 64x16x2 mert két vezérlő IC -t tartalmaz, csak az az jó kérdés milyet, és hol találni hozzá adatlapot amiből eltudom érni a CGROM ot (ha egyáltalán van), meg ahogy láttam grafikus módban is elérhető a kijelző, mert egy termosztátból operáltam ki és ott voltak különböző animált ikonok, tasnsbar ( hőmérséklet valósidejű kézi szabályozás folyamat jelzője) stb.

Kép: Hivatkozás

Előre is köszönöm a segítséget.
(#) proli007 válasza reechee88 hozzászólására (») Ápr 1, 2012 /
 
Hello! Bocs, igazad van.. üdv! proli007
(#) Soós Antal válasza proli007 hozzászólására (») Ápr 1, 2012 /
 
Kösz 220 µF van 100 nF van ill kábelt cserélem nem árnyékoltra vagy az árnyékolást földre rakom az LCD nél az egészet nem szeretném újra csinálni legközelebb ezekre már figyelek.

_ampervadasz_ szalag kábelos megoldása is belefér / minden második ér föld kb 40 cm hossz /
(#) Soós Antal válasza _ampervadasz_ hozzászólására (») Ápr 1, 2012 /
 
Kösz!
A buszlezáró ellenállás 1k ?

Az RS és E re nem kell?
(#) _ampervadasz_ válasza Soós Antal hozzászólására (») Ápr 2, 2012 /
 
Szia. Oda inkább 4,7OK ellenállást raknék, és igen az RS és E -re is.
(#) pontazok hozzászólása Ápr 5, 2012 /
 
Sziasztok.
Van egy 4x20 karakteres LCD kijelzőm de elég furán viselkedik.
CCS-ben programozok és ott a 4x20-as LCD drivert használom ami elvileg jó volna de mégsem...
Tehát az a probléma hogy:
1. A LCD-n van ugye a 4 sor. De a vezérlést máshogy veszi az LCD mint kéne.Ha az első sort címzem az oké.
Ha másodikat akkor a 3ik sorban kezd kiíratni. Ha a 3ik sort címzem akkor a 2ik sorban kezd írni.Plusz ha mondjuk az első sorban a 12ik karakter után is írok valamit, akkor az úgyanúgy megjelenik a második sorban.
Gondolom elég zavaros ahogy itt leírtam mindent. De akinek volt már ilyen problémája az biztos megérti.
Elviled HD44780 kompatibilis bár típust nem látok rajta.
(#) vilmosd válasza pontazok hozzászólására (») Ápr 5, 2012 /
 
Melyik drivert hasznalod? Tedd fel ide hadd lassuk.
(#) _vl_ válasza pontazok hozzászólására (») Ápr 5, 2012 /
 
Az én 4x20-as kijelzőm úgy néz ki, hogy az első és a harmadik sor 20-20 karaktere volt az első 40 byte, a második és a negyedik sor 20-20 karaktere pedig a második 40 byte. Azaz az első sor 0x00-nál kezdődik, a második sor 0x28-nál, a harmadik 0x14-nél, a negyedik pedig 0x3c-nél.

Hogy a te drivered mit és hogy csinál, azt a forrásában elolvashatod...
(#) _vl_ válasza _vl_ hozzászólására (») Ápr 6, 2012 /
 
Na, árnyalnám egy kicsit a képet, most, hogy foglalkoztam vele többet
Az első sor első pozíciója a 0x00, a második sor első pozíciója megcímezhető 0x28, ill. 0x40 címmel is (ez fura, de ez van), viszont a második sor második pozíciója már csak 0x41 címen érhető el. A harmadik sor az első folytatása (0x14-es címtől), a negyedik sor pedig a második folytatása (0x54-es címtől). Tehát 0x00..0x27 adja az első és a harmadik sort, a 0x40..0x67 meg a második és a negyedik sort.
Ha az ember sorban halad (mondjuk 0x00-tól), akkor az automatikus címnövelés miatt 1. sor, 3. sor, 2. sor, 4. sor sorrendben végig lehet őket írni egy menetben, a 3. sor végén a 0x27-ről 0x40-re lép a címregiszter.
(#) pontazok válasza _vl_ hozzászólására (») Ápr 10, 2012 /
 
Köszönöm a válaszokat. Akkor belenyúlok a driver-be.
(#) pontazok válasza vilmosd hozzászólására (») Ápr 10, 2012 /
 
A driverem a beépített CCS könyvtárában van LCD420.c.(Mellékeltem)

LCD420.C
    
(#) Programmer válasza pontazok hozzászólására (») Ápr 10, 2012 /
 
Üdv!
Ha jól értem, lcd_gotoxy függvényben van a sorok kezdő címe, próbáltad azokat felcserélni/megváltoztatni?
(#) vilmosd válasza pontazok hozzászólására (») Ápr 10, 2012 /
 
Meg kellene keresni a LCD adatlapjat, es onnan kimasolni a sorok cimeit. Nalad ugye a sorcimzes a kovetkezo:
  1. void lcd_gotoxy( BYTE x, BYTE y) {
  2.    BYTE address;
  3.  
  4.    switch(y) {
  5.      case 1 : address=0x80;break;
  6.      case 2 : address=0xc0;break;
  7.      case 3 : address=0x94;break;
  8.      case 4 : address=0xd4;break;
  9.    }
  10.    address+=x-1;
  11.    lcd_send_byte(0,address);
  12. }
Viszont a LCD cimeket mi nem tudhatjuk mert nem mondtad milyen tipusu a LCD. Peldaul egy tipus cimzese a kovetkezo:
Idézet:
„Addressing:
1st. line $00
2nd. line $20
3rd. line $40
4th. line $60”
De ugye ez a vezerlo tipusatol es a gyartotol is fugg. Egy masik cimzes:
Idézet:
„Addressing:
1st. line $00
2nd. line $40
3rd. line $14
4th. line $54”
Ez a Te programod cime. Probalkozni kell. Ja ajanlanam inkabb a Flexibilis Drivert. Szabadon konfiguralhato a labkiosztas, a Busy olvasas. Van minden tipusu LCD-hez.
(#) pontazok válasza Programmer hozzászólására (») Ápr 10, 2012 /
 
Még nem próbáltam változtatni a címeket de majd most nekilátok. Adatlapot nemtudom honnan szerezzek majd mert kaptam az lcd kijelzőt és semmi nincs ráírva.Így majd eljátszok vele
Köszönöm szépen a segítséget!!!
(#) pontazok válasza vilmosd hozzászólására (») Ápr 10, 2012 /
 
Na mégis találtam típust csak a szalagkábel takarta.
phico d-0 0529 94v-0
Meg a vezérlő ic-n van egy papír ragasztva amin ez áll:
PC2004LRU-DSC-H
(#) Programmer válasza pontazok hozzászólására (») Ápr 11, 2012 /
 
Nézegettem egy két adatlapot, de sehol nem találtam a vezérlő típusát. A parancsokat elnézve viszont teljesen HD44780 kompatibilis. Neten találsz rengeteg leírást erről a vezérlőről, valószínű megtalálod a címeket is!
(#) Programmer válasza (Felhasználó 15355) hozzászólására (») Ápr 11, 2012 /
 
A linkelt doksiban én nem találtam HD66712 ről semmit, biztos ez a chip van rajta? Egyébként ha tényleg ez van rajta kiváncsi lennék, hogyan találtad meg, a jövőben tudjak/tudjunk hatékonyabban keresni...
Következő: »»   29 / 72
Bejelentkezés

Belépés

Hirdetés
XDT.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