![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Управление тактовым сигнал омФормирование тактового сигнала таймера/счетчика clkT0 (clkT2) осуществляется блоком предделителя, который был рассмотрен выше. В качестве тактового сигнала clkTO (clkT2) таймеров/счетчиков, не имеющих асинхронного режима, может использоваться: · системный тактовый сигнал (clkTO(T2) =clkI/O ); · масштабированный системный тактовый сигнал (clkTO(T2) =clkI/O /n); · внешний сигнал, поступающий на вход ТО (Т2) микроконтроллера (clkTO(T2) =clkI/O /ext); Тактовый сигнал таймеров/счетчиков с асинхронным режимом может формироваться либо из системного тактового сигнала clkI/O (clkTO(T2) =clkI/O /n), либо — в асинхронном режиме — из сигнала от дополнительного кварцевого резонатора ((clkTO(T2) =clkTOSC! /n)). Переключение между синхронным и асинхронным режимами работы осуществляется с помощью бита ASO (AS2) регистра ASSR. Выбор источника тактового сигнала, а также запуск и остановка таймеров/счетчиков осуществляются с помощью битов CS02...CSOO (CS21..CS20) регистров управления таймером TCCRn (TCCRnA/TCCRnB) согласно Табл.8. [ 1, с.352 ] Табица 8. Выбор источника тактового сигнала таймеров/счетчиков ТО и Т2.
Режимы работы Режим работы таймера/счетчика ТО (Т2) Определяется состоянием битов WGMn2:WGMn0 регистра ТССRn (TCCRnA/TCCRnB). Зависимость режима работы таймеров/счетчиков от состояния этих битов показана в Табл.9. [ 1, с.353 ] Таблица 9.Режимs работы таймеров/счётчиков( n=0,2)
16-битные таймеры счётчики Количество 16-битных таймеров зависит от модели.Контроллер Atmega 16 имеет один таймер/счётчик T1,в модели Atmega 162 уже два 16-битных таймера/счётчика-T1,T3.Они используются для формирования временных интервалов,для подсчёта числа внешних событий,формирования сигналов и генерации сигналов с ШИМ.В дополнение к этому 16-битные таймеры/счётчики могут по внешнему сигналу сохранять своё текущее состояние в отдельном регистре ввода/вывода. Каждый 16-битный регистр физически размещается в двух регистрах ввода/вывода, названия которых получаются путём добавления к названию регистра буквы”H”(старший байт) и ”L”(младший байт). Регистры 8-битных таймеров/счётчиков
Таймеры T1 и T3 могут генерировать прерывание при наступлении следующих событий: · переполнение счётного регистра · равенство счётного регистра и регистра сравнения(по одному прерыванию на каждый блок сравнения); · сохранение счётного регистра в регистре захвата Флаги всех прерываний 16-битных таймеров/счетчиков находятся в регистрах флагов TIFR/ETlFR/TIFRn, а разрешение/запрещение этих прерываний осуществляется установкой/сбросом соответствующих флагов регистров TIMSK/ETIMSK/TIMSKit (см. раздел 7.3). Счетный регистр таймера/счетчика TCNTrt входит в состав основного блока модуля — блока реверсивного счетчика. В зависимости от режима работы модуля содержимое счетного регистра сбрасывается, инкрементируется или декрементируется по каждому импульсу тактового сигнала таймера/счетчика clkTn. Независимо от того, присутствует тактовый сигнал или нет, регистр доступен в любой момент времени как для чтения, так и для записи. При этом любая операция записи в счетный регистр блокирует работу всех блоков сравнения на время одного периода тактового сигнала таймера/счетчика. После подачи напряжения питания в регистре TCNT/i находится нулевое значение. При некоторых изменениях состояния таймера/счетчика, определяемых режимом его работы, устанавливается бит TOVn в соответствующем регистре флагов. Разрешение прерывания осуществляется установкой в I бита ТО1Е« соответствующего регистра маски. Регистры сравнения OCRnA/OCInB входят в состав блоков сравнения. Во время работы таймера/счетчика производится непрерывное (в каждом такте) сравнение этих регистров с регистром TCNTn. В случае равенства содержимого регистра сравнения и счетного регистра в следующем такте устанавливается флаг OCFnA/OCFnB в соответствующем регистре флагов и генерируется прерывание (если оно разрешено). Также при наступлении этого события может изменяться состояние вывода ОСnА/ОСnВ/ОСnС микроконтроллера. Чтобы таймер/счетчик мог управлять состоянием какого-либо из этих выводов, он должен быть сконфигурирован как выходной (соответствующий бит регистра DDRx должен быть установлен в 1). Особенностью работы блока сравнения в режимах, предназначенных для формирования ШИМ-сигналов, является двойная буферизация записи в регистры сравнения. Она заключается в том, что записываемое число на самом деле сохраняется в специальном буферном регистре. А изменение содержимого регистра сравнения происходит только при достижении счетчиком максимального значения. Для управления таймером/счётчиком используются два регистра управления:TCCRnA,TCCRnB.
TCCR1A
Рис. 6. Формат регистров TCCR1A и TCCR3A. N=1,3 Биты регистров TCCRnA
TCCR1B
Рис. 7. Формат регистров TCCR1B и TCCR3B.
Таблица 10.N=1,3 Биты регистров TCCRnB
|