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" Ustawienie kursora na wyświetlaczu 2x16

smerfikk 23 Gru 2012 18:10 1119 2
  • #1 23 Gru 2012 18:10
    smerfikk
    Poziom 12  

    Witam;
    Dopiero zaczynam zabawę z mikrokontrolerami więc proszę o pomoc i wyrozumiałość.
    Mój problem polega na ustawieniu kursora w drugiej linii wyświetlacza, mianowicie:

    Wg specyfikacji sterownika HD44780 aby ustawić kursor trzeba wysłać komendę

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Działało to tak że mogłem sobie ustawiać pozycję kursora ale tylko w pierwszej linii,
    podczas gdy chciałem ustawić kursor w drugiej linii wysyłałem adres LCD=0x45; (kursor powinien ustawić się w drugiej linii na 6polu, a ustawiał się w pierwszej linii na 6polu). Jak ten problem rozwiązać?

    Załączam kod programu:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 2
  • Pomocny post
    #2 23 Gru 2012 18:24
    BlueDraco
    Specjalista - Mikrokontrolery

    Jaka jest częstotliwość pracy mikrokontrolera? Min. dozwolony czas stanu niskiego i wysokiego linii E to 500 us. Nie widzę w kodzie opóźnień, które by to gwarantowały.

    Inny kwiatek: niepoprawna deklaracja łańcucha - powinno być:

    Code:
    static const char text[] = "äbcd";


    Sekwencja inicjująca wyświetlacz też wygląda podejrzanie - brak opóźnień pomiędzy poleceniami.

    0
  • #3 23 Gru 2012 19:43
    smerfikk
    Poziom 12  

    Code:
     __delay_cycles(1000);

    Czy to nie jest opóźnienie?
    Jak pisałem dopiero zaczynam zabawę, kod jest znaleziony w internecie i trochę przerobiony.
    Jedynie mam problem z ustawieniem kursora w drugiej linii.

    Dodano po 17 [minuty]:

    Problem rozwiązany; Trzeba w starszym bicie podać numer linii.

    0