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

LCD 240 x 64 + Atmega16 + C Jak zacząć

06 Gru 2011 17:58 1551 11
  • #1 06 Gru 2011 17:58
    1614762
    Użytkownik usunął konto  
  • Deimic One - Szkolenia
  • #2 06 Gru 2011 19:27
    stopi
    Poziom 28  

    Wyświetlacz ten ma bardzo podobny interfejs jak zwykły LCD na sterowniku Hitachi. Musisz przejrzeć dokumentację sterownika twojego wyświetlacza czyli Sanyo LC7981. Masz tam linie danych i linie sterujące, zasilanie i masę i w zasadzie tylko to cie interesuje.
    Liniami sterującymi sterujesz czy chcesz wysłać komendę czy dane wyświetlane (wszystko jest zależne od typu sterownika i opisane w dokumentacji). Wszystkie timingi linii sterujących są i tak zależne od kwarcu jaki masz przy procku itd. Musisz najlepiej dobrać je eksperymentalnie. Potrzebujesz w sumie 13 linii portów procka. 8 linii danych i 5 linii sterujących z tego co widzę na schemacie. Wykorzystaj jeden port Atmegi na sterowanie a drugi na przesył danych.

    Tutaj masz datasheet do sterownika:

    http://www.datasheetcatalog.com/datasheets_pdf/L/C/7/9/LC7981.shtml

    Niestety musisz się nieco przedrzeć przez dokumentację. Najpierw polecam po prostu zaprogramowanie resetu wyświetlacza. Interesujące cię informacje znajdują się gdzieś od 8 strony tej dokumentacji.

    http://www.sebastians-site.de/homepage/elektronik/avr-library-for-lc7981.html

    Tu znalazłem jakąś stronkę, gdzie chyba są biblioteki do obsługi tego wyświetlacza.

    0
  • #3 06 Gru 2011 19:28
    malpek
    Poziom 17  

    Jaki sterownik jest w wyświetlaczu?
    Szukaj informacji o sterowaniu na podstawie typu sterownika a nie nazwy wyświetlacza.

    0
  • Deimic One - Szkolenia
  • #5 06 Gru 2011 20:06
    malpek
    Poziom 17  

    Jak pisałem mój post to jeszcze nie było żadnej odpowiedzi.
    W pliku lc7981.h są wszystkie definicje pinów.

    0
  • #6 06 Gru 2011 21:36
    1614762
    Użytkownik usunął konto  
  • #7 06 Gru 2011 22:08
    zumek
    Poziom 39  

    S-DEK napisał:
    ... albo niech mi ktoś to jakoś sklei w całość i załączy plik h oraz c.

    Masz to szczęście, że mamy dziś Mikołaja, ponieważ w "normalny" dzień , temat wylądowałby w koszu przez Twoje lenistwo.
    W w drugim linku , który podał stopi jest akapit pod tytułem Downloading. Pierwszy link w tym akapicie, to Twoje upragnione źródła.
    To tyle.

    0
  • #8 07 Gru 2011 10:01
    stopi
    Poziom 28  

    Plik nagłówkowy jest po to, aby zdefiniować funkcje obsługi wyświetlacza, które potem w programie głównym możesz wykorzystać. Załączasz go (instrukcją "include") i potem w funkcji main() wykorzystujesz te funkcje z pliku *.h posługując się ich nazwami, tak jak zostały tam przez kogoś zdefiniowane.

    Wszystko zależy od tego co chcesz zrobić (wyświetlić jakis znak, kursor, wyczyścić wyświetlacz). Najpierw musisz ustawić rejestry procka (w zależności od kwarcu jaki masz itd..), połączyć to wszystko, potem zainicjować wyświetlacz, potem na nim dop. coś wyświetlać. Nikt ci nie poda gotowego rozwiązania łącznie z kursem języka C na procesory AVR w jednym wątku, bo to zbyt rozległy temat. Tych informacji jest w internecie mnóstwo, trzeba tylko wysilić się i szukać.

    Nietrudno się chyba domyśleć, że w tym pliku lc7981.h funkcja void lcd_write_text(char *txt); wypisuje tekst na wyświetlaczu a funkcja void lcd_init(uint8_t mode); inicjuje wyświetlacz.

    0
  • #9 31 Gru 2011 21:06
    1614762
    Użytkownik usunął konto  
  • #10 01 Sty 2012 11:13
    tmf
    Moderator Mikrokontrolery Projektowanie

    Vee oczywiście jest potrzebne bo to regulacja kontrastu. Bez tego wyświetlacz ma zerowy kontrast, czyli nic nie widzisz. Regulując Vee powinieneś zobaczyć przy pewnych napięciach, że wszystkie pixele świecą, wtedy skręć je nieco, tak, żeby pixele ledwo odróżniały się od tła.
    A poza tym pokaż schemat. Co to znaczy, że podświetlenie jest sporym obciążeniem? Dałeś rezystory ograniczające prąd?

    0
  • #11 01 Sty 2012 12:04
    1614762
    Użytkownik usunął konto  
  • #12 01 Sty 2012 13:27
    tmf
    Moderator Mikrokontrolery Projektowanie

    Bo niektóre wyświetlacze wymagają napięcia ujemnego dla kontrastu, stąd potencjometr powinien być pomiędzy np. masą a Vee. To zależy od konkretnego wyświetlacza. Niemniej jeśli przy połączeniu Vo przez potencjometr GND-Vcc nigdy nie uzyskujesz zapalenia wszystkich pixeli to wskazuje, że twój model potrzebuje napięcia na Vo poniżej GND, stąd wyprowadzili Vee.

    0