Читайте также:
|
|
Регистры сравнения A выхода таймера/счетчика1 - OCR1AH и OCR1AL - (Timer/Counter1 Output Compare Register)
Биты |
| |||||||||||||||||
$2B ($4B) $2A ($4A) |
| OCR1AH OCR1AL | ||||||||||||||||
| ||||||||||||||||||
Чтение/Запись |
| |||||||||||||||||
Начальное состояние |
|
Регистры сравнения B выхода таймера/счетчика1 - OCR1BH и OCR1BL - (Timer/Counter1 Output Compare Register)
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 | ||||||||||||||||
| ||||||||||||||||||
Чтение/Запись |
| |||||||||||||||||
Начальное состояние |
|
Регистр захвата входа таймера/счетчика1 - ICR1H и ICR1L - (Timer/Counter1 Input Capture Register)
Биты |
| |||||||||||||||||
$27 ($47) $26 ($46) |
| ICR1H ICR1L | ||||||||||||||||
| ||||||||||||||||||
Чтение/Запись |
| |||||||||||||||||
Начальное состояние |
|
16-разрядный регистр захвата входа обеспечивает только чтение содержимого.
При обнаружении на выводе захвата входа PD4(IC1) нарастающего или падающего фронта сигнала (определяемого установкой ICES1) текущее состояние таймера/счетчика1 пересылается в регистр захвата входа ICR1. Одновременно устанавливается в состояние 1 флаг захвата входа ICF1.
Поскольку регистр захвата входа является 16-разрядным, то для обеспечения одновременного чтения старшего и младшего байтов данных регистра ICR1 используется регистр временного хранения TEMP. При считывании CPU данных младшего байта содержимое ICR1L пересылается в CPU, а содержимое старшего байта ICR1H размещается в регистре TEMP, чтение старшего байта заключается в переносе в CPU содержимого регистра временного хранения TEMP. Следовательно, при чтении всего 16-разрядного регистра операцию чтения необходимо начинать с младшего байта ICR1L. Регистр TEMP используется также при обращении к TCNT1, OCR1A и OCR1B. Если основная программа и подпрограммы обработки прерываний, используют обращение к регистрам посредством TEMP, то прерывания должны быть запрещены на время обращения из основной программы.
Дата добавления: 2015-07-18; просмотров: 88 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Разрядный таймер/счетчик1 | | | Таймер/счетчик1 в ШИМ режиме |