Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Режимы работы таймеров



Таймеры микроконтроллеров семейства AVR могут работать в нескольких режимах. Разные микроконтроллеры имеют разные наборы режимов для своих таймеров. Для выбора режимов работы существуют специальные регистры - регистры управления таймерами. Для простых таймеров используется один регистр управления. Для более сложных - два регистра. Регистры управления таймером называются TCCRx (где x - номер таймера). Например, для таймера T0 используется один регистр, с именем TCCR0. Для управления таймером T1 используется два регистра: TCCR1A и TCCR1 B. При помощи регистров управления производится не только выбор соответствующего режима, но и более тонкая настройка таймера. Ниже перечислены все основные режимы работы таймера и их описание.

Нормальный режим (Normal)

Это самый простой режим. В этом режиме таймер производит подсчет приходящих на его вход импульсов (от тактового генератора или внешнего устройства) и вызывает прерывание по переполнению. Этот режим является единственным режимом работы для восьмиразрядных таймеров большинства микроконтроллеров семейства Tiny и для части микроконтроллеров семейства Mega. Для всех остальных восьмиразрядных и всех шестнадцатиразрядных таймеров это всего лишь один из возможных режимов.

Режим «Захвата» (Capture)

Суть этого режима заключается в сохранении содержимого счетного регистра таймера в определенный момент времени. Запоминание происходит либо по сигналу, поступающему через специальный вход микроконтроллера, либо от сигнала с выхода встроенного компаратора. Этот режим удобен в том случае, когда нужно измерить длительность какого либо внешнего процесса. Например, время, за которое напряжение на конденсаторе достигнет определенного значения. В этом случае напряжение с конденсатора подается на один из входов компаратора, а на второй его вход подается опорное напряжение. Микроконтроллер должен одновременно запустить два этих процесса (подать напряжение на конденсатор и запустить таймер в режиме Capture). Конденсатор начнет заряжаться, напряжение на нем при этом будет плавно расти. Одновременно счетчик таймера будет отсчитывать тактовые импульсы заданной частоты. В тот момент, когда напряжение на конденсаторе сравняется с опорным напряжением, логический уровень на выходе компаратора изменится на противоположный. По этому сигналу текущее значение счетного регистра запоминается в специальном регистре захвата. Имя этого регистра ICRx (для таймера T0 это будет ICR0, для T1 - ICR1 и т. д.). Одновременно вырабатывается запрос на прерывание.

Используя принцип измерения времени зарядки, удобно создавать простые схемы, работающие с различными аналоговыми датчиками (температуры, давления и т.д.). Если принцип работы датчика состоит в изменении его внутреннего сопротивления, то такой датчик можно включить в цепь зарядки конденсатора. Емкостные датчики можно подключать напрямую.





Дата публикования: 2015-01-24; Прочитано: 595 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...