Fórum témák

» Több friss téma
Fórum » LCD probléma
 
Témaindító: Szergely, idő: Júl 6, 2006
Témakörök:
Lapozás: OK   10 / 16
(#) vilmosd válasza nl hozzászólására (») Júl 19, 2010 /
 
Hali
Mondjuk kimenete kene csinalni a RB-bol. Bemenetkent nem tudsz ra irni.
  1. #
  2. TRISB = 0;
  3. #
  4.   PORTB = 0xFF;
  5. #
  6.   TRISB = 0xff; //Na ez a sor ami bemenetet csinal a RB-bol

Udv Vili
(#) domike hozzászólása Júl 29, 2010 /
 
Sziasztok!

PIC16F876A 20Mhz-vel szeretnék vezérelni egy Displaytech 162B kijelzőt.
A kapcsolás, a program adott, (akkutöltő), úgy nézem a 4 bites inicializálással van a gond.
A bekötés rendben, kontraszt rendben, a PIC működik (vakon), a kijelzőn a felső sor teli négyzettel.
A kód vonatkozó része (mikropascal):

--
Fájlba kitettem.
Topi

kod.pas
    
(#) pipi válasza domike hozzászólására (») Júl 29, 2010 /
 
Hali!
az enable láb váltás között nagyobb időt kéne hagyni, pl. pár nop-ot. nézd meg az adatlapot mennyi idő kell.
a cls elé nem ártana késleltetés, kiirsz, és azonnal letörlöd? Meg a progi végére egy végtelen ciklust, mert különben valószinűleg újraindul...
(#) domike válasza pipi hozzászólására (») Júl 30, 2010 /
 
Szia,

A plusz időzítéseket megcsináltam, de nincs változás egyelőre.
A csatolt kód a programnak csak egy része, csak teszt céljából irat ki egy szóközt az init után, így lényegtelen a várakoztatás, de felesleges is az a rész. A végtelen ciklus rendben van a program többi részében.
A kód így néz ki most:
  1. procedure lcd4(a,b:byte);
  2. begin
  3.   PORTC.3:=b.0;
  4.   PORTC.4:=0;
  5.   PORTB.1:=a.4;
  6.   PORTB.2:=a.5;
  7.   PORTB.3:=a.6;
  8.   PORTB.4:=a.7;
  9.   PORTC.5:=1;
  10.   delay_us(2);
  11.   PORTC.5:=0;
  12.   delay_us(2);
  13.   PORTB.1:=a.0;
  14.   PORTB.2:=a.1;
  15.   PORTB.3:=a.2;
  16.   PORTB.4:=a.3;
  17.   PORTC.5:=1;
  18.   delay_us(2);
  19.   PORTC.5:=0;
  20.   delayms(5);
  21. end;
  22.  
  23. procedure cls;
  24. begin
  25.   lcd4(1,0);
  26.   delayms(5);
  27. end;
  28.  
  29. procedure lcd_df_config;
  30. begin
  31.   INTCON.GIE:=0;
  32.   delayms(200);
  33.   lcd4(0x30,0);
  34.   lcd4(0x30,0);
  35.   lcd4(0x30,0);
  36.   lcd4(0x20,0);
  37.   lcd4(0x20,0);
  38.   lcd4(0x28,0);
  39.   lcd4(0x0C,0);
  40.   cls;
  41.   lcd4(0x6,0);
  42.   delayms(250);
  43.   lcd4(0x80,0);
  44.   lcd4(32,1);
  45.   cls;      
  46.   INTCON.GIE:=1;
  47. end;
(#) domike válasza (») Júl 30, 2010 /
 
Bocsi a tegnapiért, rájöttem, hogy túl széles volt a kód, de már késő volt...
Most kiszedtem a kommenteket belőle, azért bátorkodtam beilleszteni.
És igen, ezentúl fájlba teszem.
(#) pipi válasza domike hozzászólására (») Júl 30, 2010 /
 
nem látom az adatirány regiszterek beállítását (tris), és az esetleges analóg/capture/compare lábak tiltását.
Nézted, a lábak mocorognak egyáltalán?
(#) domike válasza pipi hozzászólására (») Júl 30, 2010 /
 
A PIC működik, hiszen a gombokra reagál (hangjelzés kiséri), ha vakon sikerül elindítanom valamelyik töltés vagy kisütés funkciót akkor elindítja a venillátort, stb.
Bár tudásom és műszerezettségem nem mondható magas szintűnek, multiméterrel nézve a lábak mocorognak, az init lefutása után az RS láb beáll 5V-ra, a menüben mászkálva az adatvonalakon szintén mérhető aktivitás.
Az eredeti projektben WM-C1602M-7GLYc vagy APEX rc162051 yfhlyb kijelzőkkel dolgoznak, a program azokkal bizonyítottan működik, de a készítők szerint bármilyen HD44780 kijelző használható.
A projekt oldala:
Universal charger
Csatoltam a teljes programot.
Az általam használni kivánt Displaytech 162B kijelző KS0070b alapú, a netet túrva látom, hogy nem vagyok egyedül a 4 bites mód elinditásának nehézségével.
(#) szilva válasza domike hozzászólására (») Aug 3, 2010 /
 
Arra ugye figyeltél, hogy a Displaytech 162B lábai 1-től 16-ig számozódnak, de az 1-esen és a 2-esen a háttérvilágítás van, tehát a "hagyományos" HD44780-szerű lábkiosztás a 3-astól kezdődik?

Egyébként az itt lentebb beidézett lcd_df_config procedúrád nem jó, viszont az UNI_source.txt-ben lévőt alapvetően jónak látom.

Az UNI_source.txt-be én a következőket javítanám:
- az lcd_df_config elején lévő delay-t megnövelném akár fél másodpercre is (némely kijelzők elég lustán élednek)
- az lcd4 vége előtti időzítést 3ms-ra (ebbe minden belefér adatlap szerint is)
- lcd4-ben a PORTC.5 1-be és 0-ba állításai közé betennék pár NOP-ot (nem tudom, a Pascal forrás milyen kódra fordul, azt sem, hogy NOP-ot hogy kell benne odateni)
(#) domike válasza szilva hozzászólására (») Aug 3, 2010 /
 
A bekötés az tuti jó, de próbáltam másik kijelzővel is, sőt tegnap vettem egy EW162G0GLY-t is a chipcadnél, mert abban ks0066 van, de azzal sem megy.
Amiket írtál azokat kipróbáltam, az E 1-0 közé 2us-t tettem.
Az egyik kijelzőt összeraktam próbapanelen dip kapcsolókkal, és simán indul a 4 bites mód. Kezdem azt gondolni, hogy ez nem program hiba, de fogalmam sincs mi lehet még a baj. Ja, a pic-et is összeraktam próbapanelen a kapcsolásnak megfelelően úgy, hogy csak az lcd-t és a csipogót tettem rá, de ugyanazt produkálja, mint a beültetett panelben.
(#) szilva válasza domike hozzászólására (») Aug 3, 2010 /
 
Azokat a módosításokat megpróbáltad, amiket írtam? Kontrasztt megfelelő?
(#) domike válasza szilva hozzászólására (») Aug 3, 2010 /
 
Kipróbáltam, és a kontraszt megfelelő, az egy sor fekete négyzet megvan. Most épp azt nézem, (köszi, hogy a pic égetési probléma topicban is segítesz), hogy az eredeti hex-ben a config bitekben a "power up timer" on, az általam fordítottban pedig off. Lehet ez lesz a gond?
(#) vilmosd válasza domike hozzászólására (») Aug 5, 2010 /
 
Hali
Csinaltam egy kis programot ami kiir ket sort az LCD-re. Egesd be es probald ki. En nem probaltam ki, de ez a kezelo program nalam sok helyen mukodik, es biztosan jo. Ha ezzel nem megy akkor valami HW nyug lehet.
Udv Vili

lcdc.zip
    
(#) domike válasza vilmosd hozzászólására (») Aug 5, 2010 /
 
Siker!
Bár nem úgy, ahogy vártam... Mivel Vili programja sem hozott eredményt, sokadszorra átméregettem mindent, véletlenül rájöttem, hogy a nyákon az lcd-re menő E és RS vonalak között néhány K mérhető.

Eddig csak csipogóval nézegettem. Nagyítóval sem látszott se réz se gyanta, de kikapargattam, lemostam, és egyből indult...
Most már csak azt nem értem, hogy amikor összeraktam próbapanelen, akkor miért nem ment.
Nagyon köszönöm mindenkinek aki segített, bár nem akartam belemerülni mélyebben a pic-ek lelkivilágába és programozásába, de talán kedvet kaptam hozzá.

Legyen szép napotok!
(#) nem hozzászólása Nov 25, 2010 /
 
Sziasztok!

Egy EW162G0GLY LCD-t próbálok belőni PIC32-es mikrokontrollerre, 8bites pmp vezérléssel. A kódot egy microchip-es mintakódról másoltam, az időzítéseket átírtam a nekem megfelelő órajelhez, viszont az LCD nem akar 2 soros üzemmódba belépni. Ha egy sorosnak konfigurálom fel akkor tudok rá írni, villog a kurzor(a beállítás ezen része is megy), viszont ha kétsorosnak próbálom meg akkor egyik sor se működik.
Már mindent megpróbáltam (növeltem az időzítést, a beállítások szinte minden kombinációját végigjártam, teszteltem a lábakat), és nincs több ötletem. Ha valakinek lenne ötlete miért történhet ez meg örömmel venném ha megosztaná.

Előre is köszönöm.

nem
(#) Kisvé hozzászólása Jan 2, 2011 /
 
Helló!
Nincs vmi ötletetek arra, hogy miért lehet az, hogy az LCD kijelzőm csak minden második próbálkozásra indul el?
Azaz, előre nem jó, ha resetelem a PIC-et jó stb.
A nem jó azt jelenti, hogy két soros mód helyet egy sor lesz, és mindenféle furcsa karaktereket ír ki.
Ha így első ránézésre nincs ötlet, akkor elküldöm az LCD inicializálós programrészt.
Előre is köszi
(#) trudnai válasza Kisvé hozzászólására (») Jan 2, 2011 /
 
Idoziteseket vedd nagyobbra es az reset parancsokat vagy 3x kuldd el a szukseges ido intervallumok megadasaval...
(#) Kisvé válasza trudnai hozzászólására (») Jan 2, 2011 /
 
Sikerült. Köszi szépen. Nem gondoltam volna, hogy ilyen nehezen tér észhez az LCD.
(#) nagym6 hozzászólása Jan 16, 2011 /
 
Grafikus lcd-nél ugyanez a problémám, csak sok sorhiba van. Az összekötő vezető-fólia ragasztása a vezérlőpanelre nem jó, nyomkodás sem segít. Lehet-e cserélni valahogy ezt a fóliát, tehát levenni, és másikat felragasztani.
(#) csmm hozzászólása Feb 1, 2011 /
 
Sziasztok,

Van egy szobai termosztátba épített lcd-s hőmérő. A panel működik, kapcsolgatja a relét, de a kijelzőn nem látszik a hőmérséklet. Amikor áramot kap, akkor beindul, és jól működik, de kb. fél percen belül elhalványodik és teljesen eltűnik. Kell neki 5-6 perc pihenés, és megint látszik fél percig. Meg szeretném úszni az új digitális termosztát vásárlását. Nem tűnik túl bonyolult szerkezetnek. Sajna teljesen kezdő vagyok a témában, bár forrasztóm van, de nem sokat értek a dologhoz. A lelkesedésem nagy...Tud nekem valaki segíteni, hogy hol kezdjem a javítást?

Előre is köszi.
(#) Suncorgo hozzászólása Márc 19, 2011 /
 
Sziasztok!

Most jutottam odáig hogy az LCD-met felélesztem. Egyszerűen nem bírok belőle ékezetes betűt kiszedni.

Van egy gyári adatlapom karaktertáblával és valamelyik karakter nem is stimmel azzal amit kiír és ami a karaktertáblába van. Pl.: é betű helyett egy szóközt rak. Találkozott már valaki ilyennel? Az LCD pontos neve: RC1602B2-BIW-CSX

Az a poén hogy a RAYSTAR honlapján sincs 1602B2 típus csak B1. Fake lenne a kijelző? A TME-ről van.
(#) Suncorgo válasza Suncorgo hozzászólására (») Márc 19, 2011 /
 
Itt az adatlap. A terméknél lehet letölteni a PDF-et is hozzá onnan van. Ebben benne vannak az ékezetes betűk a táblázatban.

Közbe kipróbáltam 5x11be rakni a méretet de úgy sem jó. Egysoros módnál a 2. sorba nyúlik a karakter alja de úgy sem írja ki az é betűt.

Azt hittem majd így betűméret váltással megoldódik a hiba. Az ötletet innen vettem: Bővebben: Link

Itt mutatják hogy az 5x10es méretbe benne vannak az ékezetes betűk is.
(#) lajos1969 válasza vilmosd hozzászólására (») Ápr 25, 2011 /
 
Sziasztok!
A nagy tesztelés alatt a kijelzőm elkezdett vacakolni mi lehet a probléma?/pedig vadi új/

SDC15171.jpg
    
(#) sermonis hozzászólása Aug 17, 2011 /
 
Sziasztok!

A segítségeteket szeretném kérni!
Atmega88 és 2x16 karakteres LCD kijelzőről van szó. A linken található a forráskód.
A problémám mindössze annyi, hogy az "x" változót globálisan hozom létre, akkor a kijelzőre 29285 ír ki.
Akkor is ezt írja ki, ha..
- volatile -vel hozom létre
- x=0; main-ben, létrehozáskor, vagy bárhol máshol
- létrehozok egy lokális változót és átadom globális > lokális
Sajnos elakadtam.
Ha valaki tud, nagyon megköszönöm, ha tudna segíteni!

Köszönöm, sermonis.

http://ghmicro.com/index.php?option=com_content&view=article&id=25:...emid=4
(#) pipi válasza sermonis hozzászólására (») Aug 17, 2011 /
 
akkor azt a forrást kéne belinkelni...
gondolom a weboldalon lévő jó....
(#) sermonis válasza pipi hozzászólására (») Aug 17, 2011 /
 
Köszönöm, közbe megoldódott a problémám.
(#) pipi válasza sermonis hozzászólására (») Aug 17, 2011 /
 
a megoldást is közzéteheted
(#) sary hozzászólása Okt 27, 2011 /
 
Hali!

A problémám az lenne hogy van egy JHD162A 2x16 karakteres LCD-m!A probléma az hogy a második sort sehogyan sem akarja megjeleniteni,az első sorra simán kiir,de a második nem működik!Az asm program tuti jó,be van állitva a kétsoros megjelenités!Esetleg rossz lehet az lcd?vagyazt egyálltalán hogy tudom letesztelni?Valaki segítsen lécci!Előre is kösz!
(#) dinokal válasza sary hozzászólására (») Okt 27, 2011 /
 
Szia! A progid nem biztos hogy jó , látatlanban nem lehet tudni. Hiba lehet még, hogy a két sort nem egyben, folyamatosan kell kiírni, a második sornak a kezdőcíme kissé arrébb van, mint az első sor utolsó karakterének a címe.
(#) mambonr5 hozzászólása Okt 29, 2011 /
 
Sziasztok még új vagyok itt. És máris egy komoly kéréssel fordulnék hozzátok. Van egy feladatom amit sürgősen meg kellene csinálnom de nem nagyon megy A feladat a következő lenne: adot egy atmega 128as mikroprocesszor egy 4*40 karakteres lcd kijelző (pqc4004aw-syl-2) és WinAvr (programmers notepad) nevű programmal kellene életet lehelni bele.. egyszerűbb programokat már tudok kezelni a mikroprocin de a hozzá csatlakoztatott lcd-t nem nagyon sikerül feléleszteni... ha valaki tudna egy egyszerű progit amivel kiiratni tudnék az szuper lenne.. Úgy konkrétan a legelejétől.. Előre is köszönöm a segítséget.
(#) vzoole válasza mambonr5 hozzászólására (») Okt 29, 2011 /
 
Következő: »»   10 / 16
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