Zprovoznění maticového LCD displeje 16x2 s řadičem S6A0069

Dobrý den,

Pokouším se zprovoznit tento LCD displej:

gme.cz/cz/index.php?product=513-109

Displej jsem zapojil podle schématu na stránce:

doveda.byl.cz/lcd/

Do PIC 16f84 jsem nahrál testovací soubor z výše uvedené stránky, ale po připojení displeje se na nem nic nezobrazí :frowning:.

Dekuji za radu, pripadne ma li nekdo jiny testovaci program v asembleru ci cecku, byl bych mu moc vdečný.

:arrow_right: administrator: přejmenováno z “Nefunkční LCD displej”

:arrow_right: administrator: přiloženy externí soubory
lcd4_sch.gif

To, že se na LCD nic nezobrazí, může být špatně nastaven kontrast. Chtělo by to více informací.

Cau, jak rikal Petr nastav si nejdriv kontrast, pripoj LCD na napajeni a nastav si kontrast, mel by ti svitit celej 1 radek ale ne aby byl uplne celej cernej, musi bejt videt jednotlivy pixeli, pak si zapoj nakou LED na PORTA,4 aby si videl ze ti bezi nebo tam zapoj to podsviceni (osobne bych tam dal led, da se pouzit na testovani kam az program projede) , achtelo by to naky zapojeni

EDIT: program je urcenej pro radic HD44780, tento LCD ma S6A0069, nemuze to byt tim ?(ale nejspis je to to samy)

ty řadiče stejné nejsou.
Zkoušel jsem rutinní vývojový diagram z datasheetu HD44780 pro řadič S6A0069 a pohořel jsem. A podle mě mají v tom datasheetu S6A0069 chybu, protože když jsem si už fakt nevěděl rady, tak jsem z datasheetu S6A0069 ten vývoják modifikoval tím, že jsem vynechal jednu řádku a ejhle lcd začalo pracovat jak mělo.
Nemá cenu něco programovat dokud nezjistíš, zda se ti mění kontrast když měníš napětí na pinu V0.

Dekuji za rady, ale stale mi to nepremava :frowning: . Pripojil jsem k LCD pouze zem na pin 1, +5V na pin 2 a na pin 3 napeti z delice (cca 3V) a nic se na displeji nezobrazilo ( zadna tmava prvni radka ). Zkusil jsem dat napeti pro kontrast primo na 5V a take nic. Jeste jsou na displeji dva piny na vic, nevim na co jsou, pak az nasleduje oznaceni pinu 1-14.

Asi dojdu koupit jinej displej, abych zjistil jestli je chyba v displeji nebo mezi zidli a plosnakem :confused:

Vo=VSS = 100% kontrast, typicky je 0,8V, skus to obracene pripoj to na VSS :wink:

Pin 15 a 16 se používá na podsvětlení LCD, pokud ho má.

Blba otazka nema byt naatie pre kontrast zaporne ako na inych displejoch…ak displej neobsahuje menic tak pouzit 7660.

tak ze nič… nema.

Je to možná, ale na podsvětlení jsou tam jeste dva piny samostatne - osvetleni mi jde.

:arrow_right: administrator: příspěvek byl upraven
Upravena násobná citace.

Moc díky, tak první tmavou řádku už bych měl :slight_smile:

:arrow_right: administrator: příspěvek byl upraven
Upravena násobná citace.

pokud se kouknes do DS tak piny 1-14 sou pro napajeni a ovladani LCD a 15-16 pro podsviceni , vic pinu tam neni, pokud napajis podsviceni od jinud je to mozny, vem pipak a zmer ty piny 15-16 s tema tvyma pro napajeni podsviceni jestli to neni to samy (muze tam bejt odpor,propojka)

muzes to nak lepe popsat ?

Ono napajat podsvietenie ide aj priamo na A K podsvietenia, ale niektore displeje maju osadene odpory na DPS a dasa pripojit 5V priamo na piny 15-16. Samozrejme to treba overit nie len surovo tam ty 5V pustit, Datasheet to isti, este je mznost ze odpor na DPS je len aby sa zjednotilo napatie na podsvietenie na 4,2 V

Ahoj, LCD mi uz funguje jak ma, ale narazil jsem na jinej problem. Potreboval bych poradit jak na displej vypsat hodnotu promnene - v cecku. Program ktery jsem si stahnul vypisuje pouze znaky a nejak nemuzu prijit na to jak to jednoduse udelat.

Diky za pomoc.
LCD_Pokus.c (4.17 KB)

Tak uz jsem na to prisel, jen si nesedet na vedeni :laughing:

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Mozna by stalo za to rict v cem byl primo problem :wink:

Jak uz jsem psal, predchozi program pro LCD umi vypsat jen znaky a ja potreboval vypsat hodnotu promnene, napr. hodnotu zmerene teploty.

Pak jsem si vzpomnel ze existuje v C i deleni modulo… Tak jsem to vyresil pomoci podminek kdy podle velikosti promnene ji priradim prislusny znak.

Asi by to slo i jednoduseji, ale pro me uceli to staci.
Z_Promnene_na_znak.c (1.25 KB)

Raději to zkus takhle:

[code]…
if (temp3>=100){LCD_Gotoxy(14,r); LCD_WriteString("***");}

char szNumber [5];
sprintf(szNumber, “%i”, temp3);
LCD_Write_String(szNumber);
…[/code]

Pokud bys to chtěl vypsat v desetinném tvaru, tak místo “%i” dáš např. “%2.1f” apod…

Snažím se rozjet stejný displej s řadičem s6a0069 po 4 bitové komunikaci a neumím se dostat ani přes incializaci. Tu jsem nejprve prováděl podle datasheetu k tomu řadiči
datasheetcatalog.org/datashe … Xruzuq.pdf
když to nešlo tak potom podle tohoto:
doveda.byl.cz/lcd/
chci se dobrat aspoň k tomu aby jsem po inicializaci rozsvítili obadva rádky, svítí pouze jeden. Kontrast mám proto nastavený dobře, prodlevy jsem dával dostatečně veliké (50ms). Čip mi jede (pic16f877) nechávám si pro kontrolu rozsvítit ledku. A pořád mi to nechce jet. Budu vděčný za jakoukoliv radu.

zkus tohle, psal jsem to pro LCD 2x8
měl jsem ten samý problém a již jsem to tu psal ,že v datasheetu podle mě mají chybu, když píšeš inicializaci ručně.
je to naspaný humpolácky v C , ale funguje to.

na začátku je inicializace pak nastavení portu a pak jednuduchá komunikaces LCD
viz tex. dokument
lcd.txt (5.26 KB)

jsem uplný začátečník a v céčku se už vůbec nevyznám. Nepodařilo se mi to zkompilovat a píše mi to chyby které nejsem schopný odstranit protože jim nerozumím. Mohl bys mi to hodit do hexa souboru pro pic s takovým configem: __config 16250 prosím?