 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
kavelj22 Član


Pridružen-a: Tor 23 Jan 2007 23:56 Prispevkov: 465 Aktiv.: 2.08 Kraj: Ljubljana
|
Objavljeno: Pon Apr 16, 2007 6:33 pm Naslov sporočila: |
|
|
Da, v LCD_init sem dal bcf RW, ce je tako vredu?
_________________ Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim. |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Pon Apr 16, 2007 7:01 pm Naslov sporočila: |
|
|
kavelj22 je napisal/a: |
Da, v LCD_init sem dal bcf RW, ce je tako vredu? |
Tole ne pove nič. Pa je pin definiran kot digitalni izhod?
Ne vem sicer zakaj si ga "tiščal" na mikrokontroler? Boš z displeja tudi čital?
Še enkrat, za vpis na displej mora biti RW pin na nizkem stanju. "Plavajoč v zraku" LCD ne bo deloval. Daj pin direk na minus.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
kavelj22 Član


Pridružen-a: Tor 23 Jan 2007 23:56 Prispevkov: 465 Aktiv.: 2.08 Kraj: Ljubljana
|
Objavljeno: Pon Apr 16, 2007 7:13 pm Naslov sporočila: |
|
|
Jaz v bistvu RW ne potrebujem ker nebom bral iz LCD-ja in sem ga tudi odklopil, in zbrisal iz inicializacije!
Drugace imam vse pine PORTD definirane kot dig. izhode, ce jest prav razumem kaj bi naj to pomenilo. Se pravi clrf TRISD, clrf PORTD!!!
Sedaj sem dal RW direkt na minus! Tudi sedaj nobene spremembe!
lp
_________________ Živleje ni potica, življeje je črn kruh. Bul ga šparaš bul je suh. Zato pa kr na mizo žjim. |
|
Nazaj na vrh |
|
 |
dast Član

Pridružen-a: Tor 09 Jan 2007 19:14 Prispevkov: 21 Aktiv.: 0.09 Kraj: Slov. Konjice
|
Objavljeno: Pon Apr 16, 2007 8:14 pm Naslov sporočila: |
|
|
Sokrat je napisal:
Citiram: |
Dast, nisi napisal kaksen kvarc uporabljas; 27 pF je s tipicnim oscilatorjem v MCuju recimo primerno za 8-10 MHz ali tam nekje, za visje frekvence (npr. 20 ali 24 MHz) pa bi bilo boljse uporabiti manjse (15 pF in vecje). Oscilator bodo sicer potegnili samo malo navzdol, a bo bolj obremenjen in bo prej zacel delati nepricakovane stvari ... (odstopanje od nazivne frekvence mocno izven specificiranih meja) |
Ja, seveda... Uporabljam kristal 4MHz, in v CONFIG nastavitvah imam navedeno XT. Nekje sem prebral da je potrebno kristal dati čim bližje k PIC, tako da sem to tudi naredil. Sem pa še enkrat preveril datasheet od 16F877A, kjer je navedeno da je potrebno uporabiti 15p kondenzatorja, zato sem jih zamenjal. Še vedno nič! Ne vem, zakaj naenkrat ne deluje več!
Za napajanje PIC-a uporabljam 78L05 regulator, s katerim hkrati napajam tudi LCD.
Reset PIC-a je izveden s tipko preko 10k pullup upora.
Silvo je napisal
Citiram: |
Citiram: |
Citiram:
....da sem vmes vrinil še ukaz Clear Display. |
Ne vem na pamet - poglej v datashet a mislim, da je pavza 1.7mS po brisanju displeja prekratka. Če brisanje še poteka, bo zletela sledeča instrukcija v prazno. |
Sem še enkrat preveril datasheet KS0070B driverja in piše da je potrebna pavza 1.53mS!
_________________ LP David |
|
Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.24 Kraj: Ig
|
Objavljeno: Pon Apr 16, 2007 9:02 pm Naslov sporočila: |
|
|
Par postov nazaj sem prebral, da si dal Vo ali kontrast direkt na maso. Morebiten razlog, da ti displej ne dela je ta, da imaš premočen kontrast in ne vidiš posameznih črk, ampak imaš zaradi prevelikega kontrasta prižgane vse segmente. Potrudi se in naredi tako, kot ti je bilo rečeno. Trimer 10k ali 5k ali karkoli veži med maso in +5V, sredinski odcep pa daj na 3 pin displeja. Potem, ko zaženeš tvoj testni program, obračaj trimer iz ene skrajnosti v drugo.
LP Gorazd
_________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 16.01
|
Objavljeno: Pon Apr 16, 2007 11:27 pm Naslov sporočila: |
|
|
Citiram: |
dast je napisal/a: |
Ne vem na pamet - poglej v datashet a mislim, da je pavza 1.7mS po brisanju displeja prekratka. Če brisanje še poteka, bo zletela sledeča instrukcija v prazno. |
Sem še enkrat preveril datasheet KS0070B driverja in piše da je potrebna pavza 1.53mS! |
Ne iti v skrajnosti. Če že brišeš zaslon, si vzemi čas 5 ali 10ms. Saj Ne boš opazil na oko. Če inicializacija traja pol sekunde, tudi ne bo nič hudega. Ko bo delalo, boš pa pavze iz Milisekund pretvoril nazaj v mikrosekunde.
Morda bi dal namesto LCDja na iste pine ledice s predupori. Če kolikor toliko utripajo, LCD dobiva podatke, sicer pa jih ne.
LP,
Igor
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
dast Član

