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.

[C][Atmega16] - Połączenie z HD44780

wagus1 28 Paź 2012 17:33 909 6
  • #1 28 Paź 2012 17:33
    wagus1
    Poziom 8  

    Witam,
    Na wstępie powiem że jestem początkujący i proszę o wyrozumiałość. Szukałem odpowiedzi na forum, ale nie rozwiązałem problemu. Otóż mam problem z wyświetlaczem na układzie hd44780, korzystam z biblioteki: http://radzio.dxp.pl/hd44780/ , połączenie również ze schematu na tej stronie(4-bit bez odczytu flagi zajętości). Problem polega na tym że nie mogę zainicjować wyświetlacza( z tego co wyczytałem) wyświetlają się w pierwszym rzędzie prostokąty. Połączenia sprawdzałem omomierzem wiele razy i niby wszystko gra. Używam podstawki programującej z kwarcem 8Mhz ale powiem szczerze, nic nie przestawiałem, żadnych fusebitów, na programy z mrugającymi diodami ustawiałem 1Mhz i wszystko działało. Schody zaczęły się na wyświetlaczu. Proszę o pomoc, pomysły, cokolwiek bo męczę się nad tym od wczoraj :cry: Dodam jeszcze że posiadam atmege8 i atmege16, próbowałem na obu, bez skutku.

    Kod z ust. biblioteki:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kod programu:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 6
  • #2 29 Paź 2012 22:53
    Mscichu
    Poziom 15  

    Witaj!

    Uporałeś się już? Sprawdziłeś poprawność połączeń? Na pewno podłączyłeś pod DB4-7, a nie DB0-3? Jak tak to spróbuj może tak:

    Code:

    int main(void)    //Program główny
    {
     
    LCD_Initalize();  //Inicjalizacja wyświetlacza
     

     LCD_GoTo(0,0);       
     LCD_WriteText("Hello!"); //Wyświetlenie napisu

    while (1)
    {
    }
    }

    0
  • #3 30 Paź 2012 11:24
    wagus1
    Poziom 8  

    Niestety się nie uporałem, poprawność połączeń mam dobrą bo sprawdzałem wiele razy, podłączone DB4-7, no i nie mam już pomysłu dlaczego to nie działa, dodam że używam programatora usbasp o ile ma to znaczenie...

    0
  • #5 30 Paź 2012 12:13
    Maxe
    Poziom 13  

    Nie masz żadnych komunikatów o błędach podczas kompilacji?

    masz:

    Code:
    LCD_Initalize();  //Inicjalizacja wyświetlacza


    spróbuj:
    Code:
    LCD_Initialize();  //Inicjalizacja wyświetlacza



    Albo spróbuj innych bibliotek

    0
  • #6 30 Paź 2012 16:11
    wagus1
    Poziom 8  

    A mógłbym prosić o jakąś inną bibliotekę? Link albo nazwę chociażby. Kompilacja przebiega bezproblemowo. A co do schematu korzystam z tego zamieszczonego na stronie radka. Tyle tylko że używam podstawki programującej i z niej wypuszczam sobie porty na wyświetlacz.

    0
  • #7 30 Paź 2012 16:35
    Mscichu
    Poziom 15  

    Ja używam bibliotekę właśnie z tej strony. Po poprawnym połączeniu wszystko śmiga jak powinno. Wstaw chociaż zdjęcie Swojego układu z połączeniem. Dodatkowo, możesz użyć migania diody aby sygnalizować w którym momencie jesteś, aby być pewnym, czy program się nie wiesza, czyli np. inicjalizacja mignięcie na 0,5s, skok na początek(ja używam raczej funkcji clear) i mignięcie diody, wpisanie napisu, mignięcie diody. Jeszcze pytanie, czy regulujesz napięcie na pinie V0, czy podałeś VCC?

    0