КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Управление предделителямиПомимо управления тактовым сигналом таймера/счетчика, все микроконтроллеры семейства позволяют осуществлять сброс предделителей, а отдельные модели позволяют также осуществлять их остановку. Для этого используется либо регистр специальных функций SFIOR, расположенный по адресу $23 ($43). Формат этого регистра для различных моделей микроконтроллеров приведен на Рис.4 (биты, не используемые для управления предделнтелями таймеров/счетчиков, указаны на рисунке как X).
Рис. 4. Формат регистров SFIOR
Для сброса преддслителей таймеров/счетчиков используются биты PSRx регистра. При записи в эти биты лог. 1 предделители соответствующих таймеров/счетчиков переводятся в исходное состояние. Биты сбрасываются в 0 аппаратно после выполнения операции сброса. Напоминаю, что один предделитель, как правило, используется несколькими таймерами/счетчиками, и соответственно сброс прелделителя повлияет на все таймеры/счетчики, которые его используют. Остановка всех предделнтелей микроконтроллера осуществляется записью лог. 1 вбит TSM perистpa SFSOR или GTCCR. Последующий запуск прелделителей осуществляется записью в бит TSM лог. 0. Указанная функция может использоваться, в частности, для синхронизации тай ыеров/счетчиков. После установки бита TSM и битов PSRx соответствующие таймеры/счетчики останавливаются и могут быть проинициализированы требуемыми значениями. После сброса бита TSM биты PSRx аппаратно сбрасываются и все таймеры/счетчики начинают работать одновременно. Восьмибитные таймеры счётчики Таймер/счётчик T0,T2 используются для отсчёта временных интервалов или как счётчики внешних событий, а также в качестве одноканальных генератора 8-битного ШИМ-сигнала.Таймер/счётчик T2 отличается от Т0 тем,что может работать в асинхронном режиме(обычно этот режим используется для реализации часов реального времени). Функции таймера/счётчика T0
Функции таймера/счётчика T2
Регистры 8-битных таймеров/счётчиков
Счетный регистр таймера/счетчика TCNTn входит в состав основного блока модуля — блока реверсивного счетчика. В зависимости от режима работы модуля содержимое счетного регистра сбрасывается, инкрементируется или декрементируется по каждому импульсу тактового сигнала таймера/счетчика clkТ0). Независимо от того, присутствует тактовый сигнал или нет, регистр доступен в любой момент времени как для чтения, так и для записи. Однако следует помнить, что любая операция записи в счетный регистр блокирует работу блока сравнения на время одного периода тактового сигнала таймера/счетчика. После подачи напряжения питания в регистре TCNTn находится нулевое значение. При достижении таймером/счетчиком максимального или минимального значения (конкретный вариант зависит от его режима работы) устанавливается флаг TOVn в регистре флагов TIFR (TIFRn). Разрешение прерывания осуществляется установкой в 1 бита ТОIЕn регистра маски TIMSK(TIMSKn). Разумеется, флаг I регистра SREG также должен быть установлена 1. Регистры сравнения ОСRn (OCRnA/OCRnB) входят в состав блоков сравнения модуля. Во время работы таймера/счетчика производится непрерывное (в каждом такте) сравнение этих регистров с регистром TCNTn.В случае равенства содержимого этих регистров в следующем такте устанавливается флаг OCFn (OCFnA/OCFnB) в соответствующем регистре флагов и генерируется прерывание (если оно разрешено). Кроме того, при наступлении этого события может изменяться состояние вывода OCn (ОСnА/ОСnВ) микроконтроллера. Чтобы таймер/счетчик мог управлять состоянием этих выводов, они должны быть сконфигурированы как выходы (соответствующий бит регистра DDRx должен быть установлен в 1). Напоминаю, что любая операция записи в счетный регистр блокирует формирование сигнала о совпадении, если оно произойдет в следующем такте. Регистры TCCRn (ТССRnА/ТССRnВ) предназначены для управления модулем таймера/счетчика. Формат этих регистров приведен на Рис.5,а описание их битов — соответственно в Табл.7. [ 1, с.339 ]
Рис. 5. Формат регистров TCCR0 и TCCR2. Таблица 7.Биты регистров TCCR0 и TCCR2.
|