И снова здравствуйте! Сегодня я продолжаю тему прошлого урока, в котором я подключил встроенный АЦП и отобразил значение измерения на светодиодной шкале. Для того чтобы настроить встроенный АЦП нужно установить соответствующие регистры микроконтроллера. За выбор входного канала, а также настройку опорного напряжения отвечает регистр ADMUX.
Биты REFS0-REFS1 отвечают за выбор опорного напряжения.
REFS[1..0] = 00 - подключен внешний источник опорного напряжения, внутренний ИОН отключен
REFS[1..0] = 01 – AVCC с внешним конденсатором на ножке AREF
REFS[1..0] = 10 – Зарезервировано
REFS[1..0] = 11 - Внутренний ИОН на 1,1V, с внешним конденсатором на ножке AREF
Биты MUX0-MUX3 отвечают за выбор входного канала.
Выбор входа осуществляется регистром ADMUX, а точнее его битами MUX3…MUX0. Записанное туда число определяет выбранный вход. Например, если MUX3..0 = 0100, то подключен вывод ADC4.
Также существует несколько служебных комбинаций битов MUX, использующихся для калибровки.
Например, 1110 подключает к АЦП внутренний источник опорного напряжения на 1.1 вольта. А если записать в MUX3..0 все единицы, то АЦП будет изнутри посажено на землю. Это полезно для выявления разных шумов и помех.
При помощи этого бита ADLAR можно выбрать способ записи измеренного значения в регистры ADCL и ADCH
Регистр ADCSRA:
Бит ADEN (7) регистра ADCSRA включает или выключает АЦП (1-включен).
Бит ADSC (6) регистра ADCSRA запускает преобразование если в него записать 1 (для многоразового режима запуск первого преобразования).
Бит ADATE (5) регистра ADCSRA позволяет запускать преобразование по прерыванию от переферийных устройств микроконтроллера если установить в 1.
Бит ADIF (4) регистра ADCSRA - флаг прерывания от АЦП.
Бит ADIE (3) регистра ADCSRA - разрешает прерывания от АЦП если установлен в 1.
Биты ADPS2 - ADPS0 (2 - 0) регистра ADCSRA выбирают режим работы предделителя тактовой частоты:
Регистр ADCSRB:
Бит ACME (6) регистра ADCSRB позволяет использовать мультиплексор АЦП в качестве входов аналогового компаратора при установке 1 (при этом АЦП должен быть выключен).
Биты ADTS2 - ADTS0 (2 - 0) регистра ADCSRB выбирают источник сигнала, по которому будет начинаться преобразование АЦП:
000 - непрерывное преобразование
001 - прерывание от аналогового компаратора
010 - внешнее прерывание INT0
011 - прерывание по совпадению таймера/счетчика T0 с A
100 - прерывание по переполнению таймера/счетчика T0
101 - прерывание по совпадению таймера/счетчика T1 с B
110 - прерывание по переполнению таймера/счетчика T1
111 - прерывание по захвату таймера/счетчика T1
Если есть вопросы и предложения по этому уроку, пишите комментарии буду рад ответить на ваши вопросы.
Часть 1
Часть 2-1 Часть 2-2
Часть 3-1
Мой блог в ЖЖ: http://evgenij-byvshev.livejournal.com
Привет!
Этот пост был выбран Академией Голоса и попал в список программы поддержки качественных образовательных постов.
Ссылка на твой пост будет опубликована в отчете Академии.
Спасибо за полезный контент (ノ◕ヮ◕)ノ*:・゚✧