71
Timery/liczniki
hwytywania -$25/$24
Bit |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 | |
$25 ($45) $24 ($44) |
MSB |
ICR1H ICR1L | |||||||
LSB | |||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | ||
Odczyt/Zapis |
R |
R |
R |
R |
R |
R |
R |
R | |
R |
R |
R |
R |
R |
R |
R |
R | ||
Wartość początkowa 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | ||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 | ||
r - oznacza odczyt | |||||||||
16-bitowy rejestr |
przechwytywania jest |
przeznaczony tylko |
do odczytu. | ||||||
W chwili, w |
której |
na wejściu ICP zostanie wykryte narastające lub opadają- | |||||||
ce zbocze |
sygnału (w zależności od ustawień bitu |
ICES1 w rejestrze |
TCC1B), aktualna wartość Timera/Licznikal jest przepisywana do rejestru ICR1A (Input Capture Register 1). W tym samym momencie flaga ICF1 (In-put Capture Flag) jest ustawiana. I w tym przypadku, aby zapewnić jedno-czesność odczytu dwóch 8-bitowych rejestrów składających się na rejestr 16-bitowy ICR1A, zastosowano rejestr tymczasowy TEMP. Gdy CPU dokonuje odczytu mniej znaczącego rejestru ICR1L, pobierana dana jest przesyłana bezpośrednio do CPU i jednocześnie zawartość bardziej znaczącego rejestru (ICR1AH) jest umieszczana w rejestrze tymczasowym TEMP. Kiedy teraz CPU odczytuje rejestr OCR1AH, dana jest pobierana z rejestru TEMP. Konsekwencją takiego rozwiązania jest konieczność odczytywania najpierw młodszej (ICR1AL), później starszej (ICR1AH) części rejestru podczas operacji 16-bitowego odczytu. Jeśli program główny i procedury obsługi przerwań wykorzystują operacje z udziałem rejestru TEMP, to przerwania powinny być zablokowane na czas dostępu do tego rejestru.
Do realizacji 8-, 9- lub 10-bitowego modulatora PWM (Pulse Width Modu-lation) wykorzystywany jest Timer/Licznikl oraz rejestr OCR1A (Output Compare Register 1). Wyjściem modulatora jest wyprowadzenie OC1/PB3 mikrokontrolera. Modulator jest układem samodzielnym, co oznacza, że po załadowaniu parametrów generowanego sygnału, dalsza praca odbywa się bez ingerencji programu użytkowego. Parametr odpowiadający współczynnikowi wypełnienia może być oczywiście w dowolnym momencie zmieniany bez generowania zakłóceń typu glitch (niepożądane impulsy). Zmiany