Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterowanie wyświetlaczem LCD przez Atmega 16 w jęz. C

bartp1 10 Mar 2007 02:33 4289 3
  • #1 10 Mar 2007 02:33
    bartp1
    Poziom 14  

    Witam!
    Od razu przepraszam, że trochę się rozpisałem, ale chciałem dokładnie wyjaśnić o co mi chodzi.

    Szukam i szukam różnych danych na temat sterowania wyświetlaczem LCD ze sterownikiem HD44780, ale jakoś nie potrafię tego wszystkiego złożyć do kupy i zrozumieć, a bardzo bym chciał.
    Jestem w tej dziedzinie początkujący, więc bardzo proszę doświadczonych w tym temacie elektroników o pomoc i wyrozumiałość. Każdy z nas kiedyś zaczynał :)

    Mam ogromną prośbę!!
    Czy byłby ktoś tak wspaniały i napisał mi jak najprostrzy program w języku C (bo tylko w nim chcę go programować, a znam trochę ten język jeszcze z PC DOS TC 2.0), który będzie wyświetlał:
    - tekst "Wynik = "
    - zaczynając np. od trzeciego znaku od lewej (określenie X,Y napisu)
    - dalej w tej samej linii wynik dodawania X+1, czyli po prostu kolejne liczby całkowite od 0 do 100 i od nowa (zwykła pętla "for") oraz
    - wyświetlał je naprzemiennie, raz w jednej i raz w drugiej linii wyświetlacza,
    - Po każdym doliczeniu do 100 ekran powinien zostać wyczyszczony.

    Wiem, że potrzebne są też jakieś biblioteki, ale pojęcia nie mam jakie, czy gotowe, czy pisane przez programistę i jak...
    Dlatego proszę też o napisanie tej (tych) biblioteki i podanie nazwy, jaką mam potem nadać plikowi, albo po prostu wklejenie jej (ich) jako załącznik.
    Jeśli jest to biblioteka, która jest standardowo w AVRStudio 4, to proszę tylko napisać dokładnie jaka.
    Proszę też o komentarze w każdej linii!!! To mi BARDZO pomoże w zrozumieniu i przyswojeniu tematu.
    Bardzo mi na tym zależy dlatego tak mocno o to proszę :)

    Problem jest po prostu w tym, że jak tylko próbuję skompilować jakiś program z wyświetlaniem na LCD, to zaraz występują błędy, że nie ma potrzebnych bibliotek do kompilacji. To strasznie denerwujące...

    A na czym pracuję?
    Jest to Atmega 16 (16 MHz) i LCD na HD44780, 2x16 znaków. Połączenie na port np. D następujące:

    Pin procesor -- Pin LCD
    PD2 --------- RS
    PD3 --------- E
    PD4 --------- D1
    PD5 --------- D2
    PD6 --------- D3
    PD7 --------- D4
    Pin RW jest na stałe podpięty do masy. Chyba nie będzie mi potrzebny do samego tylko wyświetlania tekstów i zmiennych??

    W ostatnim etapie będę chciał sobie sam napisać własne potrzebne do wyświetlania funkcje, ale aby to zrobić, muszę to najpierw zrozumieć i połapać. Nie wiem już czy to jest tak potwornie skomplikowane i rozbudowane, czy to tylko takie złudzenie przez to, że tych bibliotek jest tyle co samych programujących.
    Na dodatek jeszcze z angielskimi opisami, jakby polskiego języka nie było, co już mam za kompletną głupotę. (polski wstęp, a potem ang. opisy np. funkcji...)
    I właśnie dlatego bardzo Was proszę o pomoc.

    Mam wielką nadzieję, że ktoś się nade mną zlituje i poświęci na to trochę czasu :) A może i innym to się bardzo przyda...

    Już teraz za wszelką pomoc bardzo, ale to bardzo dziękuję!!!

    Niby takie nic, a tyle się napisałem... :)

    Serdecznie wszystkich pozdrawiam. BartP.

    0 3
  • #4 10 Mar 2007 13:04
    bartp1
    Poziom 14  

    Dzięki za te linki! Jednak nadal proszę o taką pomoc jak wyżej napisałem.

    Powiedzcie mi proszę, co mam zrobić z takimi bibliotekami, pobranymi z netu, bez których podobno ani rusz - rklibavr_20060316 ???
    Gdzie DOKŁADNIE należy je skopiować? Widziałem kilka wersji tych zbiorów, więc z której radzicie mi korzystać? Ten powyższy numer to chyba najświeższa z dostępnych, choć nie wiem na pewno.

    I druga sprawa. Nie wiem w jakim programie w końcu pisać w C, żeby był niezawodny i prosty w obsłudze. Oprócz AVR Studio 4 próbowałem jeszcze Code Vision AVR. Ale jakoś nie chciał mi nic kompilować. Który mi bardziej polecacie, jako wchodzącemu w ten temat??
    Chcę się chwycić tylko jednego softu, ale raz, a dobrze!! :)

    0