Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

432 Микроконтроллеры AVR от азов программирования... начинается выполнение соответствующей процедуры обработки преры ­ вания. Бит TOVO может быть очищен программно, путем записи в него логической единицы. Прерывание выполняется, когда флаг I регистра SREG, бит TOIEO (бит разрешения прерывания по переполнению) и флаг TOVO установлены. Действие этого флага зависит от состояния разрядов WGM02:0. Смотри табл. 6.40. Бит 0 — OCFOA: Флаг совпадения канале А. Бит OCFOA устанавли ­ вается в том случае, когда возникает совпадение содержимого счетного регистра таймера/счетчика 0 и регистра OCROA. Бит OCFOA аппаратно сбрасывается в ноль в тот момент, когда начинается выполнение соот ­ ветствующей процедуры обработки прерывания. Бит OCFOA может быть очищен программно путем записи в него логической единицы. Прерывание выполняется, когда флаг I регистра SREG, бит OCIEOA (бит разрешения прерывания по совпадению А) и флаг OCFOA установлены. Предварительные делители таймера/счетчика 0 и таймера/счетчика 1 Для таймера/счетчика 1 и таймера/счетчикаО используется один общий предварительный делитель (рис 6.28). Но каждый из таймеров/счетчиков может использовать свой собственный коэффициент пересчета предва ­ рительного делителя частоты. Все описанное ниже относится как к тай- меру/счетчику 1, так и к таймеру/счетчику 0. Внутренний источник тактового сигнала Любой таймер/счетчик может быть синхронизирован непосред ­ ственно от сигнала системного тактового генератора (при установке CSn2:0 = 1). Это самый скоростной режим работы с максимально воз ­ можной тактовой частотой таймера/счетчика, равной частоте системного генератора (f CLK 1/о ). Кроме этого, в качестве источника тактового сигнала может использоваться один из четырех выходов предварительного дели ­ теля. Частоты сигналов после предварительного делителя имеют следую ­ щие значения: (ськ_і/о^> ^сі.к_і/о/64; (ськ_і/о^256; f CLK I/o /1024. Сброс предварительного делителя Предварительный делитель работает автономно, то есть независимо от работы таймеров/счетчиков. Выбор тактового сигнала происходит отдельно для таймера/счетчика 1 и для таймера/счетчика 0. Так как работа предварительного делителя продолжается и в момент переключе ­ ния коэффициентов деления, то состояние предварительного делителя в

RkJQdWJsaXNoZXIy MTExODQxMg==