70 Budowa i działanie mikrokontrolerów A VR
ea |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
S2B(S4B) S2A (S4A) |
MSB | |||||||
lsb | ||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 | |
Odczyt/Zapis |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
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 | |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0CR1AH
0CR1AL
R/W - oznacza odczyt/zapis
Wartość porównywana przez układ TC1 jest przechowywana w 16-bitowym rejestrze OCR1A składającym się z rejestru OCR1AH (starszy bajt) i OCR1 AL (młodszy bajt). Wartość zapisana w nim jest bezustannie porównywana zwartością Timera/Licznikal. W przypadku wystąpienia warunku równości obu rejestrów, tzn. gdy OCR 1 AH=TCNT1 H i OCR 1 AL=TCNT1L. wykonywana jest akcja określona w rejestrze sterującym Timera/Licznikal (TCCR1 A) i rejestrze statusu (SREG). Aby zapewnić jednoczesność odczytu dwóch 8-bitowych rejestrów składających się na rejestr 16-bitowy, zastosowano podobny' mechanizm jak w przypadku rejestru TCNT1. W operacjach dostępu do OCR1A korzysta się z rejestru tymczasowego TEMP. Gdy CPU dokonuje zapisu do bardziej znaczącego rejestru OCR 1AH. zapisywana dana jest umieszczana początkowo w rejestrze tymczasowym TEMP. Następnie, w ty m samym momencie, w którym odbyw a się zapis mniej znaczącego rejestru OCR 1 AL. do rejestru OCR1 AH przepisywany jest rejestr TEMP. Konsekwencją takiego rozwiązania jest konieczność wpisywania najpierw starszej (OCR1AH), później młodszej (OCR1AL) części rejestru podczas operacji 16-bitowego zapisu. Analogicznie wygląda operacja odczytu rejestru OCR1A. Gdy CPU dokonuje odczytu mniej znaczącego rejestru OCR 1 AL pobierana dana jest przesyłana bezpośrednio do CPU i jednocześnie zaw artość bardziej znaczącego rejestru (OCR 1 AH ) jest umieszczana w rejestrze tymczasowym TEMP. Kiedy teraz CPU odczytuje rejestr OCR 1 AH. dana jest pobierana z rejestru TEMP. Konsekwencją takiego rozwiązania jest konieczność odczytywania najpierw młodszej (OCRIALj, później starszej (OCR 1 AH) części rejestru podczas operacji 16-bitowego odczytu. Jeśli program główny i procedury obsługi przerwań wykorzystują operacje z nrbiałpm rejestru TEMP. przerwania powinny być zablokowane na czas dostępu do tego rejestru.