Witam
Mam problem z uruchomieniem wyświetlacza LCD od Nokii E51. Zainspirowany tym tematem: https://www.elektroda.pl/rtvforum/topic1344700-0.html i faktem, że posiadam wyświetlacz prosto od Nokii, a nie jakiś chiński badziew, postanowiłem spróbować go obsłużyć. Schemat praktycznie przerysowany z tematu powyżej:
1.8V i 2.5V pobieram z typowego stabilizatora na LM317, oczywiście ATmega zasilana z 3.3V, z tego samego źródła co scalaki. Bit RD (odczyt z LCD przy zboczu narastającym) podłączyłem na stałe do 3.3V, żeby sobie głowy nie zawracać. Z tego samego powodu bit CS jest podpięty do masy, a cała część odpowiedzialna za obsługę sygnału TE jest niewykorzystana. Wyprowadzenia OEDAT i OECTRL połączone na stałe z masą, DIRDAT z 3.3V.
Tak wygląda podłączenie pod wyświetlacz i cały pająk:
Było z tym naprawdę kupę roboty, ale wyczytałem że lepiej to zrobić w ten sposób, bo lutując gniazdo następują zazwyczaj lekkie nadtopienia przez co niektóre piny nie stykają. Drugi powód jest taki, że po prostu nie mogłem nigdzie znaleźć odpowiedniego gniazda.
Po włączeniu zasilania świecą się diody podświetlające (co wyklucza przylutowanie wyprowadzeń w "odbitej" kolejności), ale nic poza tym. Według tematu podlinkowanego wyżej, mój kod powinien wyświetlić zawartość RAMu, czyli w moim wypadku jakieś losowe kropki. Zamieszczam jeszcze kod programu:
Bardzo proszę o pomoc w zlokalizowaniu błędu. Nie jestem pewien czy program jest okej, ale podejrzewam także jakieś złe luty przy gnieździe (niby każdy drut się trzyma, ale kto wie...). Czy taki stan rzeczy może wynikać z długości przewodów którymi podłączyłem LCD do buforów?
Pozdrawiam
mopsiok
Mam problem z uruchomieniem wyświetlacza LCD od Nokii E51. Zainspirowany tym tematem: https://www.elektroda.pl/rtvforum/topic1344700-0.html i faktem, że posiadam wyświetlacz prosto od Nokii, a nie jakiś chiński badziew, postanowiłem spróbować go obsłużyć. Schemat praktycznie przerysowany z tematu powyżej:
1.8V i 2.5V pobieram z typowego stabilizatora na LM317, oczywiście ATmega zasilana z 3.3V, z tego samego źródła co scalaki. Bit RD (odczyt z LCD przy zboczu narastającym) podłączyłem na stałe do 3.3V, żeby sobie głowy nie zawracać. Z tego samego powodu bit CS jest podpięty do masy, a cała część odpowiedzialna za obsługę sygnału TE jest niewykorzystana. Wyprowadzenia OEDAT i OECTRL połączone na stałe z masą, DIRDAT z 3.3V.
Tak wygląda podłączenie pod wyświetlacz i cały pająk:
Było z tym naprawdę kupę roboty, ale wyczytałem że lepiej to zrobić w ten sposób, bo lutując gniazdo następują zazwyczaj lekkie nadtopienia przez co niektóre piny nie stykają. Drugi powód jest taki, że po prostu nie mogłem nigdzie znaleźć odpowiedniego gniazda.
Po włączeniu zasilania świecą się diody podświetlające (co wyklucza przylutowanie wyprowadzeń w "odbitej" kolejności), ale nic poza tym. Według tematu podlinkowanego wyżej, mój kod powinien wyświetlić zawartość RAMu, czyli w moim wypadku jakieś losowe kropki. Zamieszczam jeszcze kod programu:
Kod: C / C++
Bardzo proszę o pomoc w zlokalizowaniu błędu. Nie jestem pewien czy program jest okej, ale podejrzewam także jakieś złe luty przy gnieździe (niby każdy drut się trzyma, ale kto wie...). Czy taki stan rzeczy może wynikać z długości przewodów którymi podłączyłem LCD do buforów?
Pozdrawiam
mopsiok