logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

HD44780 +ASM AVR, nie przesuwa kursora w drugiej linii.

Balu 05 Kwi 2007 00:56 2090 5
REKLAMA
  • #1 3753878
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Witam, mam sobie LCD podłączone do procka, wszystko ślicznie śmiga, poza jedną rzeczą, a mianowicie, jak chcę mu zrobić coś takiego:

    ldi R16, 44|(1<<LCD_DDADR) ;skocz na 2 linię
    rcall Instrukcja_LCD

    Na mega8, tak jak piszę wszystko inne ślicznie śmiga, poza paskudztwem:
    w pierwszej linii adresowanie (zamiana 44 na liczbę 0..15) działa, w drugiej lini (adres 40 i więcej) ustawia kursor na pierwszym znaku i dalej nie chce:/
    Coś rozumiem źle?
    Jest organizacja
    00....39
    40....79
    co prawda lcd jest 2x16, ale ma tyle komórek jak to na hd44780 przystało.

    Więc, czemu wysłanie adresu 44 lub 57 lub 62 ustawia mnie na pierwszej (40 globalnie)) pozycji drugiego wiersza?

    Dodano po 5 [minuty]:

    Ten: http://www.pliki.jm.pl/karty/T162BNL2.pdf wyświetlacz.
  • REKLAMA
  • #2 3754138
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Żeby ustawić kursor na odpowiedniej pozycji do LCD trzeba wysłać rozkaz (RS=RW=0) : 0x80+numerpozycji dla wiersza1 i 0xC0+numerpozycji dla wiersza2.
  • REKLAMA
  • Pomocny post
    #3 3754185
    szod
    Poziom 33  
    Posty: 1663
    Pomógł: 215
    Ocena: 120
    A na innym wyświetlaczu działa? Bo może to nie jest wina wyświetlacza tylko
    masz błąd w programie. Jaką masz pewność że wysyłasz właściwy adres?
    Bo coś mi się zdaje że źle robisz. Organizacja jest owszem taka ale są to
    adresy:
    00h - 27h (0 - 39)
    40h - 67h (64 - 103)
    Adres w liczbach dziesiętnych jest w nawiasach. Czy Ty na pewno wysyłasz
    adres szesnastkowo?
  • REKLAMA
  • REKLAMA
  • #5 3754352
    jj
    Poziom 19  
    Posty: 145
    Pomógł: 42
    szod napisał:
    (...) Organizacja jest owszem taka ale są to
    adresy:
    00h - 39h (0 - 63)
    40h - 67h (64 - 103)
    Adres w liczbach dziesiętnych jest w nawiasach. (...)


    Jedna uwaga - dla pierwszej linii zakres adresów to:
    00h - 27h (0 - 39)
    Istotne przy rotacji zawartosci.

    A tak na marginesie 39h = 57dec. Wiem, czepiam się ;) Ale może to zaoszczędzi komuś poszukiwań "czemu nie działa?" jeśli skorzysta z tych informacji.

    Pozdrawiam
    Jacek
  • Pomocny post
    #6 3754448
    szod
    Poziom 33  
    Posty: 1663
    Pomógł: 215
    Ocena: 120
    Zgadza się jj. Mój błąd. Już poprawiłem. Za szybko pisałem :) Dobrze że
    wychwyciłeś.
REKLAMA