Sari la conținut
ELFORUM - Forumul electronistilor

Lcd128/64 si pic


sofian

Postări Recomandate

Dupa doua nopti de injuraturi si cautari furibunde pe net am reusit eu sa fac nenorocirea asta de PLED sa mearga. Sau aproape sa mearga, pentru ca o parte din display reactioneaza cu totul altfel decat cealalta parte. De departe cel mai aberant display cu care am lucrat vreodata cu cea mai patetica definitie a cuvantului "controller". Daca mai intereseaza pe cineva o sa pun datasheet-ul cu "controller"-ul corect (pentru ca nu are nici o legatura cu ks0108, desi exista un alt datasheet in care exact asta se povesteste) si codul cu care l-am aprins.

Link spre comentariu
  • Răspunsuri 19
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • sofian

    8

  • nicu_stef

    3

  • bogdanm

    3

  • Zerro

    2

Top autori în acest subiect

Te-as ruga eu sa pui codul si datasheetul ca sa mai incerc si solutia asta pt ca nu reusesc nici cum sa dau drumul la LCD-ul asta. Daca ai timp te-as ruga sa mi te trimiti in mail ca nu stiu daca o sa mai pot accesa curand forumul (mail: [email protected])

 

Mersi fain.....

Link spre comentariu

nassus, solutia asta e foarte putin probabil sa-ti mearga daca n-ai un atmega8l pe spate :) Se refera strict la display-ul PLED de la delta optoelectroshit, china style.

Oricum, o sa o postez aici. In primul rand, datasheet-ul "corect" pentru PLED este cel de aici:

 

http://www.lc-design.de/shop/de/OL12864B-2.pdf

 

Dupa cum vedeti, nici o legatura cu KS0108. La sfarsitul PDF-ului de mai sus sunt date o schema pentru conectarea cu un Atmel (sorry, stiu ca e sectiune de PIC) si un cod. Analizand putin problema se constata relativ usor urmatoarele:

 

- asignarea pinilor de control pentru PLED este complet diferita in schema si in cod.

- codul activeaza reset-ul si il lasa activat. Asa, pentru suspans.

- exista un pin numit "reserved" care apare conectat in schema, dar nu face nimic in cod. Eu nu am reusit sa inteleg ce ar trebui sa faca pinu asta, desi am dat de el in toate directiile, aleator si cvasi-aleator. Asa ca l-am lasat in pace.

 

Dar ce se observa mai greu, si e chestia care m-a dat pe spate, este codul care trimite datele spre display (subrutina "display" in cod). La sfarsitul subrutinei exista un jump spre inceputul ei, deci datele se trimit spre display in ciclu infinit. Am crezut ca taunii n-au fost in stare sa termine programul cum trebuie. As fi vrut eu. Realitatea e mult mai crunta: display-ul asta chiar are nevoie sa i se trimita datele continuu! Lucru care are sens oarecum daca ne gandim ca pentru a pastra datele pentru display e nevoie de 1k de memorie (128*64/8), adica exact cat are atmega8. Lucru care nu are sens deloc daca ne gandim ca se putea alege un alt microcontroller cu mai multa memorie si care ar fi putut actiona ca un controller adevarat. Pentru mine, necesitatea de a reimprospata continuu display-ul il face la fel de util ca o caramida pe care scrii cu creta. E bine cel putin ca am reusit sa inteleg ce petarda de display este si ca n-o sa-l folosesc niciodata intr-un proiect serios.

Atasez mai jos codul din datasheet, putin modificat de mine (din nou, scuze ca e pentru AVR, da n-am chef acu sa stau sa-l translatez pentru PIC, va las voua placerea). Daca nu il montati exact ca mine, va trebui sa modificati liniile 17-19 (asignarea pinilor de control), subrutina "Port_Init" si instructiunile I/O din subrutina "Display" (liniile 113, 118, 123).

Inca o observatie: codul functioneaza pe un AVR la 8MHz. Am incercat sa rulez codul la 1MHz si s-a dus naibii tot, display-ul flickere ca naiba. Asa ca e bine sa-l rulati tot la 8MHz (echivalent 32MHz sau mai mult pentru PIC) pentru a se pastra rata de refresh. Alta bucurie a genialului "controller" chinezesc. Si cand te gandesti ca lumea ma face rasist cand le explic cat ii urasc p-astia ...

Link spre comentariu

Daca ai simtit nevoia sa-l spargi, mai mult ca sigur ala e.Nush exact de unde a fost cumparat, de undeva de pe silicon valley, si cred ca nu-s multi care vand sau multe modele, deci cel mai probabil ala e. Atentie ca daca nu-i dai 12V nu se aprinde in veci.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări