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

LCD 16x2 na ATtiny2313 - niepoprawne wyświetlanie drugiej linii w Bascomie

vcd_a 31 Gru 2005 15:38 1122 5
REKLAMA
  • #1 2134063
    vcd_a
    Poziom 18  
    Posty: 388
    Pomógł: 9
    Ocena: 6
    Witam, otóż mój problem polega na tym, że LCD 16x2 wyswietla niepoprawnie 2 linijke co jakiś czas ;/, co jakiś czas czyli raz włącze to jest OK, a raz włącze to nie. Program obsługujący napisałem w Bascomie
    
    Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7
    Cls
    Cursor Off
    Do
    Locate 1 , 1
    Lcd "Witam serdecznie"
    Wait 1
    Locate 2 , 1
    Lcd "vcd_a@interia.pl"
    
    Loop
    End
    


    uC to 2313, podłączone wszystko jest wg mnie prawidłowo, co może być przyczyną tego złego wyświetlania ???, pozd i Szczęśliwego 2006 roku vcd_a
  • REKLAMA
  • REKLAMA
  • Pomocny post
    #3 2136593
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    Przyczyną może być bascom :]
    Wykorzystujesz interface czterobitowy bez możliwości odczytu, więc program nie ma jak sprawdzić, czy wyświetlacz wykonał już żądaną operację. Zostało to rozwiązane tak, że program po prostu czeka pewien czas i być może ten czas oczekiwania jest za krótki.

    Spróbuj wstawić ten "Wait 1" za "Locate 2, 1"

    Zobacz też poleceie $crystal, nie wiem, czy ma ono wływ na czas oczekiwania, ale w zasadzie powinno :].
  • REKLAMA
  • Pomocny post
    #4 2136677
    Zaquadnik
    Poziom 27  
    Posty: 998
    Pomógł: 103
    Ocena: 25
    BASCOM oczekiwanie załatwia sam i robi to korzystając z dyrektywy $crystal. Pisałem obsługę LCD w BASCOMie i żadnych dodatkowych opóźnień nie musiałem dawać. A tak w ogóle to nejlepiej napisać całą obsługę samemu w asemblerze =]
    Poza tym zauważ, że w drugiej linii użyłeś polskiego znaku, a LCD nie mają takowych, chyba, że sam zdefiniujesz, stąd mogą być kłopoty =]
  • REKLAMA
  • Pomocny post
    #5 2136762
    Robewit
    Poziom 26  
    Posty: 679
    Pomógł: 77
    Ocena: 102
    Zadeklaruj rodzaj wyświetlacza na początku programu poleceniem Config LCD=16*2, powinno pomóc.
  • #6 2139392
    vcd_a
    Poziom 18  
    Posty: 388
    Pomógł: 9
    Ocena: 6
    Witam, problemem okazało się to o czym wspominał Robewit, zapomniałem zdeklarować dane wyświetlacza, teraz już wszystko jest ok i działa bardzo dobrze, wszystkim dziękuję za odpowiedzi i życzę Szczęśliwego 2006 roku :D
REKLAMA