Смекни!
smekni.com

Разработка микропроцессорной системы цифрового термометра на базе микроконтроллера (стр. 4 из 9)

• установка пороговых значений температуры по максимуму и минимуму;

• максимальное время преобразования температуры в код 750 мс;

• возможность питания от высокого уровня шины данных;

• термодатчики не требуют индивидуальной настройки при замене. Термодатчик типа DS18B20 отличается от DS1820 способностью измерять температуру с четырьмя уровнями погрешности — 0,5; 0,25; 0,0625°С. При этом максимальное время измерения для каждого уровня составляет соответственно 93,75; 187,5; 375; 750 мс. Необходимая погрешность измерения задается при инициализации микроконтроллерного термодатчика.

Термодатчики выпускают в двух типах корпусов: ТО-92 и SOIC.

Рис.6. Схема подключения термодатчика к микроконтроллеру


Что же касается жидкокристаллических индикаторов. Для управления жидкокристаллическими индикаторами необходимо иметь отрицательный источник питания и организовывать подачу трехуровневых управляющих импульсов на каждый сегмент. При малом числе сегментов (например, в часах) эта задача решаема, а для большого числа сегментов была разработана модульная система. Суть модульной системы заключается в том, что ЖКИ комплектуется модулем драйвера — контроллера. Драйверы каждый изготовитель разрабатывает по своей схеме и технологии. Но для взаимозаменяемости ЖК-дисплеев все изготовители негласно выпускают драйверы с системой команд, совместимых с драйверами типа HD44780 фирмы Hitachi. Разработчику в принципе неважно, какой драйвер внутри модуля, главное, чтобы работал «правильно».

Алфавитно-цифровые жидкокристаллические модули с драйверами — контроллерами принято называть ЖК-дисплеями или LCD-дисплеями. Модуль ЖК-дисплея состоит из печатной платы, на которой установлен драйвер — контроллер в корпусе или без корпуса (залитый компаундом), и жидкокристаллического индикатора, который через контактную резину прижат металлической рамкой к плате.

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

Основные характеристики драйвера HD44780:

Диапазон питающих напряжений для логики 2,7...5,5 В.

Диапазон питающих напряжений для выходных формирователей З...П В.

Поддержка форматов знаков 5 х 8 и 5 х 10.

Встроенный генератор.

8- или 4-разрядная шина данных для связи с микроконтроллером. Максимальная частота обмена по шине данных — 2 МГц. Объем дисплейного ОЗУ 80 х 8 (80 символов). Встроенный фиксированный знакогенератор на 9920 бит. Пользовательский загружаемый знакогенератор 64 х 8. Программируемый мультиплекс 1:8, 1:11, 1:16.

ЖК-дисплеи выпускают с различным числом строк (1—4) и знакомест (8, 10, 16, 20, 24, 30, 32, 40) в строке и различными их размерами. Каждое знакоместо содержит 5x8 (40) точек, из которых формируются цифры, буквы и символы (рис. 58). Все символы записаны в ПЗУ знакогенератора по своим адресам. Крайние левые цифры на рис. 58 несут информацию о младшем полубайте адреса знакогенератора, а верхние — о старшем полубайте. Например, для отображения на индикаторе буквы «3» необходимо послать в ЖК-дисплей адрес 4Ah. По этому адресу в знакогенераторе будет выбрана буква и отображена в необходимом знакоместе. ЖК-дисплеи, в которых последняя буква маркировки «R» (русифицировано), имеют в составе знакогенератора кириллицу. Это не касается ЖК-дисплеев отечественных производителей.


8. Работа с устройством

После подачи напряжения питания на индикаторе появится изображение, аналогичное представленному на рис. 6, но с числом и месяцем, равным 01 и нулевыми значениями времени. Две крайние слева цифры в верхнем ряду показывают текущую дату, а в нижнем ряду — текущий месяц. Далее в верхнем ряду отображено текущее время в часах и минутах с двоеточием, которое мигает с периодом в две секунды.

Рис.6. Индикация после подачи напряжения питания

Крайние справа значения в верхнем ряду показывают текущую температуру с первого термодатчика, а в нижнем ряду — со второго термодатчика. После стрелки указан номер термодатчика.

