ВУЗ:
Составители:
out MCUCR,tmp
sleep ; спящий режим
; обработка прерывания
Ext_Int1:
ldi tmp,16 ; установка в регистр OCR0A числа 16
out OCR0A,tmp
ldi tmp,0b01000010 ; сброс при совпадении и OC0A меняется на противопо-
ложное
out TCCR0A,tmp
f
TCNT0
F=f/2
OC0A
16
2.25. Шестнадцатиразрядный таймер/счетчик T/C1
Организован как два 8-ми разрядных регистра. В него добавлен режим захвата
(вход ICR). Назначение его – сохранение в определенный момент времени состоя-
ния таймера в регистре захвата (ICR1H, ICR1L). Это действие производится по
фронту сигнала на выводе ICP (PD6), либо по сигналу от аналогового компарато-
ра. Одновременно устанавливается флаг регистра TIFR и генерируется запрос на
прерывание.
16-разрядный регистр физически размещается в двух 8-разрядных регистрах.
Соответственно, для обращения к ним надо выполнить по две операции чтения
или записи.
Для того, чтобы запись/чтение обоих байт содержимого 16-разрядного реги-
стра происходило одновременно, в составе таймера имеется специальный 8-раз-
рядный регистр TEMP, предназначенный для хранения старшего байта значения.
Этот регистр используется процессором и программно недоступен.
Для выполнения цикла записи 16-разрядного регистра первым загружается
старший байт, который помещается в регистр TEMP. При последующей записи
младшего байта он объединяется с содержимым регистра TEMP и оба байта од-
новременно (в одном машинном цикле) записываются в 16-разрядный регистр.
Регистр управления модулем T/C1 TCCR1A полностью аналогичен регистру
TCCR0A таймера T/C0.
Регистр TTCR1A
7 6 5 4 3 2 1 0
COM1A1 COM1A0 COM1B1 COM1B0 - - WGM11 WGM10
71
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »