Студопедия — Указания по организации самостоятельной работы
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Указания по организации самостоятельной работы






Перед работой необходимо проработать теоретический материал по литературе [1, 4] и конспект лекций, ознакомиться с принципами функционирования и возможностями программирования, встроенного в микроконтроллер AVR АТMEGA 128 АЦП, изучить методику измерения температуры с помощью аналогового термодатчика.

В состав микроконтроллера AVR АТMEGA 128 входит 10-разрядный аналого-цифровой преобразователь (АЦП), реализующий принцип последовательного приближения (см. рисунок 6.1). На входе модуля АЦП имеется
8-канальный аналоговый мультиплексор, управляющий переключением данных, поступающих с восьми каналов с несимметричными входами. В качестве источника опорного напряжения может выступать напряжение от внутреннего источника UREF (2.56 В), напряжение питания микроконтроллера UCC, или внешнего источника. Наибольшая точность преобразования достигается при тактовой частоте модуля АЦП порядка 50 ¸ 200 кГц. Модуль АЦП может функционировать в режимах одиночного и непрерывного преобразований. Стандартное преобразование аналогового значения в цифровое с помощью встроенного АЦП выполняется за 13 тактов, одиночное – за 25 тактов. Результат преобразования для каналов с несимметричным входом определяется из выражения:

 

,

 

где – значение входного напряжения, – величина опорного напряжения.

 

 

Рисунок 6.1 – Обобщенная структурная схема модуля АЦП

в микроконтроллере AVR АТMEGA 128

 

Для работы с модулем АЦП используются следующие регистры:

ADCW (ADCH, ADCL) – 16-разрядный регистр данных, расположенный по адресу 4h/24h. В регистре используется 10 разрядов, выровненных по левой или правой границе.

ADCSRA – регистр управления/статуса.

ADMUX – регистр управления мультиплексором входных каналов.

Форматы и описания отдельных битов регистров ADCSRA и ADMUX приводится на рисунках 6.2, 6.3 и в таблицах 6.1, 6.2 соответственно.

№ бита                
06h (26h) ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

 

Рисунок 6.2 – Регистр состояния ADCSRA

Таблица 6.1 – Описание значений управляющих битов регистра ADCSRA

Разряд Обозначение Описание
  ADEN Разрешение работы АЦП: 0 – выкл.; 1- вкл.
  ADSC Запуск преобразования (1 – начать преобразование)
  ADFR Выбор режима работы АЦП: 1 – режим непрерывного преобразования, 0 – режим одиночного преобразования
  ADIF Флаг прерывания (1 – произошло прерывание от АЦП). Сбрасывается аппаратно при переходе на процедуру обработки прерывания.
  ADIE Обмен по прерыванию (1–разрешение прерывания)
2 – 0 ADPS2- ADPS0 Управление предделителем тактовой частоты АЦП
ADPS2 ADPS1 ADPS0 k
       
       
       
       
       
       
       
       

 

№ бита                
07h (27h) REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0

 

Рисунок 6.3 – Регистр состояния ADMUX

 

Таблица 6.2 – Описание значений управляющих битов регистра ADMUX

Разряд Обозначение Описание
    7, 6     REFS1, REFS0 Выбор источника опорного напряжения (ИОН)
REFS1 REFS0 ИОН
    Внешний, AREF
    Напряжение питания UCC
    Зарезервировано
    Внутренний (2,56 В), UREF
  ADLAR Выравнивание 10-битового результата по границе слова: 0 –по правой, 1 –по левой.
4,3,2,1,0 MUX4 – MUX0 Управление мультиплексором входных каналов: при использовании несимметричных входов код на линиях MUX2–MUX0 соответствуетномеру канала.

Согласно формату регистров ADCSRA и ADMUX для работы с модулем АЦП в режиме одиночного преобразования необходимо при каждом чтении данных из регистра ADCW выполнить следующий инициализирующий код на языке С:

ADMUX=0b11000000; используется внутренний источник опорного

напряжения UREF (2.56 В), оцифровывание данных,

поступающих по 0-му входному каналу;

ADCSRA=0b11000000; запуск модуля АЦП в режиме одиночного преобразования.

Если используется режим, в котором модуль АЦП генерирует прерывание ADC INT (cм. таблицу 4.1) по окончанию преобразования, то необходимо обязательно описать процедуру обработки данного прерывания.

 

6.2 Описание лабораторной установки

 