Pridružen-a: Tor 09 Jan 2007 19:14 Prispevkov: 21 Aktiv.: 0.09 Kraj: Slov. Konjice
|
Objavljeno: Tor Apr 17, 2007 8:11 am Naslov sporočila: |
|
|
RGorazd je napisal/a: |
Par postov nazaj sem prebral, da si dal Vo ali kontrast direkt na maso. Morebiten razlog, da ti displej ne dela je ta, da imaš premočen kontrast in ne vidiš posameznih črk, ampak imaš zaradi prevelikega kontrasta prižgane vse segmente. Potrudi se in naredi tako, kot ti je bilo rečeno. Trimer 10k ali 5k ali karkoli veži med maso in +5V, sredinski odcep pa daj na 3 pin displeja. Potem, ko zaženeš tvoj testni program, obračaj trimer iz ene skrajnosti v drugo.
LP Gorazd |
Tudi to sem naredil z 5k trimer-jem! Samo to nima nobene zveze s tem da na lcd-ju deluje samo prva vrstica.
Sem pa z multimetrom med delovanjem PIC-a testiral pine lcd-ja in mi ni jasno zakaj sta pina RS in RW na potencialu 5V!? Enako stanje ostane ko jih odklopim od pica. Sem pa jih dal tudi na minus, ker pri inicializaciji nista pomembna a stanje ostaja isto. Enak pojav dobim tudi na pinu RB7, ki ima na začetku inicializacije nek čuden potencial 3.45V.
A je mogoče lcd šel RAKOM ŽVIŽGAT?
_________________ LP David |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Tor Apr 17, 2007 9:39 am Naslov sporočila: |
|
|
dast je napisal/a: |
Enak pojav dobim tudi na pinu RB7, ki ima na začetku inicializacije nek čuden potencial 3.45V.
A je mogoče lcd šel RAKOM ŽVIŽGAT? |
Multimeter ne kaze trenutne napetosti, temvec povprecno napetost za dolocen casovni interval. Ce je signal nekaj casa 0 V, nekaj casa pa 5V, potem je povsem mozno, da bo povprecje 3.45V.
Doloceni pini imajo 5V najbrz zato, ker je na njih obesen pull-up ali pa zato, ker je razmerje 0V/5V nivoja mocno v prid slednjega (pisal si nekaj o mikrosekundah ...).
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Apr 17, 2007 2:45 pm Naslov sporočila: |
|
|
Da ne bomo odkrivali tople vode- pripni celoten program. Če moj jutri utegnil bom zadevo poskusil, da vidimo, če je problem v programu.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
dast Član

Pridružen-a: Tor 09 Jan 2007 19:14 Prispevkov: 21 Aktiv.: 0.09 Kraj: Slov. Konjice
|
Objavljeno: Tor Apr 17, 2007 10:52 pm Naslov sporočila: |
|
|
Silvo je napisal/a: |
Da ne bomo odkrivali tople vode- pripni celoten program. Če moj jutri utegnil bom zadevo poskusil, da vidimo, če je problem v programu. |
Naj še omenim, da uporabljam Microchip-ov AN589 programator ki omogoča ICSP programiranje preko LPT porta. Ker imam čip na protoboard-u sem ga pri vsakem programiranju ločil od ostalega vezja!
Hvala!
Opis: |
|
 Download |
