Budowa i działanie mikrokontrolerów AVR
zliczania. Na skutek przepełnienia Timera/LicznikaO może być wygenerowane przerwanie, którego procedura obsługi jest umieszczona w pamięci programu pod adresem $006.
TCNTO (Timer/CounterO) - rejestr Timera/LicznikaO - $32
Bft |
7 |
6 |
K '5 |
4 |
3 |
2r ■ |
1 |
Ó | |
$32 ($52) |
1 MSB | |
1 ! |
1 |
i i |
i |
| LSB |
| TCNTO | ||
Odczyt/Zapis |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W | |
Wartość początkowa 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
R/W - oznacza odczyt/zapis
Timer/LicznikO zaprojektowano jako układ zliczający w górę. Rejestr TCNTO przechowujący aktualny stan zliczania jest dostępny zarówno do zapisu jak i odczytu. Jeśli zapis do tego rejestru nastąpi jednocześnie z impulsem zegarowym, najpierw zostanie zwiększony stan licznika, następnie zostanie dokonany wpis nowej wartości do rejestru. Osiągniecie stanu 0 jest traktowane jako przepełnienie. W tym momencie jest ustawiana flaga przepełnienia TOVO sygnalizująca żądanie obsługi przerwania. To czy zostanie ono zauważone przez CPU zależy od ustawienia bitu TOIEO w rejestrze ITMSK (Timer/Counter Interrupt Mask Registerj i bitu globalnego zezwolenia na przerwania I w rejestrze SREG.
Drugi timer/licznik wbudowany w mikrokontroler AT90S2313 jest znacznie bardziej rozbudowany niż omawiany poprzednio, może w związku z tym spełniać dodatkowe funkcje. Schemat blokowy Timera/Licznikal przedstawiono na rysunku 5.3. Jest to 16-bitowy timer/licznik, który może być taktowany bezpośrednio sygnałem CK (z oscylatora wewnętrznego), sygnałem CK podzielonym wstępnie przez preskaler lub sygnałem z wejścia zewnętrznego Tl. Układ TC1 może być zatrzymany w dowolnym momencie poprzez wyzerowanie bitów sterujących CS 12, CS11, CS 10 znajdujących się w rejestrze sterującym tego timera/licznika - TCCR1B (Timer/Counterl Control Register B).
Jeśli układ TC1 jest skonfigurowany jako licznik, zewnętrzny przebieg zegarowy nie steruje nim bezpośrednio, lecz jest synchronizowany sygnałem wewnętrznego oscylatora. W tym trybie sygnał zegarowy Tl jest próbkowany na narastającym zboczu zegara wewnętrznego. Odpowiednie warunki próbkowania będą spełnione tylko wtedy, gdy czas pomiędzy kolejnymi zbocza-