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

100 Микроконтроллеры AVR от азов программирования... Режим «Захват» (Capture) Суть этого режима заключается в сохранении содержимого счетного регистра таймера в определенный момент времени. Запоминание проис ­ ходит либо по сигналу, поступающему через специальный вход микро ­ контроллера, либо от сигнала с выхода встроенного компаратора. Этот режим удобен в том случае, когда нужно измерить длительность какого-либо внешнего процесса. Например время, за которое напряже ­ ние на конденсаторе достигнет определенного значения. В этом случае напряжение с конденсатора подается на один из входов компаратора, а на второй его вход подается опорное напряжение. Микроконтроллер должен одновременно запустить два этих процесса: подать напряжение на конденсатор; запустить таймер в режиме Capture. Конденсатор начнет заряжаться, напряжение на нем при этом будет плавно расти. Одновременно счетчик таймера будет отсчитывать так ­ товые импульсы заданной частоты. В тот момент, когда напряжение на конденсаторе сравняется с опорным напряжением, логический уровень на выходе компаратора изменится на противоположный. По этому сиг ­ налу текущее значение счетного регистра запоминается в специальном регистре захвата. Имя этого регистра ICRx (для таймера ТО это будет ICR0, для Т1 — ICR1 и т. д.). Одновременно вырабатывается запрос на прерывание. Используя принцип измерения времени зарядки, удобно создавать простые схемы, работающие с различными аналоговыми датчиками (температуры, давления и т. д.). Если принцип работы датчика состоит в изменении его внутреннего сопротивления, то такой датчик можно включить в цепь зарядки конденсатора. Емкостные датчики можно под ­ ключать напрямую. Режим «Сброс при совпадении» (СТС) Для работы в режиме СТС используется специальный регистр — регистр совпадения. Если микроконтроллер содержит несколько тайме ­ ров, то для каждого из них существует свой отдельный регистр совпаде ­ ния. Причем для восьмиразрядных таймеров регистр совпадения — это один восьмиразрядный регистр. Для шестнадцатиразрядных таймеров регистр совпадения — это два восьмиразрядных регистра. Регистры сравнения также имеют свои имена. Например, регистр совпадения таймера Т1 состоит из двух регистров: OCR1L и OCR1H. В ряде микроконтроллеров существуют два регистра совпадения. Так, во всех микроконтроллерах семейства «Tiny» существует два регистра совпадения для таймера Т1. Это регистры OCR1A и OCR1B. Два реги ­ стра совпадения для таймера Т1 имеет и микроконтроллер ATmega8x. Во

RkJQdWJsaXNoZXIy MTExODQxMg==