Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Problem z odliczeniem sekundy w zegarze z ATmega8

heyka 13 Lis 2005 16:31 4063 4
  • #1 13 Lis 2005 16:31
    heyka
    Poziom 17  

    wykonałem zegar na atmega8 lcg 1*16, z uzyciem timera1
    dalem kwarc 8MHz, aby odliczać czas co 1s zrobilem tak

    Config Timer1=timer, prescale=256

    następnie dałem counter1=counter1+34286


    8MHz/256/(65536-34286)=1s - powinno mi dac dokładnie 1 sekundę a z pomiarów sekundnik zmienia sie mniej wiecej co 8 sekund, czy ma ktos moze pomysł dlaczeo tak sie dzieje?

    pozdrawiam wszystkich

    0 4
  • #2 13 Lis 2005 16:59
    Press
    Poziom 22  

    oczywiscie ze mam pomysł czemu tak sie dzieje. Nie przestawiłeś Fuse Bitów i procesor pracuje na wewnętrznym oscylatorze 1MHz, bo tak ma ustawione fabrycznie. Twój kwarc 8MHz w tej sytuacji nie jest widziany przez procesor.

    0
  • #3 13 Lis 2005 17:00
    Dexter77
    Poziom 28  

    Wnioskuje ze Bascom ??
    Trzeba na poczatku dac dyrektywe $crystal=8000000
    i przestawic fusebity na prace z kwarcem. W tej chwili prawdopodobnie procesor chodzi na wewnetrznym generatorze RC=1MHz
    Pozdro
    Dexter

    0
  • #4 13 Lis 2005 17:05
    heyka
    Poziom 17  

    dzieki , dyrektywe crystal=8000000 dałem, jestem na tyle poczatkujący że nie wiem jak przestawić te fuzy, no tak bascom
    jaK TO SIE ROBI Z POD BASCOM AVR

    0
  • Pomocny post
    #5 13 Lis 2005 17:31
    adampr1
    Poziom 12  

    Właśnie przed chwilą też uruchomiłem zegar na ATMega8 choć wykorzystujący kwarc 32kHz (tzw. zegarkowy) niezależny od generatora głównego procesora. Jeżeli chcesz pozostać przy swoim pomyśle (równie dobrym) to w BASCOM-mie po kompilacji przejdź do opcji programatora gdzie będziesz miał trzy zakładki FlashROM ,EEPROM i Lock and Fuse Bits. Więc wybierz tą ostatnią zakładkę (płytka z procesorem musi być włączona i podłączona do programatora) i w linijce Fusebit A987 kliknij na linijce i wybierz z rozwijanego menu ostatnią pozycję EXTERNAL XTAL a następnie na
    przycisk Write FS :)
    Pozdrawiam - Adam
    adampr1(malpa)tlen.pl

    0