Zegar 32768Hz
- Krystian1989
- -
- Posty: 47
- Rejestracja: 06 kwie 2007, 8:56
- Lokalizacja: TBG
- Kontakt:
Zegar 32768Hz
Jaki program napisać , żebym miał impulsy co jedną sekundę. Mikroprocesor to Atmega8. A język to bascom. Z góry dzięki.
-
ZbeeGin
- Krystian1989
- -
- Posty: 47
- Rejestracja: 06 kwie 2007, 8:56
- Lokalizacja: TBG
- Kontakt:
Czy to będzie działać??
Kod: Zaznacz cały
$regfile="m8def.dat"
$crystal=8000000
Config Timer2 = Timer , Async = 1
On Timer2 co1sek
Enable Interrupts
Enable Timer2
dim a as byte
Do
Loop
co1sek:
incr a
return
Aby użyć Timerka2 do pracy w trybie RTC (real time counter) należy przede wszystkim ustawić bity AS2 w rejestrze ASSR przełączający go na pracę z zewnętrznym kwarcem zegarkowym.
Ważne jest także ustalenie pracy w fuse bitach i zastosować wewnętrzny generator do taktowania mikroprocesora (bity CKSEL3...0) przy czym bit CKOPT musi (!!) być niezaprogramowany (wartość logiczna 1 w tym przypadku). Bez tego nic nie ruszy z kopytka.
Kolejno to już jak kolega się wcześniej wypowiedział, dostosować Timerek, prescaler i obsługa przerwania po przepełnieniu.
i chyba wsio
pzdr.
Ważne jest także ustalenie pracy w fuse bitach i zastosować wewnętrzny generator do taktowania mikroprocesora (bity CKSEL3...0) przy czym bit CKOPT musi (!!) być niezaprogramowany (wartość logiczna 1 w tym przypadku). Bez tego nic nie ruszy z kopytka.
Kolejno to już jak kolega się wcześniej wypowiedział, dostosować Timerek, prescaler i obsługa przerwania po przepełnieniu.
i chyba wsio
pzdr.
-
ZbeeGin
I to właśnie robi instrukcja CONFIG TIMER2 z opcją ASYNC.Spark89 pisze:Aby użyć Timerka2 do pracy w trybie RTC (real time counter) należy przede wszystkim ustawić bity AS2 w rejestrze ASSR przełączający go na pracę z zewnętrznym kwarcem zegarkowym.
Przecież domyślnie układ ATMega8 jest taktowany z wewnętrznego generatora RC. Częstotliwość taktowania wynosi wtedy 1MHz i dużej mierze wystarcza do takich niepoważnych programów. Po co zatem kompilkować sprawę?Spark89 pisze:Ważne jest także ustalenie pracy w fuse bitach i zastosować wewnętrzny generator do taktowania mikroprocesora (bity CKSEL3...0) przy czym bit CKOPT musi (!!) być niezaprogramowany (wartość logiczna 1 w tym przypadku). Bez tego nic nie ruszy z kopytka.
Domyślnie - tak. Jednak jak sam zapewne wiesz jak często początkującyZbeeGin pisze:Przecież domyślnie układ ATMega8 jest taktowany z wewnętrznego generatora RC. Częstotliwość taktowania wynosi wtedy 1MHz i dużej mierze wystarcza do takich niepoważnych programów. Po co zatem kompilkować sprawę?
robią coś a następnie o tym zapominają a potem pojawiają się problemy...
Odpowiadając musiałem uznać z góry najbardziej 'przerażającą' możliwość
tzn. przyjąć że ktoś mógł wcześniej już nieładnie grzebać w fusach...
to tak... na wszelki wypadek...
a z taktowaniem to jest tak widzisz, jak kto lubi...
masz rację, że dla takiego "niepoważnego" programu i starczy 1MHz
a są tacy co chcą wycisnąć max. parametry układu...
cóż, to była taka odpowiedź... z góry poprzedzająca lawinowy proces powstawania problemów...
pzdr.