Stránka 1 z 1

Ovládání LCD

Napsal: 05 čer 2010, 17:09
od kajus
Snažím se rozchodit ovládání znakového lcd s řadičem HD44780. LCD jsem zkoušel, jede. Napsal jsem program, kterej by měl inicializovat LCD (4bitová sběrnice) a psát pořád dokola P, inicializace asi proběhne, protože jsou zobrazeny oba dva řádky, ale nic se už nevypíše. Chybu hledám už dva dny, ale na nic jsem nepřišel. V čem to může být?

Napsal: 05 čer 2010, 17:43
od relatko
Nazdar.
Po inicializácii displeja ho musíš zresetovať,a poslať príkaz z pozíciou znaku.Až potom samotný znak.
Relatko.

Napsal: 05 čer 2010, 18:46
od kajus
Ten restart je už v inicializaci, někde ke koncu odešle 00001000 (displej on/off) a hned potom 00000001, což je smazání displeje a kurzor nastaví na základní pozici

Napsal: 05 čer 2010, 20:52
od procesor
Mne tam chýba správna inicializácia portuB
TRISB, je v inom banku ako PORTB. :wink:

Ibaže to tvoj prekladač "umí auromaticky", ale pochybujem.

Napsal: 05 čer 2010, 21:55
od Davidus
zkus dát hledat inicializace displaye někde jsem to tu řešil
edit : http://www.ebastlirna.cz/modules.php?na ... e+displaye mužeš se inspirovat

Napsal: 06 čer 2010, 13:08
od DRAKE
Po inicializaci ten display teke musis pustit do stavu ON. Na to je specialni instrukce.

Napsal: 06 čer 2010, 13:08
od kajus
Už jsem na to přišel, inicializaci jsem napsal podle knihy pana Hrbáčka Komunikace mikrokontroléru s okolím 1., má tam chybu, displej vypne, ale už nezapne. Dík za ten odkaz, byl tam zdroják, ve kerým to bylo správně.

Napsal: 06 čer 2010, 16:43
od kajus
Ještě jeden problém: znaky totálně nesedí, např místo T se vytiskne U, ale pokud použiju soft odtud, vše jede jak má.
Znaky jsem zkoušel vypisovat jak binárně (movlw b'01010100') tak přímo (movlw 'T'), ale pokaždé to vypíše U, hledal jsem chybu, ale nemůžu najít, kde bych se lišil od programu ze stránek dovedy.

Napsal: 06 čer 2010, 19:38
od Atlan
;.........................
SWAPF DAT,1 ;OTOCI DATA
BSF E

pred zapisom musis vynulovat zasa port b tymto
CALL ZAPDCL ;NULUJE DATOVOU LINKU

CALL ZAPIS1 ;ODESLE DOLNI 4 BITY
BCF E ;A POTVRDI
;.......................

Napsal: 07 čer 2010, 08:51
od KarelJ
ahoj taky jsem bojoval s rozchozenim displeje na mcu msp430f2013. psal jsem to v Ccku. zezacatku jsem rozblikal kurzor ale znaky se zobrazovaly spatny jako tobe. problem byl v kratkem delay mezi jednotlivymi kroky. v inicializaci a pri posilani. delay nesmi byt kratsi nez pozadovany, delsi nevadi (dokonce snad ani 4nasobne delsi, vic jsem nezkousel).
jinak zapis se provede sestupnou hranou na E co se mezi tim deje na portu je fuk.

btw: program jsem psal podle datashitu k radici. a tvoje inicializace se mi zda jina. ale asm neumim vubec, tak treba placam kraviny. :lol:

Napsal: 07 čer 2010, 09:55
od relatko
Zdravím.
Používam tieto rutiny a zatiať ma nikdy nesklamali.
Relatko.

Napsal: 07 čer 2010, 13:59
od kajus
pred zapisom musis vynulovat zasa port b tymto
Dík moc, toho jsem si nevšimnul, už to jede jak má
Zdravím.
Používam tieto rutiny a zatiať ma nikdy nesklamali.
Relatko.
dík, ale radši si vše napíšu sám, lepší je, když chápu, jak to funguje.