Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
104 Микроконтроллеры AVR от азов программирования... Асинхронный режим В некоторых моделях микроконтроллеров таймер может работать в асинхронном режиме. В этом режиме на вход таймера подается либо частота от внутреннего кварцевого генератора, либо от внешнего генера тора. Счетчик не вырабатывает никаких прерываний и дополнительных сигналов. В этом режиме он работает в качестве часов реального вре мени. Микроконтроллер может предустанавливать содержимое счетного регистра. А затем в любой момент он может считать это содержимое, получив, таким образом, текущее значение реального времени. Предделители таймеров/счетчиков Как уже говорилось ранее, каждый таймер микроконтроллера может работать от двух разных источников тактовых импульсов. Либо это внешние импульсы, либо импульсы, вырабатываемые внутренней схемой микроконтроллера. Какой бы источник сигналов ни был выбран, перед тем, как попасть на вход таймера, этот сигнал проходит схему предвари тельного делителя. Предварительный делитель предназначен для того, чтобы расширить диапазон формируемых частот и длительностей тай мера. Каждая микросхема AVR имеет свою структуру предварительного делителя для таймеров/счетчиков. Упрощенная схема одного из вариан тов предварительного делителя приведена на рис. 3.7. Как видно из схемы, частота внутреннего тактового генератора CLK поступает на специальный десятиразрядный делитель. С выходов дели теля снимаются сигналы CLK/8, CLK/32, CLK/64, CLK/128, CLK/256 и CLK/1024. Все эти сигналы поступают на входы данных мультиплексора. На адресные входы мультиплексора поступают сигналы от трех разрядов регистра управления таймером (TCCRn). Таким образом, записывая в разряды CSnO, CSnl, CSn2 различные значения, можно выбирать один из восьми режимов работы предде- лителя. В зависимости от выбран ного режима, на выход схемы могут поступать сигнал с одного из выхо дов десятиразрядного делителя, прямой сигнал с тактового генера тора либо нулевой логический уро вень (входа D0). В последнем слу чае сигнал на входе таймера будет отсутствовать, и его работа при останавливается. Схема, приведенная на рис. 3.7, не является стандартом для всех CLKI/O Рис. 3.7. Предделитель для таймера
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==