Автор работы: Пользователь скрыл имя, 10 Сентября 2013 в 16:43, реферат
Мировая промышленность выпускает огромную номенклатуру микроконтроллеров. По области применения их можно разделить на два класса : специализированные, предназначенные для применения в какой-либо одной конкретной области (контроллер для телевизора, контроллер для модема, контроллер для компьютерной мышки ) и универсальные, которые не имеют конкретной специализации и могут применяться в самых различных областях микроэлектроники, с помощью которых можно создать как любое из перечисленных выше устройств, так и принципиально новое устройство.
Цель курсовой работы – основываясь на знаниях, полученных при изучении темы «Микроконтроллеры и микропроцессорные системы» разработать микропроцессорную систему цифрового термометра на базе микроконтроллера.
Введение
1. Описание объекта и функциональная спецификация
2. Описание структуры системы
3. Описание ресурсов МК PIC16F628
3.1 Характеристика RISC ядра
3.2 Особенности микроконтроллеров
3.3 Характеристики пониженного энергопотребления
3.4 Периферия
3.5 Расположение выводов
3.6 Особенности структурной организации PIC 16С84
3.7 Обозначение выводов и их функциональное назначение
3.8 Организация памяти данных (ОЗУ)
4. Разработка алгоритма работы устройства
5. Ассемблирование
6. Описание функциональных узлов МПС и алгоритма их взаимодействия
7. Описание выбора элементной базы и работы принципиальной схемы
8. Работа с устройством
Заключение
Список литературы
Листинг программы и объектный файл приведены в Приложении А.
6. Описание функциональных узлов МПС и алгоритма их
взаимодействия
В проектируемом устройстве можно выделить следующие функциональные блоки: панель управления, содержащая пять кнопок; жидкокристаллический индикатор, на котором воспроизводится информация (дата, время, температура); термодатчики, благолдаря которым производится измерение температуры; стабилизатор напряжения, служит для подачи стабильного напряжения на МК; источник питания, состоящий из внутреннего источника и внешнего. Функциональная схема электронного термометра приведена на рис. 4.
Рис. 4. Функциональная схема электронного термометра
7. Описание выбора элементной базы и работы принципиальной
схемы
Принципиальная схема устройства показана на рис. 5. Резистором R5 регулируют контрастность изображения на индикаторе. Элементы резервного питания можно составить из трех элементов типа AAA. Средний потребляемый ток от элементов питания в текущем режиме не превышает 3 мА.
Принципиальная схема электронного термометра выполнена в САПР Accel Eda (Рис. 5).
Рис.5. Принципиальная схема электронного термометра в Accel EDA.
Принципиальная схема
Выбор элементной базы основан на выборе элементов согласующихся с микроконтроллером. Основными элементами схемы являются термодатчики, которые хорошо согласуются с микроконтроллером. Термодатчики DS1820 имеют следующие технические характеристики:
• индивидуальный 64-битный идентификационный номер;
• напряжение питания от +3 до +5,5 В;
• измеряемая температура от -55 до +125°С;
• погрешность измерения температуры в диапазоне -Ю...+85°С не более 0,5°С;
• в остальном диапазоне температур погрешность измерения не превышает 2°С;
• информация о температуре выдается 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-разрядная шина
данных для связи с
ЖК-дисплеи выпускают с различным числом строк (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. Евстифеев А.В.
4. Кравченко А.В. 10 практических
устройств на AVR-
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 ДАТЧИКА.
LSB1N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 1 ДАТЧИКА.
LSB2X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 2 ДАТЧИКА.
LSB2N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 2 ДАТЧИКА.
Информация о работе Микроконтроллеры и микропроцессорные системы