Описание лабораторного оборудования

Вид АЦП стенда EasyAVR6, а также электрическая схема подключения приведены на рис. .

С помощью джампера J12 осуществляется подключение сигнала с переменного сопротивления к входам АЦП 0 – 4. Вращая ручку переменного сопротивления можно регулировать уровень сигнала, поступающего на вход АЦП.

Использование АЦП в режиме одиночного преобразования.

Исходя из алгоритма настройки АЦП, можно предложить следующий шаблон функции инициализации:

 

/*

ADC init

*/

void ADCInit(void)

{

ADMUX = 0; // канал 0, опорный сигнал с AREF, выравнивание результата вправо

/*Включаем АЦП, предв. делитель = 64, прерывания разрешены, Стоп */

ADCSRA = _BV(ADEN) | _BV(ADIF) | _BV(ADIE) | _BV(ADPS2) | _BV(ADPS1);

}

 

Для старта АЦП можно использовать следующую команду:

 

ADCSRA |= _BV(ADSC); // start conversion

 

А обработчик прерывания может иметь следующий вид:

 

/*

Обработчик прерывания от АЦП

*/

ISR (ADC_vect)

{

uint16_t result = ADC;

сохранение_или_отображение результата;

}

 

Задание. Методика выполнения задания

  1. Изучить и разобраться в теоретической части лабораторной работы. Представить в отчет основные положения.
  2. Создать проект лабораторной работы. Используя функции из теоретической части работы, создать программу, выполняющую периодическое преобразование данных с АЦП. Периодичность преобразования, частоту МК, входной порт и вид выдачи данных выбрать согласно варианту. Обратить внимание на допустимость частоты тактирования АЦП при изменении частоты работы МК!
  3. Скомпилировать программу и убедиться в ее работоспособности (можно промоделировать в Proteus или в симуляторе, либо запуская в лабораторном стенде). Подключить регулируемый аналоговый сигнал к входному порту. Регулируя уровень сигнала наблюдать изменение цифрового кода.
  4. Оформить отчет.

Требование к содержанию и оформлению отчета

Отчет должен быть оформлен в соответствие с требованиями кафедры и включать в себя необходимые описания, листинги программ и скриншоты экранов по каждому пункту задания (конкретизировано в указаниях по выполнению каждого пункта). В конце работы должны быть сделаны общие выводы.

Варианты заданий.

Вариант Период сэмплирования Входной порт Вид выдачи данных Частота МК
1 с PORTA.0 PORTB, LCD 8 МГц
250 мс PORTA.1 PORTC, LCD 8 МГц
500 мс PORTA.2 PORTB, LCD 8 МГц
2 с PORTA.3 PORTB, LCD 8 МГц
1 с PORTA.4 PORTC, LCD 4 МГц
250 мс PORTA.4 PORTC, LCD 4 МГц
500 мс PORTA.3 PORTB, LCD 4 МГц
2 с PORTA.2 PORTC, LCD 4 МГц
1 с PORTA.1 PORTC, LCD 1 МГц
250 мс PORTA.0 PORTB, LCD 1 МГц
500 мс PORTA.0 PORTC, LCD 1 МГц
2 с PORTA.1 PORTB, LCD 1 МГц

Контрольные вопросы

  1. В каких режимах может работать АЦП МК AtMega16?
  2. Как связана частота тактирования АЦП и максимальная частота преобразований (сэмплирования или дискретизации)?
  3. Сколько входных каналов поддерживает АЦП МК AtMega16?
  4. Можно ли провести одновременное преобразование для 2 входных каналов?
  5. Чем отличается представление результата преобразования выровненное влево и выровненное вправо?
  6. Что такое опорное напряжение?
  7. Каков порядок инициализации АЦП?
  8. Как запустить однократное преобразование и проверить его завершение?
  9. Как запустить Циклическое преобразование и проверить его завершение?

Литература.

http://www.gaw.ru/html.cgi/txt/doc/micros/avr/arh/start.htm

http://avr.ru/docs/books/avr