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.

Atmega8 - Impuls co minute- zegar wtórny

puszak 28 Paź 2013 11:35 1329 4
  • #1 28 Paź 2013 11:35
    puszak
    Poziom 28  

    Witam. Potrzebuje program do Atmega8 który sterował by mostkiem H. Potrzebne mi są impulsy dwu sekundowe co minutę, raz na jednym porcie, raz na drugim. Miało by to sterować zegarem wtórnym PKP który zasilany jest impulsami co minutę, co impuls odwracana jest na nim polaryzacja. Nigdy nie pisałem programów więc proszę o pomoc i sprawdzenie tego co napisałem. Dobrze by było aby w programie dodać przycisk którym mógł bym podganiać zegar czyli po prostu szybsze impulsy.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0 4
  • Pomocny post
    #2 28 Paź 2013 16:34
    GSM
    Poziom 25  

    Znacznie lepiej (i zdecydowanie dokładniej) byłoby wykonywać to w przerwaniu timer-a pędzonego rezonatorem zegarkowym, lub cały uC z niego taktować.
    Skrócenie okresu możnaby chociażby, realizować ładując odpowiednią liczbę do timer-a po przepełnieniu.

    Pozdrawiam,
    GSM

    0
  • #3 28 Paź 2013 19:49
    puszak
    Poziom 28  

    No właśnie nie napisałem że to ma być dokładne, w końcu ma służyć jako zegar.
    Z tego co napisałeś niestety mało zrozumiałem. To co napisałem to mój pierwszy program. Mikro kontroler oczywiście chcę taktować rezonatorem kwarcowym, nie wewnętrznym. Czy mógł byś podać jaki przykład z objaśnieniem komend jak to zrobić dokładniej ?

    0
  • #4 28 Paź 2013 21:22
    GSM
    Poziom 25  

    Na elektrodzie było kilka(naście?) zegarków na ATmega8 w dziale DIY, z czego kilka widziałem oprogramowanych w BASCOM-ie. Zajrzyj na tamte tematy, na pewno ci się rozjaśni.
    Zegarki lepiej taktować rezonatorami zegarkowymi, bo takowe są do tego najlepiej przystosowane jakby nie było. Chociażby z racji częstotliwości 32768 Hz, które jest 15-tą potęgą dwójki, dzięki czemu korzystając z timer-a bardzo ci będzie odmierzać sekundy - 32768 podzielone przez 128 (prescaler) a następnie przez 256 (pojemność licznika) daje nam przerwanie dokładnie co 1 sekundę.

    Pozdrawiam,
    GSM

    0