Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 3. А теперь ближе к практике: знакомтесь — микроконтроллеры AVR 107 Каждый АЦП снабжен многоканальным аналоговым коммутатором (мультиплексором), который позволяет измерять аналоговое напряже ние с нескольких разных входов. Количество входов АЦП у разных микро схем различное. Существуют варианты в 4, 6, 8 и 11 входов. Количество входов аналого-цифрового преобразования для каждой из микросхем серии AVR можно узнать из табл. 3.1 (графа «Число Каналов АЦП»). Обычно измеряемый сигнал прикладывается между соответствующим входом АЦП и аналоговым общим проводом. Такие входы называются несимметричными. В некоторых микроконтроллерах имеется режим, в котором входы АЦП объединяются попарно и образуют дифференци альные входы. Дифференциальные входы отличаются от обычных тем, что измеряемый сигнал прикладывается между двумя входами: прямым и инверсным. При этом наводимые помехи компенсируются, а полезный сиг нал проходит без изменений. Такие входы называются симметричными. Процесс преобразования напряжения в код занимает 13 или 14 так тов. За это время происходит подбор кода методом последовательных приближений. По окончании процесса преобразования вырабатывается запрос на прерывание. Результат преобразования записывается в пару регистров ADCH, ADCL. Из шестнадцати разрядов этой регистровой пары используются только 10. Остальные всегда равны нулю. Причем могут использоваться либо десять старших разрядов (ADCH7 — ADCH0, ADCL7, ADCL6), либо десять младших разрядов (ADCH1, ADCH0, ADCL7 — ADCL0). Это зависит от выбранного вами режима работы. АЦП могут работать как в одиночном режиме, так и в непрерывном. В непрерывном режиме преобразования идут один за другим. В одиноч ном режиме процесс преобразования запускается однократно от одного из следующих событий: ♦ прерывания от аналогового компаратора; внешнего прерывания INTO; ♦ прерывания по событию «Совпадение» одного из таймеров; ♦ прерывания по переполнению одного из таймеров; ♦ прерывания по событию «Захват» одного из таймеров. Управление всеми режимами работы АЦП производится при помощи двух специальных регистров ADMUX и ADCSR. Регистр ADMUX предна значен для управления входным аналоговым мультиплексором. Регистр ADCSR предназначен для выбора режима работы АЦП. Процесс преобразования в АЦП синхронизируется от внутреннего генератора микроконтроллера. Тактовый сигнал от генератора поступает на АЦП через предварительный делитель с программируемым коэффи циентом деления. Коэффициент деления зависит от значения разрядов ADPSO, ADPS1 и ADPS2 регистра ADCSR и может принимать значения 2,4, 8,16, 32, 64 и 128.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==