Основы программирования микроконтроллеров ATMega128 и 68hc908. Китаев Ю.В. - 17 стр.

UptoLike

Составители: 

прерывания и для других источников, в частности для АЦП (вектор по
адресу 2A).
Рис.1.7. Фрагмент кода, сгенерированного компоновщиком
4.4 ПРОГРАММИРОВАНИЕ ВСТРОЕННОГО В МК АЦП
ATmega128 содержит 10-разрядный АЦП последовательного
приближения (рис.1.8). Вход АЦП связан с выходом 8-канального
аналогового мультиплексора. Эти 8 однополярных каналов АЦП связаны с
линиями порта F. Входы АЦП могут объединятся попарно для ввода
дифференциальных напряжений. Два дифференциальных входа (ADC1,
ADC0 и ADC3, ADC2) содержат каскад со ступенчатым программируемым
усилением: 0 дБ (1x), 20 дБ (10x), или 46 дБ (200x). Если выбрано усиление
10x, то точность преобразования ограничивается 8-ю битами, а если 200x, то
7-ю.
АЦП преобразовывает входное аналоговое напряжение в 10-разр. код
методом последовательных приближений. Минимальное значение
соответствует уровню GND (0), а максимальное уровню AREF равное 2,56 В
в лабораторном стенде.
Канал аналогового ввода и каскад дифференциального усиления
выбираются путем записи битов MUX в регистре ADMUX. В качестве
однополярного аналогового входа АЦП может быть выбран один из входов
ADC0…ADC7, а также GND и выход источника опорного напряжения
1,22 В.
Работа АЦП разрешается путем установки бита ADEN в ADCSRA.
Выбор опорного источника и канала преобразования не возможно выполнить
до установки ADEN.
17
АЦП генерирует 10-разрядный результат, который помещается в пару
регистров данных АЦП ADCH и ADCL. По умолчанию результат
преобразования размещается в младших 10-ти разрядах 16-разр. слова