Лабораторная работа выполняется в индивидуальном порядке. На каждом рабочем месте должны быть установлены: многофункциональный лабораторный макет на базе микроконтроллера AVR ATMEGA 128, ПЭВМ типа IBM PC/AT c инсталлированным программным обеспечением: операционной системой MS–WINDOWS v. 9x, 2000, XP, программатором на основе кросс-компилятора языка программирования C CodeVision AVR, утилитой Terminal для работы с последовательным интерфейсом RS232C. Задания выполняются на лабораторном макете на базе 8-разрядного микроконтроллера AVR ATMEGA 128, к 0-му выводу порта F которого подключен аналоговый датчик температуры Analog Devices TMP–35. Данный термодатчик обладает следующими характеристиками:

Диапазон рабочих напряжений: 2,7 – 5,5 В.

Диапазон измеряемых температур: - 40°С - +125°С.

Погрешность измерений: ± 2°С

Масштабирующий коэффициент: 10 мВ/1°С.

Для функционирования термодатчика используется схема подключения, изображенная на рисунке 6.4. Уровень логического нуля на входе переводит выход термодатчика в высокоимпедансное состояние. Если отключение термодатчика в процессе работы системы не предусматривается, то вход подключается к выводу VREF.

Дополнительно в работе используется кабель с 9-контактными разъемами DB-9 (см. рисунок 1.8) для соединения лабораторного макета с ПЭВМ через последовательный интерфейс RS232C.

 

Рисунок 6.4 – Схема подключения датчика температуры TMP–35

к лабораторному макету

 

Измерение температуры (в °С) с помощью термодатчика TMP–35 выполняется путем преобразования оцифрованного значения входного напряжения (по отношению к лабораторному макету) по следующей формуле:

 

, (6.1)

 

где – значение входного напряжения, – величина опорного напряжения; – напряжение смещения (500 мВ).

 

6.3 Порядок проведения работы и указания по ее выполнению

 

Перед началом выполнения практической части лабораторной работы проводится экспресс–контроль знаний по принципам функционирования модуля АЦП, входящего в состав микроконтроллера AVR ATMEGA 128. При подготовке к лабораторной работе необходимо составить предварительный вариант листинга программы, в соответствии с индивидуальным заданием (см. таблицу 6.3).

Задание: разработать в среде программирования Code Vision AVR программу на языке С для измерения значений температуры с помощью термодатчика Analog Devices TMP–35 в соответствии с параметрами режима работы, приведенными в таблице 6.3.

Порядок выполнения задания:

1. Включить лабораторный макет (установить выключатель электропитания в положение I, и убедиться в свечении индикатора электропитания красным цветом).

2. Запустить компилятор Code Vision AVR.

3. Создать пустой проект.

4. Создать файл ресурса для кода программы и подключить его к проекту.

5. Ввести код исходного модуля программы для считывания данных с модуля АЦП.

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

7. Настроить параметры программатора.

8. Создать загрузочный модуль программы (нажав комбинацию клавиш Shift+F9) и выполнить программирование микроконтроллера.

9. Проверить работоспособность, загруженной в микроконтроллер программы, и показать результаты работы преподавателю.

10. В случае некорректной работы разработанной программы, выполнить аппаратный сброс микроконтроллера, провести отладку исходного модуля программы и заново проверить функционирование программы, повторив выполнение пункта 9.

 

Пример выполнения задания:разработать программу для передачи данных о температуре в ПЭВМ по интерфейсу RS232C: режим работы АЦП – непрерывное преобразование, значение делителя частоты – 128; если величина температуры превысит 27°С, то выдать сигнал предупреждения с помощью включения светодиода.

Решение:исходя из параметров режима работы модуля АЦП необходимо настроить регистры ADCSRA и ADMUX,настроить порт D на вывод данных и погасить все светодиоды, инициализироватьмодуль USART1, в цикле считывать данные из регистра ADCW, вычислять значения температуры по формуле 6.1, выводить их в регистр UDR1 и анализировать величину температуры для формирования сигнала предупреждения. Алгоритм программы приводится на рисунке 6.5, полный текст исходного модуля программы на языке С с подробными комментариями приводится ниже:

#include <mega128.h>; подключить заголовочный файл mega128.h;

#include <delay.h>; подключить заголовочный файл delay.h;

#define VREF 2560L задание константы ;

#define OFFSET 500L задание константы ;

int a;описание глобальной переменной а;

int read_adc() { описание подпрограммы считывания данных

int result; из модуля АЦП и вычисления значения

result = ADCW; температуры по формуле 6.1;

result=((result*VREF)/1024 –OFFSET)/10;

return result; }

