Бит | |||||||||
$27 ($47) | MSB | ICR1H | |||||||
$26 ($46) | LSB | ICR1L | |||||||
Чтение/Запись | R | R | R | R | R | R | R | R | |
R | R | R | R | R | R | R | R | ||
Исходное значение | |||||||||
16-разрядный регистр захвата входа обеспечивает только чтение содержимого.
При обнаружении на выводе захвата входа ICР нарастающего или падающего фронта сигнала (определяемого установкой ICES1) текущее состояние таймера/счетчика1 пересылается в регистр ICR1. Одновременно устанавливается в состояние 1 флаг захвата входа ICF1.
Поскольку регистр захвата входа является 16-разрядным, то для обеспечения одновременного чтения старшего и младшего байтов данных регистра ICR1 используется регистр временного хранения TEMP. При считывании CPU данных младшего байта содержимое ICR1L пересылается в CPU, а содержимое старшего байта ICR1H размещается в регистре TEMP. Чтение старшего байта заключается в переносе в CPU содержимого регистра временного хранения TEMP. Следовательно, при чтении всего 16-разрядного регистра операцию чтения необходимо начинать с младшего байта ICR1L.
|
|
Регистр TEMP используется также при обращении к TCNT1, OCR1A и OCR1B. Если основная программа и подпрограммы обработки прерываний используют обращение к регистрам посредством TEMP, то прерывания должны быть запрещены на время обращения из основной программы.