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ć tekst z EEPROM na LCD w Bascomie dla 90S2313?

Michał~88 25 Gru 2005 12:54 1430 5
REKLAMA
  • #1 2113594
    Michał~88
    Poziom 14  
    Posty: 167
    Pomógł: 7
    Ocena: 3
    Witam
    Jestem młodym elektronikiem.
    I nie potrafię wykorzystać mojej pamięci eeprom.
    Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie.
    Oto próbka kodu, który mi nie działa.
    $lib "mcsbyte.lbx"
    $regfile = "2313def.dat"
    $crystal = 4000000
    Dim Tekst As Byte
    $eeprom
    Tekst:
    Data "Witaj Michal"
    $data
    Readeeprom Tekst
    Lcd Tekst
    End
    A mianowicie chodzi mi o wyświetlenie tego napisu z eeprom na LCD.
    Wiem program nie jest dokładny.
    Dlatego proszę wytłumaczenie mi jak to działa.
    Jak się coś odczytuje i zapisuje w pamięci eeprom.
    Z góry dziękuję.
    :cry:
  • REKLAMA
  • Pomocny post
    #2 2113625
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Witam

    Z tego co pamietam to by cokolwiek zapisac i odczytac z epromu nalezy podac tez adres komorki pamieci . W BASCOMIE to wyglada chyba tak :
    Writeeprom Tekst ,adres
    a potem odczytujemy
    Readeeprom Tekst ,adres
    AT90S2313 ma 128 bajtow pamieci EEPROM, wiec jest 128 komorek jedno-bajtowych komorek pamieci. Stad adres : 0-127

    Nie wiem jak wyglada sprawa przy zapisywaniu do pamieci zmiennych tekstowych, ale BASCOM chyba dzieli sobie automatycznie dluzsze zmienne np typu string przy zapisywaniu do pamieci np:

    dim x as string
    dim adres as byte
    x=65341
    adres =1
    Writeeprom x ,adres
    zmienna x bedzie zajmowala 2 komorki w pamieci ( nr 1 i 2 )
  • REKLAMA
  • #3 2114002
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    A to w Bascomie nie trzeba nic mówić o tym, gdzie podpięliśmy wyświetlacz LCD i jakiego on jest typu? No to jestem pod wrażeniem! A może rzucić w diabły ten assembler i przesiąść się na Bascom... Po co się męczyć - Bascom mnie wyręczy :D
  • REKLAMA
  • Pomocny post
    #4 2114233
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    Michał~88 napisał:
    Witam
    Jestem młodym elektronikiem.
    I nie potrafię wykorzystać mojej pamięci eeprom.
    Piszę w Bascomie. Mam polską wersję, helpu z Bascoma, ale tej nie rozumie.

    Skoro nie rozumiesz po polsku ;) , to w jakim języku mam Ci to wytłumaczyć :?:
    Spróbuję jednak po ... polsku ;)
    Michał~88 napisał:

    Oto próbka kodu, który mi nie działa.
    
    $lib "mcsbyte.lbx"
    $regfile = "2313def.dat"
    $crystal = 4000000
    Dim Tekst As Byte 'deklaracja zmiennej typu BYTE(po polsku 1 bajt lub 8 kolejnych bitów)
    $eeprom 'dane dla pamięci eeprom , które należy w niej umieścić(zapisać)  za pomocą programatora , w sposób niemal identyczny , jak proces programowania uC. 
    Tekst:
    Data "Witaj Michal" 'dane dla pamięci eeprom , które zostaną w niej umieszczone od adresu "0" 
    $data
    Readeeprom Tekst , 0 'odczytaj 1 bajt z pamięci eeprom o adresie 0
    Lcd Tekst  'wyświetl zawartość zmiennej Tekst.Ponieważ zmienna jest typu BYTE , to na LCD pojawi się "87" czyli kod ASCII litery "W"   
    End 'koniec programu - "wieczna" pętla
    

    A mianowicie chodzi mi o wyświetlenie tego napisu z eeprom na LCD.
    Wiem program nie jest dokładny.
    Dlatego proszę wytłumaczenie mi jak to działa.
    Jak się coś odczytuje i zapisuje w pamięci eeprom.
    Z góry dziękuję.
    :cry:

    Czy komentarze - które dopisałem - są dla Ciebie zrozumiałe :?:
    Teraz przykład:
    
    Dim Ramstr As String * 20 'dane w tej zmiennej(tablicy składającej sie z 21 kolejnych bajtów) są kodami ASCII i znajdują się w pamięci RAM uC.
    Dim Witaj As Eram String * 12 At $0 'j/w ,jednak  z tą różnicą , że znajdują się w pamięci eeprom od adresu 0
    
    Cls
    Ramstr = Witaj 'skopiuj(przepisz) dane z eeprom do RAM
    Lcd Ramstr 'wświetl dane ze zmiennej "ramstr" - na LCD pojawi się "Witaj Michal"
    End
    
    $eeprom
    Tekst1:
    Data "Witaj Michal"
    


    Piotrek

    PS
    Rozumiem , że informacje o podłączeniu i rodzaju wyświetlacza LCD - o których nieśmiało wspomniał Jacu$ - podałeś w globalnych ustawieniach kompilatora :?:
  • REKLAMA
  • Pomocny post
    #5 2115651
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    :arrow: Jacu$
    To Ty nie wiesz, że mikrokontroler zaprogramowany bascomem sam skanuje porty IO w poszukiwaniu LCD?? Istny Plug&Play.... :lol:
  • #6 2117687
    Michał~88
    Poziom 14  
    Posty: 167
    Pomógł: 7
    Ocena: 3
    Witam
    Jestem bardzo zadowolony z waszych odpowiedzi z góry za to dziękuję i oczywiście punkty.
    A co do LCD to sobie ustawiłem w Bascomie.
    A tych, którzy korzystali lub korzystają z płytki AVT3500 serdecznie pozdrawiam.
    Jak macie jeszcze jakieś uwagi dotyczące eeprom w 90s2313 to proszę piszcie.
    Jestem bardzo zadowolony z waszych odpowiedzi.
REKLAMA