Курсовая работа: Цифровой термометр на микропроцессоре AVR-MEGA 128

Первым действием в программе производятся начальные установки микроконтроллера. В них устанавливается указатель стека на последнюю ячейку ОЗУ, исходное состояние каналов связи с датчиками температуры и UART, скорость обмена по UART, разрешаются прерывания от таймера/счетчика0 и от UART, переписывается количество и индивидуальные адреса датчиков температуры из EEPROM в ОЗУ, в регистры записываются необходимые константы.

Когда начальные установки завершены, начинается часть программы, которая производит опрос датчика температуры. Она будет циклически повторятся, пока подводится питание к микроконтроллеру или пока не возникнет запрос на прерывание. Опрос датчика температуры начинается с сигнала сброса на линии (блок 2 рисунок 4.1) Затем следует команда игнорирования адреса датчика температуры SKIP ROM [CCh].

Команда начала измерения температуры CONVERT T [44h] (блок 4, рисунок 4.1) разрешает преобразование значений температуры в цифровой вид для датчика.

Рисунок 4.1 – Алгоритм работы микроконтроллера

Аналого-цифровое преобразование значений температуры занимает время от 750 мс до 800 мс. Поэтому, чтобы получить правильное значение температуры, необходимо выждать паузу 800 мс (блок 5, рисунок 4.1). Пауза выдерживается с помощью таймера/счетчика 0. Во время паузы можно совершать другие действия (например, произвести обмен данными с компьютером или вывести результаты на ЖКИ).

После паузы производится опрос датчика. Опрос датчика начинается с сигнала сброса на линии связи с датчиком (блок 6, рисунок 4.1). После сигнала сброса и ответного сигнала от датчика следует команда MATCH ROM [55h]. Эта команда сообщает датчику, что после неё на линии связи будет выставлен индивидуальный 64-х битовый адрес датчика. После того, как адрес выставлен на линии, датчик температуры сравнивает выставленный адрес со своим собственным адресом, и, после этого к работе с микроконтроллером датчик готов.

В блоке 7 производится чтение значения температуры и запись его в соответствующие ячейки ОЗУ.

В блоке 8 производится ветвление программы: если измеренное значение температуры не выходит за пределы 300С<Т<400С , то результат выводится на экран ЖКИ (блок 9). Если же измеренное значение температуры выходит за пределы диапазона, то загорятся световые индикаторы: VD1- если температура меньше 30 0С или VD2 –если больше 400С (блок 10).

Если необходимо продолжать измерять температуру (блок 11), то переходят к блоку 4, если нет, то тогда происходит завершение программы.

Программа работы микроконтроллера для измерения температуры приведена в приложении А.


Заключение

В данном курсовом проекте был разработан цифровой термометр, позволяющий снимать температуру датчиком температуры ТМР35, обрабатывать полученную информацию и выводить результат измерений в цифровом виде на экран ЖК индикатора. Также с помощью последовательного интерфейса возможна их передача на экран персонального компьютера для получения и сохранения неограниченного количество этих значений, проведения статистического анализа и слежение за изменением температуры во времени для разных этапов измерения.

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

Таким образом, разработанный цифровой термометр является компактным, переносным устройством, дающим точную информацию о температуре, что позволяет расширить возможности измерений.


Список источников информации

1. Голубцов М.С., Кириченкова А.В. Микроконтроллеры AVR: от простого к сложному. Изд.2-е, испр. И доп. – М.: СОЛОН- Пресс, 2006. 304с.- (Серия «Биб-лиотека инженера»).

2. Китаев Ю.В. Основы программирования микроконтроллеров AT MEGA128 и 68HC908. Учебное пособие : СПб: СпбГУ ИТМО, 2007, 107с.

УДК 681.32

3. Low Voltage Temperature Sensors. TMP35/TMP36/TMP37

4. http://pdfserv.maxim-ic.com/arpdf/DS18S20.pdf. Датчики для измерения температуры.

5. Температурные измерения. Справочник./ Геращенко О.А. Гордов А.Н., Еремина А.К., и др.; отрв. Ред. Геращенко О.А.; АН УССР Ин-т проблем энергосбережения. – Киев: Наук. думка, 1989г. 704 с.

6. http://www.chip-dip.ru/product0/61922.aspx Кнопки тактовые.


Приложение А

Текст программы

; Системные определения для 320 STK/EVK

TOOL SET 0 ; 0 = STK/EVK ОЗУ

; 1 = Симулятор

; 2 = Встроенное ПЗУ

STACK EQU 003DEH ; Указатель стека

RAM_ORIG EQU 00200H ; Начальный адрес памяти ОЗУ

ROM_ORIG EQU 0C100H ; Начальный адрес памяти ПЗУ

IF TOOL = 0

I_VECTORS EQU 003FFH ; Вектора прерываний в ОЗУ

MAIN EQU RAM_ORIG+20H ; Стартовый адрес программы в ОЗУ

BTLOAD EQU 035H ; Прерывания раз в 0,5 сек.

К-во Просмотров: 556
Бесплатно скачать Курсовая работа: Цифровой термометр на микропроцессоре AVR-MEGA 128