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

Jak wyświetlić długi tekst na LCD 16x2 z Atmega8 w Bascom?

rzeziu 07 Gru 2007 21:34 2558 4
REKLAMA
  • #1 4563239
    rzeziu
    Poziom 17  
    Posty: 312
    Pomógł: 14
    Ocena: 21
    Witam serdecznie wszystkich uzytkownikow serwisu Elektroda.pl:)
    Chciałbym kolegow prosic o rozjasnienie moich mysli,mianowicie
    zacząłem bawic sie w Bascomie, chcę swojej dziewczynie zrobic taki
    skromny upominek,w ksztalcie ramki na zdjecie,logo + wysiwetlacz LCD
    z atmega8 ktory ma pokazywac (wyswietlac) rozne mysli:)
    Mam jeden problem,moj wyswietlacz 16x2
    i tutaj nasowam swoje pytanie,czy w jeden linijcie wyswietlacza mozna uzyc np 100znakow przesuwajacych sie w lewo za pomoca shiftlcd left?
    poniewaz jak daje wiekszy tekst to przerzuca mi na druga linie:/ zauwazylem,ze w pierwszej lini moze byc max 40znakow jak jest wiecej to wrzuca mi do drugiej lini:/ czy jest mozliwosc,aby bylo wiecej tych znakow? dlugi przewijajcy sie tekst?

    oto kawalek kodu dla jasnoci
    
    
    Lcd "* tutaj ma byc wiecej znakowwwwwwwwwwwwwwwwwwwwwwww niz 40scii"
    For I = 1 To 100
    Shiftlcd Left
    Waitms 23
    Next I
    home upper
    return
    


    Poprawiłem tytuł - Regulamin. Proszę korzystać z opcji "pisownia" inaczej będę zmuszony kolejne posty przenosić do Kosza. [c_p]
  • REKLAMA
  • #2 4563956
    dawid512
    Poziom 32  
    Posty: 1439
    Pomógł: 229
    Ocena: 6
    W twoim kodzie znaki ktore wpiszesz beda sie przesowac o 100 miejsc w lewo. Sproboj wyswietlic jakis napis nastepnie go przesunac wyczyscic ekran dac kolejne znaki i znowu przesunac.

    Jak wyżej. Tak trudno napisać krótką wypowiedź stosując "ogonki"?
  • REKLAMA
  • #3 4564035
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Jak będziesz czyścił LCD to napis będzie migotał.
    Przesuwaj tekst na wyświetlaczu i dopisuj kolejny znak zmiennej (lub stałej) Tekst.

    Wyswietlanie_tekstu:
    For I = 1 To 100 ' Sto znaków!
    Litera = Mid(Tekst , I , 1)
    Lcd Litera;
    If I > 16 Then Shiftlcd Left ' 16 - ilość znaków w jednej linii
    Waitms 23
    Next I
    Return
  • REKLAMA
  • #4 4564789
    rzeziu
    Poziom 17  
    Posty: 312
    Pomógł: 14
    Ocena: 21
    Witam:) i dziękuje bardzo za zainteresowanie i pomoc:) Kolego M,S mogłbys rozwinac ten kod? jestem bardzo poczatkujacym uzytkownikiem bascom'a zrobilem to tak i nie chce mi skompilowac:/

    
    Cls
    Dim I As Byte
    Dim Tekst As Byte
    Dim Litera As Byte
    
    For I = 1 To 100 ' Sto znaków!
    Litera = Mid(Tekst , I , 1)
    Lcd Litera;
    If I > 16 Then Shiftlcd Left ' 16 - ilość znaków w jednej linii
    Waitms 23
    Next I
    Return
    


    gdzie mam wrzucic ten moj tekst? proszę o wytłumaczenie:)

    a tak ma to wyglądac:)

    Jak wyświetlić długi tekst na LCD 16x2 z Atmega8 w Bascom?
    Jak wyświetlić długi tekst na LCD 16x2 z Atmega8 w Bascom?
  • #5 4573033
    rzeziu
    Poziom 17  
    Posty: 312
    Pomógł: 14
    Ocena: 21
    Witam serdecznie:) rozmawiałem dziś z moim nauczycielem ze specjalizacji,dowiedzialem się,ze nie mozna uzyc wiecej znakow niz 40sci,jezeli bedzie wiecej to przerzuci mi na drugą linie wyswietlacza..

    Moje rozwiazanie nad ktorym wczoraj siedzialem,dosc prymitywne ,ale w miare takie jakie chcalem:) oto kawalek kodu:)

    
    Cls
    Lcd "*Adam Mickiewicz*"
    Lowerline
    Lcd "*Tak w kazdym miejscu i o kazdej dobie,"
    For A = 0 To 22
    Shiftlcd Left
    Waitms 16
    Next A
    Cls
    Lowerline
    Lcd "GdziemZTobaPlakal,gdziemSieZTobaBawil"
    For A = 0 To 22
    Shiftlcd Left
    Waitms 16
    Next A
    Cls
    Lowerline
    Lcd "Wszedzie i zawsze bede ja przy Tobie,"
    For A = 0 To 22
    Shiftlcd Left
    Waitms 16
    Next A
    Cls
    Lowerline
    Lcd "Bom wszedzie czastke mej duszy zostawil."
    For A = 0 To 23
    Shiftlcd Left
    Waitms 16
    Next A
    Cls
    


    i mam tak zrobione dla reszty tekstu:)
    wyswietla tekst-> shiftlcd -> cls i drugie zdanie znow shift lcd i tak w kolko,jezeli zdanie dluze niz 40znakow to je dziele jak napisalem,prosto i dzialajaco:)
REKLAMA