Fórum témák
» Több friss téma |
Sziasztok!
A problémám a következő: Rendeltem a ChipCADtől egy EW162G0YMY típusú 16x2 kijelzőt, de nemigazán akar működni. Úgy tűnik, hogy az inicializálásig eljut, de nem ír ki semmit. Kapcsolás: Pic16f628a - belső 4MHz-es osc, RB4-RB7: D4-D7-re kötve, RS:RB1, EN:RB3. RW:GND-n. Ennyit kéne kiírnia: Hello! Szimulátoron megy. Valóságban nem. Mi lehet a probléma? Hex, asm mellékelve Üdv all
A kontrasztot tedd maximumra ! Az első LCD engem is megtréfált
(picit belenyúltam a végébe: Idézet: ) „Norberto”
Felcsavarom kakaóra, de a szöveg sehol.
Kicsit pontosítok: -ha vezérlés nélkül kapcsolom be az áramkört (kiveszem a picet) akkor az első sor összes pixele izzik. -ha "rendesen" kapcsolom be, akkor mind a két sor üres, (ha ráadom a max kontrasztot, lehet látni a sorokat, de nem olyan sötéten) Az nem lehet gond hogy 50K-s potival hangolom a kontrasztot?
Milyen ASM fájl ez? Az a gyanúm, hogy HEX-ből visszafejtett Így kicsit nehézkes vele dógozni
Holnap délután előtt már nem tudok vele foglakozni. Majd leszimulálom én is. Ha szimulációban megy akkor élőben is muszály lesz neki.
Idézet: Miért nem írod, hogy holnap délelőtt? „Holnap délután előtt” Idézet: muszáj!„muszály” Bocs, nem kötekedek, csak megütötte a fülemet.
Hát még ha a szemedet szúrta volna :vigyor3:
Ha véletlen a programmal lenne gond, akkor itt van egy link ahonnan én megtanultam annó PIC-en LCD-t kezelni
[link=http://www.electronic-engineering.ch/microchip/index.html]http://www.electronic-engineering.ch/microchip/index.html[/link] Valahol a projectek között kel keresgélni, LCD test programs
Ha a kontraszttal lenne a gond akkor kösd simán a GND(Vss)-re, akkor max lesz a kontraszt, nekem működik!
Oshonsoft bácsi féle Picsimulator IDE Basic fejlesztője által generált ASM. Vannak benne LCD kezelő parancsok.(www.oshonsoft.com-ról)
Egyébként rákötöttem egy vadiúj ugyanolyan kijelzőre - ugyanaz történt. Rákötöttem egy régebbi egysorosra, ott is hasonló eredmény. Lehet, hogy "kicsit" megbízhatatlan a fejlesztő?
Nem hiszem. Sokmindent még nem tud kezelni a program, de amit megírt a fejlesztő az megbízható. Az LCD modul meg már 3 éve benne van a programjában. Kizárt hogy hibás.
Este felé már többet tudok mondani. Megépítem én is hardveresen.
Pont ilyen LCD-ből van nekem itthon 3db. Hát akkor nekilátok egy próbapanelen.
Hát a szimulációban helyesen müködik az már tuti.
Egy biztos a programban a Config biztik nincsenek beállítva. LVP ? IntRC io ?
Nekem sem müködik. Gyanítom a késleltetési idő kevés. Most saját programmal próbálkozom.
Na minden OK!!! Mellékelek egy programot. Ezt próbáld ki. A kontrasztot egy (3láb) kösd egy 100ohmos ellenálláson testre. És RW -> RB2-re. A hardver többi része úgyanaz. Ha leírod hogy mit ír ki az LCD akkor a basic programot is mellékelem.
Én nem néztem a linkelt progit, de az alábbi lehet segít.
Én is sokat szenvedtem az elő LCDvel, és az inicializálásnál volt a probléma, ki kell várni bizonyos időt, hogy a modul tényleg átkerüljön a megfelelő állapotba, pl 4bites adatátvitel. Valamint mire rájöttem, hogy az LCD nem használt lábait nem szabad a levegőben lógva hagyni! logikai 'L'szintre kell tenni őket, külömben a levegőben lógva prelleznek és valójában nem azt az adatot kapja a modul amit te szeretnél! Persze ez a IDCben szimulációs körülmények között nem derül majd ki Tanácsolnám a gyári adatlapok (elég 1ilyen is) elolvasását, ahol korrekten és érthetően le vagyon írva.
Szerintem látatlanban is ebbe a hibába estél, azaz 4bites adatátvitelt használsz viszont az LCDmodul többi adatlába a levegőben lógva prellezik (lebeg L-H-L szinteken statikusan).
Igen azt elfelejtettem hogy a nemhasznált lábakat én is testre kötöttem, de nem az volt igazán a gond hanem a mellékelt program amit feltett egy szimulációra felkészített progi. Amit mellékeltem programot abban már beállítottam a helyes inicializálási időt.
Sziasztok!
Nekem is lenne egy kis LCD problemam: 1X16 karakteres kijelzore sehogy sem tudok 8 karakternel tobbet kiirni. Az init igy nez ki:
Nos ez C -ben van!... Elmeleti segitsegre,otletekre lenne szuksegem. Koszonom!
Ez szerintem segít...
Állítsd be pl a "1-line" módot.
Koszi a gyors valaszt!
Elfelejtettem irni hogy 4 bites modban hasznalom,de a forrasban levo megjegyzesekbol latszik is.Az adatlapot 6000000000x atneztem,sot sok mas forrast is,..4 bites modban 2 soros modban kell hogy legyen,ugy tudom..igy is van..
Ha már C-ben programozol, miért nem használod az lcd_putc() függvényt?
Pl így:
Koszi!
De, milyen libet hasznal ez?Mert en avrlibc -t hasznalok,abban nincs lcd kezeles alapbol.Volt egy kesz LCD driver forras,de az meg ugy sem mukodott mint amit en irtam.. Asszem megiscsak 1 line modban volt,most atirtam 2 line modra,mindjart kiporobalom..
Bocs, de nem teljesen világos valami.
A témakörnél is PIC szerepel, tudom nem te kreáltad a témát. Nem említetted egy szóval sem, hogy AVR-t programozol. Én végig PIC-ben gondolkoztam, meg a PIC C Compiler-ban. AVR-ekhez (még) nem értek. Tanácsot se tudok adni a lib-ekkel kapcsolatban. Bocs. Üdv. p.m. de azért remélem összejön
Ok!
Bocsi,hogy nem emlitettem,ugyanis nem lattam ertelmet,mert itt LCD vezerles problema volt,es nem AVR programozas problema. Azert kosz! Udv!
Semmi gáz, ha új témát nyitottál volna érte , na... Az gáz lenne.
Sikerült a kétsoros mód?
Nem mukodik sem 1 soros sem 2 soros modban...Ilyen nincs.. :no:
Hello, ne feled, hogy az 1*16-os LCD úgy nézz ki, hogy 2*8 karakter, a második felét csak úgy érheted el, hogy eltolod a poziciót ! Próbáld meg kiadni a 0x80-as parancsot, ez elvileg az első pozició, ha jól emlékszem, na mármost, ha hozzá adsz aszem 0x40-et akkor kerül a második sorba (két sorosba inicializáld és add ki a 0xC0 parancsot, majd írkálj rá, szerintem ez már a 9. karaktertől fog kezdődni. Üdv.
|
Bejelentkezés
Hirdetés |