После нажатия кнопки "Режим" и удержания ее не менее трех секунд индикатор перейдет в режим установки времени и даты рис.7.

Рис. 7. Режим установки времени и даты

Под разрядом десятков часов будет мигать курсор с периодом в две секунды. После нажатия кнопки "Разряд" курсор будет перемещаться слева направо. Кнопкой "Установка" устанавливают необходимые текущие значения времени и даты. Формат записи даты: "число-месяц". При установке удерживать нажатыми кнопки "Разряд" и "Установка" следует не менее одной секунды.

При нажатии кнопки "Сброс" значения минут и секунд устанавливаются в ноль, что необходимо при установке времени по сигналам точного времени. Все кнопки срабатывают после их отпускания.

При следующем нажатии кнопки "Режим" на индикаторе установится режим просмотра (рис. 8).

Рис. 8. Режим просмотра

Первыми отображены время и температура для текущей даты. Под разрядом единиц числа будет мигать курсор. Стрелка указывает на номер термодатчика, по которому показаны экстремальные значения. В верхнем ряду отображены время и зафиксированная максимальная температура, а в нижнем — время и минимальная температура. Кнопкой "Просмотр 1-2" выбирают показания индикатора для первого или второго термодатчика. Если кнопку "Просмотр 1-2" удерживать нажатой, то индикация будет непрерывно изменяться через две секунды.

После каждого нажатия кнопки "Просмотр" отображаемое число уменьшается на единицу, а на индикаторе появятся значения времени и температур, записанных в памяти EEPROM.

Нажатием кнопки "Режим" переходят в текущий режим индикации. При переходе из режима просмотра к текущему режиму кнопку "Режим" необходимо удерживать четыре секунды. Отсчет времени при удержании кнопки удобно вести по миганию курсора.

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


ЗАКЛЮЧЕНИЕ

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

СПИСОК ЛИТЕРАТУРЫ

1. Белов А.В. Микроконтроллеры АVR в радиолюбительской практике – СП-б, Наука и техника, 2007 – 352с.

2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. – М.: Энергоатомиздат, 1990. – 224 с.

3. Евстифеев А.В. Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.: Горячая линия – Телеком, 2002. – 296 с.

4. Кравченко А.В. 10 практических устройств на AVR-микроконтроллерах. Книга 1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.

5.Трамперт В. Измерение, управление и регулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс, 2006 – 208с.

6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. с англ. – М., Додэка –ХХ1, 2006 – 272с.


ПРИЛОЖЕНИЕ А

Листинг программы и объектный файл

;

; 2 ТЕРМОМЕТРА С ПАМЯТЬЮ МАКСИМУМА И МИНИМУМА.

; ТОЧНОСТЬ ИЗМЕРЕНИЯ ТЕМПЕРАТУРЫ - 0,1 ГРАДУС.

; ДАТЧИКИ ТЕМПЕРАТУРЫ - DS18B20,

; ПАМЯТЬ НА 8 ДНЕЙ.

; ИНДИКАЦИЯ - 16х2 ЖКИ.

; РАЗРАБОТАЛ САХНЮК АЛЕКСАНДР ЮРЬЕВИЧ

; ДЛЯ СВОБОДНОГО ИСПОЛЬЗОВАНИЯ

; г.СЕВЕРОДОНЕЦК ЛУГАНСКОЙ

; ПРОГРАММА = MAMIN.ASM

; ВЕРСИЯ: 24-01-06.

; АССЕМБЛЕР И ОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.70.40.

;

LIST P=16F628

#INCLUDE P16F628.INC

__CONFIG 3F01H

;======================================================

; ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 4,096 MГЦ.

; КОЭФФИЦИЕНТ ДЕЛЕНИЯ ПРЕДДЕЛИТЕЛЯ РАВЕН 16, ЧТО ВМЕСТЕ

; С TMR0 (256) И ЦИКЛОМ, РАВНЫМ 4 ТАКТАМ, ДЕЛИТЕЛЕМ НА 125, 2

; ДАЕТ НА ВЫХОДЕ 1 СЕКУНДУ (4х16х256x250=4096000).

;======================================================

; RB4-RB7 - ДАННЫЕ LCD,

; RB2 - RS, RB3 - E,

