Раздел: Документация
0 ... 116 117 118 119 120 121 122 ... 195 Таблица 7.20. Регистры 16-битных таймеров/счетчиков
(продолжение)
Таймеры/счетчики Tl и T3...T5 могут генерировать прерывание при наступлении следующих событий: •переполнение счетного регистра; •равенство счетного регистра и регистра сравнения (по одному прерыванию на каждый блок сравнения); •сохранение счетного регистра в регистре захвата. Флаги всех прерываний 16-битных таймеров/счетчиков находятся в регистрах флагов TIFR/ETIFR/TIFRa, а разрешение/запрещение этих прерываний осуществляется установкой/сбросом соответствующих флагов регистров TIMSK/ETIMSK/TIMSK/7 (см. раздел 7.3). Счетный регистр таймера/счетчика TCNTh входит в состав основного блока модуля — блока реверсивного счетчика. В зависимости от режима работы модуля содержимое счетного регистра сбрасывается, инкременти-руется или декрементируется по каждому импульсу тактового сигнала таймера/счетчика с1кт„. Независимо от того, присутствует тактовый сигнал или нет, регистр доступен в любой момент времени как для чтения, так и для записи. При этом любая операция записи в счетный регистр блокирует работу всех блоков сравнения на время одного периода тактового сигнала таймера/счетчика. После подачи напряжения питания в регистре TCNTVj находится нулевое значение. При некоторых изменениях состояния таймера/счетчика, определяемых режимом его работы, устанавливается бит TOVai в соответствующем регистре флагов. Разрешение прерывания осуществляется установкой в 1 бита Т01Ел соответствующего регистра маски. Регистры сравнения OCR/iA/OCR/jB/OCRaC входят в состав блоков сравнения. Во время работы таймера/счетчика производится непрерывное (в каждом такте) сравнение этих регистров с регистром TCNTh. В случае равенства содержимого регистра сравнения и счетного регистра в следующем такте устанавливается флаг OCFwA/OCFaiB/OCFaiC в соответствующем регистре флагов и генерируется прерывание (если оно разрешено). Также при наступлении этого события может изменяться состояние вывода ОСлА/ОСлВ/ОСлС микроконтроллера. Чтобы таймер/счетчик мог управлять состоянием какого-либо из этих выводов, он должен быть сконфигурирован как выходной (соответствующий бит регистра DDRjc должен быть установлен в 1). Особенностью работы блока сравнения в режимах, предназначенных для формирования ШИМ-сигналов, является двойная буферизация записи в регистры сравнения. Она заключается в том, что записываемое число на самом деле сохраняется в специальном буферном регистре. А изменение содержимого регистра сравнения происходит только при достижении счетчиком максимального значения. Регистр захвата ICR/j входит в состав блока захвата, назначение которого — сохранение в определенный момент времени состояния таймера/счетчика в регистре захвата. Это действие может производиться либо по активному фронту сигнала на выводе 1СРл микроконтроллера, либо (для таймера/счетчика Т1) по сигналу от аналогового компаратора. Одновременно с записью в регистр захвата устанавливается флаг ICFai соответствующего регистра флагов и генерируется запрос на прерывание. Разрешение прерывания осуществляется установкой в 1 бита ТЮЕя регистра маски. 0 ... 116 117 118 119 120 121 122 ... 195
|