Раздел: Документация
0 ... 129 130 131 132 133 134 135 ... 195
АТгледавх ATmega 128х Остальные ATmega8x— ADCSR Остальные модели — ADCSRA Рис. 9.2. Формат регистра ADCSRA (ADCSR) Таблица 9.2. Биты регистра ADCSRA (ADCSR1*)
АТтедавх АТтеда48х/88х/168х Л/с. 9. J. Формат регистра ADMUX Таблица 9.3. Биты регистра ADMUX
Формат регистров ADCSRB и SFIOR приведен на Рис. 9.4 и Рис. 9.5 соответственно (неиспользуемые в данном случае биты регистра SFIOR указаны на рисунке как «X»). Для разрешения работы АЦП необходимо записать лог. 1 в бит ADEN регистра ADCSR, а для выключения — соответственно лог. 0. Если АЦП будет выключен во время цикла преобразования, то преобразование завершено не будет (в регистре данных АЦП останется результат предыдущего преобразования). 7 6 5 4 3 2 1 0
ATmega64x ATmega48x/88x/168x ATmega 164x/324x/644x ATmega 165x/325x/3250x ATmega645x/6450x ATmega 1281x/2561x ATmega640x/1280x/2560x Puc. 9.4. Формат регистра ADCSRB
ATmega8535x ATmega 16x/32x 4TeHne(R)/3anncb(W) R/W R/W R/W RXXXX Начальное значение 00000000 Рис. 9.5. Регистр SFIOR В моделях ATmega8x и ATmega 128х режим работы АЦП определяется состоянием бита ADFR. Если он установлен в 1, АЦП работает в режиме непрерывного преобразования. В этом режиме запуск каждого следующего преобразования осуществляется автоматически после окончания текущего. Если же бит ADFR сброшен в 0, АЦП работает в режиме одиночного преобразования и запуск каждого преобразования осуществляется по команде пользователя. Во всех моделях, кроме ATmega8x и ATmega 128х, запуск АЦП возможен не только по команде пользователя, но и по прерыванию от некоторых периферийных устройств, имеющихся в составе микроконтроллера. Для выбора режима работы в этих моделях используется бит ADATE регистра ADCSRA и биты ADTDS2:0 регистра SFIOR или ADCSRB (см. Табл. 9.1 и Рис. 9.4, 9.5). Если бит ADATE сброшен в 0, АЦП работает в режиме одиночного преобразования. Если же бит ADTAE установлен в 1, функционирование АЦП определяется содержимым битов ADTS2:0 согласно Табл. 9.4. Таблица 9.4. Источник сигнала для запуска преобразования
Запуск каждого преобразования в режиме одиночного преобразования, а также запуск первого преобразования в режиме непрерывного преобразования осуществляется установкой в 1 бита ADSC регистра ADCSRA (ADCSR). Запуск преобразования по прерыванию осуществляется при установке в 1 флага выбранного прерывания. Бит ADSC регистра ADCSRA при этом аппаратно устанавливается в 1. Запуск преобразования в этих режимах также может быть осуществлен установкой бита ADSC регистра ADCSRA в 1. В режимах одиночного и непрерывного преобразований цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки бита ADSC. Если используется запуск по прерыванию, то цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки флага выбранного прерывания. Причем в момент установки этого флага осуществляется сброс предцелителя модуля АЦП. Тем самым обеспечивается фиксированная задержка между генерацией запроса на прерывание и началом цикла преобразования. Обратите внимание, что преобразование запускается при установке соответствующего флага, т. е. даже если само прерывание запрещено. Длительность цикла составляет 13 тактов при использовании несимметричного входа и 13 либо 14 тактов при использовании дифференциального входа (разные значения связаны с работой схемы синхронизации); выборка и запоминание входного сигнала осуществляется в течение первых 1.5 и 2.5 тактов соответственно. Через 13 (14) тактов преобразование 0 ... 129 130 131 132 133 134 135 ... 195
|