; RB1 - КНОПКА "РАЗРЯД".

; RB0 - КНОПКА "РЕЖИМ".

; RA0 - ВХОД/ВЫХОД НА DS18B20 - 2.

; RA4 - ВХОД/ВЫХОД НА DS18B20 - 1.

; RA5 - ПРОСМОТР 1-2. RB5 - ПРОСМОТР -1. RB6 - УСТАНОВКА +.

;==============================================

; РЕГИСТРЫ ОБЩЕГО НАЗНАЧЕНИЯ.

;==============================================

CBLOCK H'20'

CEK;СЕКУНДЫ ДВОИЧНЫЕ.

MIN;МИНУТЫ ДВОИЧНЫЕ.

HOU;ЧАСЫ ДВОИЧНЫЕ.

MINL;ЕДИНИЦЫ МИНУТ.

MINH;ДЕСЯТКИ МИНУТ.

HOUL;ЕДИНИЦЫ ЧАСОВ.

HOUH;ДЕСЯТКИ ЧАСОВ.

TEMP;ВРЕМЕННЫЙ.

COUN;СЧЕТЧИК БИТОВ, СЧЕТЧИК ПЕРЕСЧЕТА.

LSB;РЕГИСТР ДАННЫХ DS.

LSBH;СТАРШИЙ РЕГИСТР СЧИТЫВАНИЯ.

MCK;МИЛЛИСЕКУНД.

WTEMP;ВРЕМЕННЫЙ.

STEMP;ВРЕМЕННЫЙ.

FTEMP;ВРЕМЕННЫЙ.

REID;РЕЖИМ ИНДИКАЦИИ.

KYPC;КУРСОРА.

SOT2;ЗНАК 2.

SOT2X;ЗНАК 2 MAX.

SOT2N;ЗНАК 2 MIN.

EDI2;ЕДИНИЦЫ 2.

DES2;ДЕСЯТКИ 2.

DST2;ДЕСЯТЫЕ 2.

SOT1;ЗНАК 1.

SOT1X;ЗНАК 1 MAX.

SOT1N;ЗНАК 1 MIN.

EDI1;ЕДИНИЦЫ 1.

DES1;ДЕСЯТКИ 1.

DST1;ДЕСЯТЫЕ 1.

DHU;ДНИ ДВОИЧНЫЕ.

DHUE;ЕДИНИЦЫ ДНЕЙ.

DHUD;ДЕСЯТКИ ДНЕЙ.

MEC;МЕСЯЦ ДВОИЧНЫЙ.

MECE;ЕДИНИЦЫ МЕСЯЦА.

MECD;ДЕСЯТКИ МЕСЯЦА.

FLAG;

FLAG1;

FLAG2;

MECDI;ДЕСЯТКИ МЕСЯЦА ИНДИКАЦИИ.

MECEI;ЕДИНИЦЫ МЕСЯЦА ИНДИКАЦИИ.

DHUDI;ДЕСЯТКИ ДНЕЙ ИНДИКАЦИИ.

DHUEI;ЕДИНИЦЫ ДНЕЙ ИНДИКАЦИИ.

DHUZ;ДВОИЧНЫЕ ДНИ ЗАПИСИ/СЧИТЫВАНИЯ.

MECZ;ДВОИЧНЫЙ МЕСЯЦ ЗАПИСИ/СЧИТЫВАНИЯ.

MIN1X;ЕДИНИЦЫ МИНУТ 1.

MIN1N;ДЕСЯТКИ МИНУТ 1.

HOU1X;ЕДИНИЦЫ ЧАСОВ 1.

HOU1N;ДЕСЯТКИ ЧАСОВ 1.

MIN2X;ЕДИНИЦЫ МИНУТ 2.

MIN2N;ДЕСЯТКИ МИНУТ 2.

HOU2X;ЕДИНИЦЫ ЧАСОВ 2.

HOU2N;ДЕСЯТКИ ЧАСОВ 2.

COUZ;СЧЕТЧИК ЗАПИСИ.

COUE;СЧЕТЧИК СЧИТЫВАНИЯ.

COYC;СЧЕТЧИК УСТАНОВКИ ДНЕЙ ПРОСМОТРА.

LSB1X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 1 ДАТЧИКА.