16-разрядные регистры сравнения выхода обеспечивают и чтение и запись.
Регистры сравнения выхода таймера/счетчика1 хранят данные постоянно сравниваемые с состоянием таймера/счетчика1. Действие, запускаемое совпадением при сравнении определяется содержимым регистра управления и состояния таймера/счетчика1. Совпадение при сравнении может произойти только если таймер/счетчик1 досчитает до значения содержимого OCR. Если в TCNT1 и OCR1A или OCR1B программно будут записаны одинаковые значения, то значения, то совпадение при сравнении сгенерировано не будет.
Совпадение при сравнении устанавливает флаг прерывания по совпадению в тактовом цикле CPU следующем за самим совпадением.
Поскольку регистры сравнения выхода OCR1A и OCR1B являются 16-разрядными, то для обеспечения одновременного занесения старшего и младшего байтов данных в регистры OCR1A/B используется регистр временного хранения TEMP. Когда CPU записывает старший байт, то данные временно сохраняются в регистре TEMP. Когда же CPU записывает младший байт в OCR1AL или OCR1BL, то одновременно содержимое регистра OCR1BH переписывается в OCR1AH или OCR1BH. Следовательно, при 16-разрядных операциях старшие байты регистров OCR1A/B должны записываться первыми.
|
|
Кроме того, регистр TEMP используется при обращении к TCNT1 и ICR1. Если основная программа и подпрограммы обработки прерываний, используют обращение к регистрам посредством TEMP, то прерывания должны быть запрещены на время обращения из основной программы.
Биты | ||||||||||||||||||
$29 ($49) $28 ($48) |
| OCR1BH OCR1BL | ||||||||||||||||
Чтение/Запись |
| |||||||||||||||||
Начальное состояние |