Регистр А управления и статуса ADC – ADCSRA

 

Разряд
  ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0
Чтение/запись R/W R/W R/W R/W R/W R/W R/W R/W
Исх. значение

Разряд 7 – ADEN: Разрешение работы ADC
Запись в данный бит лог. 1 разрешает работу ADC. Если в данный бит записать лог. 0, то ADC отключается, даже если он находился в процессе преобразования.

Разряд 6 – ADSC: Запуск преобразования ADC
В режиме одиночного преобразования установка данного бита инициирует старт каждого преобразования. В режиме автоматического перезапуска установкой этого бита инициируется только первое преобразование, а все остальные выполняются автоматически. Первое преобразование после разрешения работы ADC, инициированное битом ADSC (или если в ADSC записали 1 одновременно с разрешением работы ADC), выполняется за 25 тактов синхронизации ADC, вместо обычных 13 тактов. Это связано с необходимостью инициализации ADC при первом преобразовании.

В процессе преобразования при опросе бита ADSC возвращается лог. 1, а по завершении преобразования – лог. 0. Запись лог. 0 в данный бит возможно, но не оказывает никакого действия.

Разряд 5 – ADATE: Включение режима автоматического запуска ADC
Если в данный бит записать лог. 1, то ADC перейдет в режим автоматического перезапуска. В этом режиме ADC автоматически запускает преобразование по положительному фронту выбранного запускающего сигнала. Выбор источника запуска происходит битами ADTS регистра SFIOR.

Разряд 4 – ADIF: Флаг прерывания ADC
Данный флаг устанавливается после завершения преобразования ADC и обновления регистров выходных данных (ADCH:ADCL). Если установлены биты ADIE и I (регистр SREG), то происходит вызов обработчика прерывания по завершении преобразования. Флаг ADIF сбрасывается аппаратно при переходе на соответствующий вектор прерывания. Альтернативно флаг ADIF сбрасывается путем записи лог. 1 в него. Обратите внимание, что при выполнении команды "чтение-модификация-запись" с регистром ADCSRA ожидаемое прерывание может быть запрещено. Сказанное также действительно, если используются инструкции SBI и CBI.

Разряд 3 – ADIE: Разрешение прерывания ADC
Когда этот бит установлен в лог. 1, и установлен бит I в регистре SREG, разрешается прерывание по завершении преобразования ADC.

Разряды 2:0 – ADPS2:0: Биты управления предделителем ADC
Данные биты определяют на какое значение тактовая частота ЦПУ будет отличаться от частоты входной синхронизации ADC.

Таблица . Управление предделителем (прескалером) ADC

ADPS2 ADPS1 ADPS0 Коэффициент деления

Регистры данных ADC – ADCL и ADCH

ADLAR = 0:

Разряд  
  - - - - - - ADC9 ADC8 ADCH
  ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADCL
   
Чтение/запись R R R R R R R R  
  R R R R R R R R  
Исх. значение  
   

ADLAR = 1:

Разряд  
  ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCH
  ADC1 ADC0 - - - - - - ADCL
   
Чтение/запись R R R R R R R R  
  R R R R R R R R  
Исх. значение  
   

По завершении преобразования результат помещается в этих двух регистрах. При использовании дифференциального режима преобразования результат представляется в коде двоичного дополнения.

Формат представления результата (левостороннее выравнивание или правостороннее выравнивание) зависит от состояния бита ADLAR в регистре ADMUX. Левосторонний формат представления результата удобно использовать, если достаточно 8 разрядов. В этом случае 8-разрядный результат хранится в регистре ADCH и, следовательно, чтение регистра ADCL можно не выполнять. При правостороннем формате необходимо сначала считать ADCL, а затем ADCH.

ADC9:0: Результат преобразования ADC
Данные биты представляют результат преобразования.