Регистр захвата входа таймера/счетчика1 - ICR1H и ICR1L - (Timer/Counter1 Input Capture Register)

Бит                  
$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, то прерывания должны быть запрещены на время обращения из основной программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: