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
![]() ![]()
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
![]()
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? ![]() 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. ![]() Ü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
![]() ![]() Sikerült a kétsoros mód? ![]()
Nem mukodik sem 1 soros sem 2 soros modban...Ilyen nincs..
![]() ![]() ![]()
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 |