main() { основная часть программы;

DDRD=0xFF;установка всех линий порта D в режим вывода дан-

PORTD=0xFF;ных и выключение всех светодиодов;

инициализация модуля АЦП


ADMUX=0b11000000; используется внутренний источник опорного

напряжения UREF (2.56 В); оцифровывание данных,

поступающих по 0-му входному каналу;

ADCSRA=0b11101111;запуск модуля АЦП в режиме непрерывного

преобразования, делитель частоты равен 128;

инициализация модуля USART1:

UCSR1A=0x00;установка стандартного режима задания скорости

передачи данных;

UCSR1B=0x08;установка 3-го бита регистра UCSR1B для

инициализации USART1 в режиме передатчика;

UCSR1C=0x06;установка формата кадра: 8 бит данных с отклю

ченным режимом четности;

UBRR1H=0x00;установка значения делителя (35), соответствующего

UBRR1L=35;скорости приемаданных 19200 бит/с;

while (1) { организовать цикл с бесконечным числом итераций;

a=read_adc(); получить новое значение температуры;

delay_ms(100); установить временную задержку 100 мс;

UDR1=a;выполнить передачу значения температуры по

интерфейсу RS232C в ПЭВМ;

if (a>27) PORTD.1=0; зажечь 1-й светодиод блока индикации, если значение

else PORTD.1=1; } температуры превышает 27°С;

} завершающая операторная скобка программы;

 

Таким образом, программа будет осуществлять измерение температуры и передавать данные в ПЭВМ по интерфейсу RS232C, а также формировать сигнал предупреждения о повышении температуры на величину более 27°С. Данные, передаваемые в ПЭВМ, будут фиксироваться предварительно запущенной программой Terminal с соответствующими настройками протокола обмена данными.

 

Рисунок 6.5 – Алгоритм программы передачи данных о температуре из

микроконтроллера AVR ATMEGA 128 в ПЭВМ по интерфейсу RS232C с

формированием сигнала предупреждения при повышении температуры

 

Таблица 6.4 – Варианты индивидуальных заданий

Номер Задание
   
  Разработать программу, выполняющую измерение температуры в режиме одиночного преобразования (делитель частоты равен 2) и формирующую сигнал предупреждения с помощью блока светодиодов, если значение температуры превысит 30°С.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 8) и формирующую сигнал предупреждения с помощью блока светодиодов, если значение температуры превысит 40°С.
  Разработать программу, выполняющую измерение температуры в режиме одиночного преобразования (делитель частоты равен 64) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазона 25°С < T < 30°С.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 128) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазона 30°С < T < 40°С.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 4) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазонов 25°С < T < 30°С и 40°С < T < 50°С.
  Разработать программу, выполняющую измерение температуры в режиме одиночного преобразования (делитель частоты равен 32) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазонов 20°С < T < 25°С и 35°С < T < 40°С.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 16) и формирующую сигналы предупреждения с помощью цифрового индикатораHoltek НТ1613, если значение температуры выходит за рамки диапазона 25°С < T < 35°С.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 4) и формирующую сигналы предупреждения с помощью блока светодиодов, если значение температуры выходит за рамки диапазона 25°С < T < 40°С. Обработка данных происходит по прерыванию ADC_INT*.

 

 

Продолжение таблицы – 6.4

   
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 8) и выводящую значения температуры на цифровой индикаторHoltek НТ1613*.
  Разработать программу, выполняющую измерение температуры в режиме непрерывного преобразования (делитель частоты равен 32) и передающую значения температуры в ПЭВМ с помощью последовательного интерфейса RS232C.*

* задания повышенной сложности.

 

Содержание отчета

В отчете необходимо привести следующее:

– характеристики лабораторной вычислительной системы;

– исходный модуль разработанной программы;

– анализ полученных результатов и краткие выводы по работе, в которых необходимо отразить особенности использования встроенного в микроконтроллер модуля АЦП для измерения аналоговых величин.

 

Контрольные вопросы и задания

1. Поясните принцип работы встроенного в микроконтроллер
10-разрядного АЦП.

2. Назовите основные управляющие регистры АЦП, встроенного в микроконтроллер, и поясните их функции.

3. Поясните принцип измерения температуры с помощью термодатчика.

4. Для чего применяется выравнивание результата по левой или правой границе слова?

5. Поясните возможности передачи данных о температуре в ПЭВМ.

6. Поясните возможность отображения данных о температуре на экране цифрового индикатора Holtek НТ1613, рассмотренного в лабораторной работе № 3.

 

 

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

 

1. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. – М.: Изд. дом Додэка-ХХI, 2004. – 560 с.

2. Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному.- М.: СОЛОН-Пресс, 2004. – 304 с.

3. Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы.- М.: Издательский дом “Додэка-XXI”, 2004. – 288 с.

4. http://www.atmel.ru/ – описание микроконтроллеров фирмы ATMEL на русском языке.

 

 







Дата добавления: 2015-09-07; просмотров: 1254. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия