Ovládání LCD

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
kajus
Příspěvky: 91
Registrován: 27 úno 2009, 01:00

Ovládání LCD

#1 Příspěvek 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?
Přílohy
lcd.asm
program v assemberu
(5.25 KiB) Staženo 136 x

Uživatelský avatar
relatko
Příspěvky: 85
Registrován: 08 úno 2009, 01:00

#2 Příspěvek od relatko »

Nazdar.
Po inicializácii displeja ho musíš zresetovať,a poslať príkaz z pozíciou znaku.Až potom samotný znak.
Relatko.

kajus
Příspěvky: 91
Registrován: 27 úno 2009, 01:00

#3 Příspěvek 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

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#4 Příspěvek 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.

Uživatelský avatar
Davidus
Zablokován
Zablokován
Příspěvky: 2439
Registrován: 01 čer 2005, 02:00

#5 Příspěvek 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

Uživatelský avatar
DRAKE
Příspěvky: 276
Registrován: 05 zář 2005, 02:00

#6 Příspěvek od DRAKE »

Po inicializaci ten display teke musis pustit do stavu ON. Na to je specialni instrukce.
Ježíš na kříži zaplatil za naše hříchy a tím nás osvobodil od věčné smrti. Platí i pro bastliře :-).

kajus
Příspěvky: 91
Registrován: 27 úno 2009, 01:00

#7 Příspěvek 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ě.

kajus
Příspěvky: 91
Registrován: 27 úno 2009, 01:00

#8 Příspěvek 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.
Přílohy
LCD.asm
(4.78 KiB) Staženo 123 x

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#9 Příspěvek 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
;.......................

Uživatelský avatar
KarelJ
Příspěvky: 7
Registrován: 23 črc 2009, 02:00

#10 Příspěvek 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:

Uživatelský avatar
relatko
Příspěvky: 85
Registrován: 08 úno 2009, 01:00

#11 Příspěvek od relatko »

Zdravím.
Používam tieto rutiny a zatiať ma nikdy nesklamali.
Relatko.
Přílohy
LCD-Sprut.de.rar
(709 bajtů) Staženo 95 x

kajus
Příspěvky: 91
Registrován: 27 úno 2009, 01:00

#12 Příspěvek 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.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“