Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Attiny13 a Program w Bascom

radko_ 13 Jul 2007 08:30 2612 7
  • #1
    radko_
    Level 17  
    Witam

    Chciałbym napisac prosty program w Bascom-ie sciagnolem wersje demo ale nie ma w niej takie ukladu do wyboru.

    Co mam wybrac aby dyrektywy sie zgadzały?
  • Helpful post
    #2
    ja_dzik
    Level 18  
    Pobierz plik z załącznika. Rozpakuj go i wklej do głównego folderu programu. Na samym początku programu wpisz:
    Code:

    $regfile = "Attiny13.dat"   


    I nic więcej nie musisz robić.
  • #4
    radko_
    Level 17  
    Dzieki za pomoc juz mam dyrektywy.

    Teraz Mam pytanie:
    Dlaczego podczas suymulacji programowiej program dziala bardzo wolno.
    W programie mam np. polecenie Waitms 25 i zamiast 25ms trzeba czekac ok 5 sekund. Dlaczego sie tak dzieje?

    Jak to jest z tym wew. oscylatorem. bo rozumiem jesli nie korzystam z zew. to w programie nie podaje wartosci oscylatora?

    pozdrawiam
  • #5
    ja_dzik
    Level 18  
    Jest tak dla tego żeby można było dokładnie przeanalizować działanie programu.
    Cytat z pomocy Bascom'a:
    Quote:

    Dyrektywa $SIM
    rzeznaczenie:

    Instruuje kompilator by nie generował pętli opóźniających dla instrukcji WAIT czy WAITMS. Spowoduje to zwiększenie szybkości symulacji.

    Składnia:

    $SIM

    Opis:

    Symulacja instrukcji WAIT może trwać dość długo, zwłaszcza gdy otwarte jest okno podglądu zawartości pamięci. Umieszczenie tej dyrektywy spowoduje, że kompilator nie wygeneruje pętli opóźniających dla instrukcji WAIT czy WAITMS. Przyśpieszy to oczywiście symulację programu.

    Uwaga! Gdy program będzie gotowy, należy usunąć (lub umieścić w linii komentarza) dyrektywę $SIM, inaczej instrukcje WAIT i WAITMS nie będą działać poprawnie.

    Jeśli wystąpi próba zaprogramowania pamięci Flash, programem skompilowanym z dyrektywą $SIM, środowisko BASCOM pokaże stosowne ostrzeżenie.

    Przykład:


    $sim

    Do
    Wait 1
    Loop


    A czestotliwość zawsze określaj w programie. Inaczej procesor może np. zamiast 1s czekać 2s czy jeszcze inaczej. Miałem z tym kiedyś problem czemu progam tak wolno działa. Było to spowodowane nie określeniem w programie częstotliwości zegara. Było ona określona w opcjach Bascom'a i była ona źle określona.
  • #6
    radko_
    Level 17  
    To jaka wartosc mam wpisac przy wew oscylatorze attiny13?
  • #8
    radko_
    Level 17  
    Dziekuje wszystkim za pomoc, attiny dojechaly juz sa zaprogramowane i smigaja w ukladzie :)