Ime datoteke: |
LCD-CMC216.txt |
Velikost datoteke: |
7.64 KB |
Downloadano: |
24 krat |
_________________ LP David |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Apr 17, 2007 11:14 pm Naslov sporočila: |
|
|
Na hitro sem preletel čez program. Najprej izključi analogne vhode portaa. (pobiriši ustrezne bite registra ADCON1) Po resetu so namreč visi pini analogni vhodi.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 16.01
|
Objavljeno: Tor Apr 17, 2007 11:54 pm Naslov sporočila: |
|
|
To je pa že lepše videti.
Jaz sem z istim programom iz tiste knjige inicializiral prvi LCD.
Delalo je šele, ko sem vrstici:
POVSOD (ampak Res Povsod) NADOMESTIL z zaporedjem:
Koda: |
bsf E
nop
nop
nop
bcf E
nop |
.
Nekateri LCDji namreč potrebujejo dalj časa aktiven signal "E".
Pa za 42us sem ti že napisal, da se LCD inicializira samo enkrat, zato si takrat vzemi čas in tisto .14 spremeni v .200 .
LP,
Igor
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Apr 18, 2007 1:03 pm Naslov sporočila: |
|
|
V prilogi imaš tvoj program popravljen do take mere, da pravilno inicializira displej. Dopisal sem tudi par vrstic, tako da se na displjej izpiše "Maxi". Tvojih rutin za pisanje na displej nisem analiziral - mi je že analiza timing rutin vzela dosti časa. Kaj ni bilo dobro poglej sam. (med drugim sem v konfiguracijskem stavku izključil LVP)
Najprej pa v mikrokontroler naloži HEX ter poskusi tvoj hardwer. Če je vse ok, se mora na displej izpisati "Maxi"
Opis: |
|
 Download |
Ime datoteke: |
lcdtest.zip |
Velikost datoteke: |
2.87 KB |
Downloadano: |
20 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
snow Član


Pridružen-a: Tor 27 Dec 2005 14:02 Prispevkov: 341 Aktiv.: 1.44 Kraj: Ljubljana || Velenje
|
Objavljeno: Sre Apr 18, 2007 6:55 pm Naslov sporočila: |
|
|
Jaz sem enkrat izgubljal živce, ko sem usposobljal LCD DEM16102 v 4 bitnem načinu, ki ima LSI KS0066 kontroler.
Problem je bil v inicializaciji, za katero je v datasheetu pisalo da je treba narediti nekako takole:
0 0 1 1
0 0 1 1
N F X X
pavza 39+ us
0 0 0 0
1 D C B
pavza 39+ us
...
...
pavza 39+ us
Skratka, vedno naj bi bilo poslanih 8 bitov (2x po 4), razen prvič. LCD se je včasih prižgal na pol, včasih cel, včasih bil cel črn... preveril vse povezave, menjal par LCDjev, se igral s timingi itd. Pa sem izbrisal eno od prvih dveh vrstic v inicializaciji in LCD se je vedno prižgal in deloval tako kot mora.
Sem se spomnil na ta moj primer, ko sem bral tole temo, pa bo mogoče komu kdaj koristilo.
Še povezava, do mojih LCDjev stran 13):http://www.sos.sk/a_info/resource/d/dem/dem16102syh-ly.pdf
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.94 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Apr 18, 2007 9:11 pm Naslov sporočila: |
|
|
Sam sem delal s kar precej različnimi tipi displejev. Vedno sem se držal "pravil", ki veljajo za LCD kontroler hd44780. Običajno ni bilo težav. Trenutni program sem testiral na LCD-ju z oznako CMC216-01. Ta se obnaša enakovredno vsem LCD-djem s katerimi sem delal do sedaj. Datasheta za tega iz naslova pa nisem našel. Da nima slučajo kako negativno napajanje za kontrast?
Opis: |
|
Velikost datoteke: |
419.52 KB |
Pogledana: |
3 krat |

|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|