Электронный термометр

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ния 3В и номинальным выходным током (не менее) 5мА.

Рисунок 15 - Функциональная схема термометра

 

5. РАЗРАБОТКА АЛГОРИТМА РАБОТЫ

 

Выходное напряжение датчика температуры TMP36 прямо пропорционально температуре. Его можно преобразовать в цифровой код с помощью встроенного в МК АЦП и отобразить на ЖКИ. Следует отметить, что для заданной точности измерений достаточно использовать 8-битный двоичный код. С этой целью при применении преобразователя ADC используется только старший байт. Первая процедура аналого-цифрового преобразователя ADC работает совместно с процедурой обработки прерывания от преобразователя ADC0_ISR. Процедуры ADC содержит цепочку операторов: разрешения преобразователя, запуска процесса преобразования, ожидания прерывания от преобразователя по окончанию процесса преобразования и сохранения в качестве результата старшего байта.

Процедура обработки прерывания ADC0_ISR в этом случае сводится к трем операциям: очистке флага прерывания, запрещению преобразователя и установке флага переноса, которого ожидает процедура ADC. Полученный двоичный код N связан с измеренным напряжением U следующим уравнением:

=VREF-N/256, где VREF - опорное напряжение.

 

С другой стороны, выходное напряжение датчика пропорционально температуре:

= T * 0.01, где Т - температура в градусах Цельсия.

 

Решая совместно уравнения и используя VREF = 2.4 В (опорное напряжение внутреннего генератора) можно получить Т = N-240/256. Необходимо еще учесть тот факт, что если параметр N меньше 50-ти, то температура отрицательная. Все преобразования производятся в процедуре масштабирования SCALE, двоичный код N передается процедуре через аккумулятор А. Поэтому масштабирование выполняется путем умножения байта кода на байт константы 240, а из двухбайтного результата сохраняется лишь старший байт, что эквивалентно делению на 256. Также проводится проверка на отрицательную температуру (N < 50) и при положительном результате записывается 1 в переменную ZNAK.

Для отображения двух десятичных цифр на ЖКИ необходимо полученный двоичный результат преобразовать в десятичный. Для этого используется процедура BIN_BCD, которая из двоичного формат записи, преобразует его в вид Packed BCD, при этом входной параметр передается также через аккумулятор МК. Преобразование выполняется путем целочисленного деления двоичного кода на 10. С помощью свопинга частного четырехбитный код десятков пересылается в старшие биты байта, после чего с помощью операции логического ИЛИ можно упаковать обе цифры в один байт для получения формата Packed BCD.

Обмен с ЖК-модулем осуществляется в соответствии с описанием на модуль и рекомендациями фирмы производителя. Для упрощения работы с модулем целесообразно использовать только процедуру для записи байта, а вместо чтения бита занятости в начале каждого обращения к модулю ЖКИ использовать временную задержку в 50 мс.

Процедура INIT_LCD является процедурой инициализации дисплея. Она включает в себя 3 команды. Первая - function set устанавливает параметры интерфейса: ширину данных 8 бит, число строк 2. Вторая команда Entry Mode Set устанавливает режим ввода: направление сдвига вправо и сдвиг курсора, а не дисплея. И третья команда инициализации Display Control включает дисплей и курсор в обычном режиме.

Процедура очистки дисплея Clear_SCRN содержит только одну команду- clear display (код команды 01h). Блок-схема алгоритма работы термометра приведена на рисунке 16. Исходный текст программы приведен в приложении А.

Рисунок 16 - Блок-схема алгоритма работы термометра

ЗАКЛЮЧЕНИЕ

 

В данной работе был разработан прибор - цифровой термометр. Прибор включает в себя датчик, микроконтроллер и ЖК-дисплей. Микроконтроллер обрабатывает сигнал, поступающий от датчика и выводит значение на дисплей.

Разработанное устройство удовлетворяет всем требованиям технического задания. При выборе элементной базы, были учтены требования для сведения к минимуму габаритов и веса устройства. Себестоимость устройства также невелика, самый дорогой элемент - ЖКИ производства компании МЭЛТ. Использован микроконтроллер семейства MCS-51 компании Silicon Laboratories - C8051F001. В результате проделанной работы был разработан электронный термометр с микропроцессорным управлением и с диапазоном измерения от -40… +50 С и точностью измерения 1 С. Электронный термометр работает от любого источника стабилизированного напряжения 3 В. Потребляемый ток - 5 мА. Потребляемая мощность ? 15 мВт.

В завершение проектирования прибора был разработан алгоритм и написана программа для работы устройства (текст программы в приложении A).

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1) (дата обращения: 28.05.2009). ">Термометр [Электронный ресурс] : Материал из Википедии- свободной энциклопедии. - : (дата обращения: 28.05.2009).

2)TMP35/TMP36/TMP37 Low Voltage Temperature Sensors. Data Sheet Rev. E. Analog Devices, Inc. -08.2008. - :">

3)Описание ЖКИ компании МЭЛТ. - :

4)C8051F000/1/2/5/6/7, C8051F010/1/2/5/6/7 Mixed-Signal 32KB ISP FLASH MCU Family. Data Sheet Rev.1.4. CYGNAL Integrated Products, Inc. - 4.2002. - :

5)Гладштейн М.А. Микроконтроллеры смешанного сигнала C8051FXXX фирмы Silicon Laboratories и их применение. Руководство пользователя. -М.: Издательский дом Додэка-XXI, 2008. -336 с.

)А.В. Фрунзе, А.А. Фрунзе. Микроконтроллеры? Это же просто! Т.1. -М. : ООО ИД СКИМЕН, 2002.-336 с.

7)Санкт-Петербург [Электронный ресурс] : Материал из Википедии- свободной энциклопедии. - : "> (дата