РЕФЕРАТ
Пояснювальназаписка містить: 32 сторінки тексту, 9 рисунків, 1 таблиця, 2 схеми, списоквикористаних джерел з 6 найменувань.
Мета проекту – спроектувати функціональну електричнусхему і програму ПЗП мікропроцесорного пристрою для вимірювання температури,який виробляє управляючий сигнал, по перевищенню заданої користувачемтемператури. Температура вимірюється за допомогою термодатчика з лінійноюхарактеристикою з точністю до градуса і відображається на динамічному індикаторі.
У даній роботібула розроблена програма на базі мікроконтролера і8051 для вимірюваннятемператури за допомогою датчика DS18B20. Вимірювання температури проводятьсябезперервно.
ДАТЧИКТЕМПЕРАТУРИ, МІКРОКОНТРОЛЕР, РК-ДИСПЛЕЙ, ЦИФРОВИЙ ТЕРМОМЕТР
ЗМІСТ
Реферат
Вступ
1 Аналіз технічного завдання
1.1 Розробкаструктурної схеми пристрою
1.2 Обґрунтуваннявибору комплектуючих
2 Розробка апаратної частини
2.1 Опис електричних параметрів та схем підключенняосновних мікросхем
3 Розробка програмного забезпечення
3.1 Блок-схема алгоритму програми
3.2 Лістинг програми
Висновки
Перелік посилань
ВСТУП
Термодатчикиповсюдно використовуються в різних областях електроніки. Це термометри, пожежнідатчики сигналізації, моніторинг температури електронної апаратури — підсилювачі, джерела живлення, різні перетворювачі, температурний захистелектронних приладів, контроль технологічних процесів і так далі.Використовуються як аналогові, так і цифрові датчики. Перевага цифровихдатчиків в тому, що виключається додаткова погрішність вимірювального каналу,тобто дані з датчика знімаються вже в «готовому» виді, можливістьоб'єднання декількох датчиків в мережу для багатозонного виміру, що спрощуєкомутацію. Використання як інтерфейс стандартної шини істотно спрощуєстикування з іншою апаратурою.
Термодатчики єпервинними перетворювачами і служать для виміру температури.
По методу вимірутермодатчики діляться на два типи:
– термопари,дія яких заснована на вимірі термоелектрорушійної сили, термопарою (спаєм), щорозвивається, з двох різнорідних провідників;
– термоопори,що використовують залежність електричного опору речовини від його температури.
1 АНАЛІЗТЕХНІЧНОГО ЗАВДАННЯ
1.1 Розробка структурної схеми пристрою
Центральноючастиною приладу має бути однокристальний мікроконтролер, який управляє роботоюусього пристрою, здійснює збір і обробку інформації, що поступає з датчиківвимірюваних величин, видає оброблену інформацію на індикацію. Для контролю часув мікроконтролер вбудовані годинник реального часу.
У пристроїзастосована динамічна індикація, яка являє собою індикаторну панель. Для виборуіндикатора код, що відповідає його номеру надходить з мікроконтролера на анодиіндикаторів одночасно з кодом цифри, що відображається на цьому індикаторі,який надходить з мікроконтролера. Мікроконтролер формує сигнал виборуіндикатора (низький рівень — індикатор вибрано).
Блок вимірівскладається зі схеми виміру – схеми виміру температури. Схема будується навідповідному датчику. Аналогові сигнали з блоку вимірів поступають дляоцифрування на АЦП. З АЦП цифровий сигнал поступає на мікроконтролер длянаступної обробки.
Кожен блок можебути замінений на іншій, функціонально-сумісний з ним. Природно, при цьомупотрібне узгодження вхідних і вихідних параметрів блоків.
Схема електричнаструктурна зображена на рисунку 1.1.
Функціонуванняприладу повинне здійснюватися таким чином:
Блок живленняперетворить напругу мережі в необхідну для роботи приладу напругу.
Є датчик длявиміру температури. Вихідні сигнали датчиків — аналогові. Для вирішенняпоставленого завдання необхідно оперувати цифровими даними. Тому в схемувключаємо аналого-цифровий перетворювач. Для виміру вказаної в завданніфізичної величини існує достатній вибір датчиків різних фірм. Проте доситьскладно підібрати усі датчики так, щоб вони співпадали з вхідним діапазономАЦП. Окрім цього деякі датчики вимагають наявності певних зовнішніх ланцюгів,наприклад, схеми збудження, калібрування і тому подібне. Тому неминуча появадодаткових елементів, схем і ланцюгів, які потрібні для коректної роботи усьогопристрою.
Датчиктемператури не вимагає яких-небудь зовнішніх ланцюгів узгодження, оскількидобре узгоджується з АЦП, як по діапазону, так і по чутливості. Як датчиктемператури застосуємо датчик DS18B20 фірми DALLAS.
Мікроконтролеробробляє отриману інформацію і видає її на блок індикації.
/>
Рисунок 1.1 −Структурна схема мікропроцесорного пристрою для вимірювання температури
1.2 Обґрунтування вибору комплектуючих
Поява на нашомуринку відносно дешевих цифрових датчиків температури і зовсім дешевихмікроконтролерів зробила можливим створення цифрового термометра, який невимагає калібрування і має багато всяких можливостей. Серед цифрових датчиківтемператури найцікавішими є мікросхеми DS1820 і DS18В21 фірми DALLAS. Хорошівони тим, що використовують для обміну однопровідний інтерфейс (1 — WireTM)фірми DALLAS. Це означає що датчики можуть бути підключені до термометра усьогоза допомогою 3-х дротів (датчик DS1820 можна підключити навіть за допомогоюдвох дротів). Датчик DS1820 точніший (але дорожчий), має менший часперетворення. Зате DS1821 може бути запрограмований в режим термостата дляповністю автономної роботи.
При розробці схемивелика увага приділялася простоті та мінімальній кількості деталей. Томупередбачено підключення лише одного датчика. Декілька датчиків підключитицілком можливо, але в цьому випадку потрібно буде встановити перемикач длявибору активного датчика вручну. Перемикач може комутувати виводи DQ датчиків (вивод2 DS18B20).
Більш детальнодатчик DS18В20 розглянуто у розділі ІІ.
Схемамікропроцесорного пристрою для вимірювання температури будується на основімікроконтролера і80С51.
Використання МКсімейства і8051 забезпечує збільшення об'єму пам'яті команд і пам'яті даних.Нові можливості введення-виводу і периферійних пристроїв розширюють діапазонзастосування і знижують загальні витрати системи. Залежно від умоввикористання, швидкодія системи збільшується мінімум в два з половиною рази імаксимум вдесятеро.
Сімейство і8051включає п'ять модифікацій МК (що мають ідентичні основні характеристики 8051,80С51, 8751, 8031, 80С31), основна відмінність між якими полягає в реалізаціїпам'яті програм і потужності споживання.
і8051 має у своємускладі такі апаратурні засоби:
- процесор,до складу якого входять 1-байтний АЛП і схеми апаратурної реалізації командмноження і ділення;
- стираючийПЗП програм місткістю 4 Кбайта;
- ОЗУданих місткістю 128 байт;
- два16-бітові таймери/лічильники;
- програмованісхеми введення/висновку (32 лінії). Напрям обміну інформацією через порти — всіпорти двунаправлені, причому є можливість в кожному порту частину розрядіввикористовувати для введення даних, а частину для виведення.
- блокдворівневого векторного переривання від п'яти джерел;
- асинхроннийканал дуплексного послідовного введення/висновку інформації з швидкістю до 375Кбіт/с;
- генератор;
- схемусинхронізації і управління.
Мікроконтролертакож має:
– 32 регістризагального призначення (РЗП);
– 128 визначуванихкористувачем програмно-управляючих прапорів;
– набіррегістрів спеціальних функцій.
– РОН і визначуванікористувачем програмно-управляючі прапори, розташовані в адресному просторівнутрішнього ОЗУ даних.
Через обмеженукількість виводів корпусу мікросхеми мікроконтролера більшість виводіввикористовуються для виконання двох функцій — як лінії портів і дляальтернативних функцій.
Система команд МКмістить 111 базових команд з форматом 1, 2, або 3 байти. Всі командивиконуються за один або два машинні цикли (відповідно 1 або 2 мкс при тактовійчастоті 12 Мгц), виключення – команди множення і ділення, які виконуються зачотири машинні цикли (4 мкс). МК сімейства і8051 використовують пряму,безпосередню, непряму і неявну, адресацію даних.
Як операндикоманд МК сімейства і8051 можуть використовувати окремі біти, чотирьохбітовіцифри, байти і двобайтові слова.
Набір командсімейства і8051 має декілька особливостей, пов'язаних з типовими функціямивиконуваними мікроконтролерами — управлінням, для якого типовою є операція зоднорозрядними двійковими сигналами, велике число операцій введення/висновку і розгалуженьпрограми.
Найбільш істотнаособливість системи команд даних МК – це можливість адресації окремих біт врезидентній пам'яті даних. Крім того, як наголошувалося, деякі регістри блокурегістрів спеціальних функцій також допускають адресацію окремих біт.
Мікроконтролерисімейства 8051 є мікропроцесорними пристроями з архітектурою CISC зістандартним набором команд, характерних для даної архітектури. Система команд8051-сумісних пристроїв включає 111 основних команд розміром від одного дотрьох байт, але більша частина цих команд – одно- або двобайтовими.
Систему командсімейства і8051 можна підрозділити за функціональною ознакою на п'ять груп:
– пересилкиданих;
– арифметичнихоперацій;
– логічних операцій;
– операцій над бітами;
– передачі управління.
Складоперандів включає в себе операнди чотирьох типів: біти, нібли (4 розряду),байти і 16-бітові слова. Час виконання команд становить 1, 2 або 4 машиннихцикли. При тактовій частоті 12 МГц тривалість машинного циклу складає 1 мкс,при цьому 64 команди виконуються за 1 мкс, 45 команд — за 2 мкс і 2 команди(множення і ділення) — за 4 мкс.
Мікроконтролермає 128 програмно-керованих прапорів користувача. Є також можливість адресаціїокремих бітів блоку регістрів спеціальних функцій і портів. Для адресації бітіввикористовується пряма 8-бітна адреса. Непряма адресація бітів неможлива.
Уі8051 передбачена можливість задання частоти внутрішнього генератора задопомогою кварцу, LС-ланцюжка або зовнішнього генератора. Максимальна частотапроходження імпульсів синхронізації — 12 МГц.
Архітектурасімейства і8051 має ряд нових режимів адресації, додаткові інструкції, розширенийадресний простір і ряд інших апаратних особливостей. Розширена система командзабезпечує побайтову і побітового адресацію, двійкову і двійково-десятковийарифметику, індикацію переповнення та визначення парності/непарності,можливість реалізації логічного процесора.
Мікроконтролери8051 оперують двома типами пам'яті: пам'яттю програм і пам'яттю даних. Пам'ятьданих може бути реалізована як комбінація розміщеного на кристалі (резидентногоабо on-chip) статичного ОЗП і зовнішніх мікросхем пам'яті. Для простихапаратно-програмних конфігурацій із застосуванням 8051 буває досить резидентноюпам'яті самого мікроконтролера.
Програмнийкод розміщується в пам'яті програм, яка фізично може бути реалізована у виглядіодноразово програмованого пристрою (EPROM), перепрограмованого пристрою(EEPROM) або флеш-пам'яті. Якщо для запису програм використовується EPROM абоEEPROM, то програмний код зазвичай розташовується в зовнішньому по відношеннюдо мікроконтролера пристрої. У переважній більшості сучасних мікроконтролерів8051 пам'ять програм розташовується у флеш-пам'яті, що знаходиться, так само які резидентна пам'ять даних, на одному кристалі.
Пам'ятьпрограм і пам'ять даних фізично і логічно розділені, мають різні механізмиадресації, працюють під управлінням різних сигналів і виконують різні функції.
Пам'ятьпрограм може мати максимальний об'єм, рівний 64 Кб, що обумовлено використанням16-розрядної шини адреси. У багатьох випадках місткість пам'яті програм,розміщених на кристалі 8051, обмежена 4, 8 або 16 Кб. У пам'ять програм окрімкоманд можуть записуватися константи, управляючі слова ініціалізації, таблиціперекодування вхідних і вихідних змінних і тому подібне. Доступ до вміступам'яті програм здійснюється за допомогою 16-бітової шини адреси. Сама адресаформується за допомогою або програмного лічильника (PC), або регістра-покажчикаданих (DPTR). DPTR виконує функції базового регістру при непрямих переходах попрограмі або використовується в операціях з таблицями.
Длядоступу до даних, розміщених у внутрішньому ОЗП, використовується однобайтнаадреса. Архітектура внутрішньої пам'яті даних 8051 дозволяє звертатися доокремих біт даних в спеціально виділеній області внутрішнього ОЗП, починаючи задреси 0x20 і закінчуючи 0x2F (див. рис. 1.2). Таким чином, у вказаномудіапазоні адрес можна звертатися до 128-бітових змінних за допомогою командбітових операцій SETB і CLR. Бітові змінні нумеруються, починаючи з 0x0 ізакінчуючи 0x7F. Це не означає, що не можна звертатися до цих елементівпам'яті, як до байтів при звичайних операціях з пам’яттю.
Увнутрішньому ОЗП мікроконтролера 8051 виділено 4 банки регістрів загального призначення.При включенні мікроконтролера банком за умовчанням стає банк 0 (див. рис1.2). Прицьому регістру R0 відповідає адреса 0x00, регістру R1 — адреса 0x01, нарешті,регістру R7 при використанні банку 0 відповідає адреса 0x07. Якщо банком заумовчанням стає, наприклад, банк 1, то регістру R0 відповідатиме адреса 0x08,регістру R1 — адреса 0x09 і регістру R7 — адреса 0x0F. До адресного просторувнутрішнього ОЗП починаючи з адреси 0x80 примикають і адреси регістрівспеціальних функцій.
/>
Рисунок1.2 – Розподілення внутрішньої пам’яті 8051
Регістриспеціальних функцій (Special Function Registers, SFR) призначені для керуванняходом обчислювальних операцій, а також відповідають за ініціалізацію,налаштування і управління портами вводу / виводу, таймерами, послідовнимпортом. Крім того, регістри спеціальних функцій містять інформацію пропріоритети переривань, а також біти управління роздільною здатністю переривань.Регістри спеціальних функцій із зазначенням їх призначення перераховані втаблиці. 1.1.
Таблиця1.1 – Призначення регістрів спеціальних функційПозначення Описання Адреса A Акумулятор 0E0H B Регістр-розширювач акумулятора 0F0H PSW Слово стану програми 0D0H SP Регістр-покажчик стеку 81H DPTR Регістр-покажчик даних (DPH) 83H (DPL) 82H P0 Порт 0 80H P1 Порт 1 90H P2 Порт 2 0A0H P3 Порт 3 0B0H IP Регістр пріоритетів переривань 0B8H IE Регістр маски переривань 0A8H TMOD Регістр режиму таймера/лічильника 89H TCON Регістр управління/статусу таймера 88H TH0 Таймер 0 (старший байт) 8CH TL0 Таймер 0 (молодший байт) 8AH TH1 Таймер 1 (старший байт) 8DH TL1 Таймер 1 (молодший байт) 8BH SCON Регістр управління прийомопередавачем 98H SBUF Буфер прийомопередавача 99H PCON Регістр управління потужністю 87H
Роботамікроконтролера 8051 в системах реального часу була б неможлива без обробкиподій, що генеруються зовнішніми пристроями, і установки тимчасових залежностейміж подіями в системі.
Класичниймікроконтролер 8051 має 5 джерел переривань: два зовнішніх переривання,ініційованих сигналами на входах, — INT0 (вивод P3.2) і INT1 (вивод P3.3); двапереривання таймерів — 0 і 1; переривання послідовного порту. Послідовністьвиконання двох і більше переривань, що надійшли одночасно, визначається їхнімпріоритету.
Багатовбудованих систем в якості пристрою відображення інформації використовуютьрідкокристалічні дисплеї (Liquid Crystal Display, LCD). Найбільш частовикористовують дисплеї формату 16 × 2 і 20 × 2, які дозволяютьвивести максимум по 16 і 20 символів у будь-який з двох рядків. Більшістьрідкокристалічних індикаторів, що випускаються в даний час, включає крім самоїматриці стандартний інтерфейс управління, заснований на застосуванні контролера,сумісного з HD44780, який є стандартом де-факто для даного класу пристроїввідображення інформації. Типове позначення LCD на схемах показано на рис. 1.3.
/>
Рисунок1.3 – Схема розміщення виводів рідкокристалічного індикатора
Найважливішоюта відмінною рисою архітектури сімейства і8051 є те, що АЛП може поряд звиконанням операцій над 8-розрядними типами даних маніпулювати однорозряднимиданими. Окремі програмно-доступні біти можуть бути встановлені, скинутіабо замінені їх доповненням, можуть пересилатися, перевірятися івикористовуватися в логічних обчисленнях. Тоді як підтримка простих типів даних(при існуючій тенденції до збільшення довжини слова) може з першого поглядуздатися кроком назад, ця якість робить МК сімейства і8051 особливо зручними длязастосувань, в яких використовуються контролери. Алгоритми роботи останніх засвоєю суттю припускають наявність вхідних та вихідних булевих змінних, якіскладно реалізувати за допомогою стандартних мікропроцесорів. Всі цівластивості в цілому називаються булевих процесором сімейства МCS-51. Завдякитакому потужному АЛП набір інструкцій МК сімейства і8051 однаково добре підходитьяк для застосувань управління в реальному масштабі часу, так і для алгоритмів звеликим об'ємом даних.
Динамічнаіндикація реалізована за допомогою 5 х 7 матричного РК-дисплею — 2-напрямку на16 символів – LM016L фірми Hitachi Semiconductor.
2РОЗРОБКА АПАРАТНОЇ ЧАСТИНИ
2.1 Опис електричних параметрів та схем підключення основнихмікросхем
У курсовій роботівимірювання температури реалізовано за допомогою датчика DS18B20.
Технічніхарактеристика термодатчика:
– точність± 0.5 ° C від -10 ° C до +85 ° C;
– розширення,що налаштовується користувачем, від 9 до 12 біт;
– даніпередаються за допомогою 1-провідного послідовного інтерфейсу;
– 64-бітниййунікальний і незмінний серійний номер;
– багатоточковезчитування;
– робочанапруга від 3.0В до 5.5В;
– TO-92,150mil 8-контактний SOIC, або 1.98мм x 1.37мм корпус з кульковими виводами (±2.0 ° C).
DallasSemiconductor у своїх термодатчиках застосовує інтерфейси SPI, 3-провіднийінтерфейс (дуже схожий за логікою на SPI), I ² C і 1-проводний (MicroLan).Цифрові датчики температури Dallas Semiconductor часто містять на кристалідодаткові блоки, що дозволяють значно розширити сферу їх застосування іполегшує побудову блоків автоматики, оскільки містять готові стандартні вузли.Серед таких вузлів можна виділити термостат, статична і енергонезалежнапам'ять, вбудовані регістри критичної температури, програмовані користувачем.
Іноді, з метоюекономії кількості виводів, застосовується тільки гістерезисних вихід, а вдатчиках, що використовують 1-провідний інтерфейс, їх немає взагалі. Ознакоютого, що температура вийшла за вказані межі, є встановлення прапорів урегістрах самого термодатчика. Винятком є тільки DS1821 — у нього цифровевиведення в нормальному режимі роботи використовується як гістерезисних вихідтермостата. При виробництві напівпровідникових датчиків температури неймовірноскладно досягти лінійності перетворення у всьому діапазоні вимірюванихтемператур, який у більшості датчиків складає -55… +125 º С. Як видно зрис. 2.1, на краях цього діапазону спостерігається значне погіршення лінійностіі наростання помилки перетворення. Для переважної більшості датчиків різнихвиробників, відомості, наведені в документації справедливі лише для діапазону-30… +110 º С. Тому доводиться застосовувати або ненапівпровідниковітемпературні датчики, або займатися побудовою коректувальних таблиць. Такимчином, у конструктора в залежності від поставленого перед ним завдання, євибір, пов'язаний з побудовою коректувальною таблиці — або з її допомогоюкомпенсувати нелінійність перетворення на краях діапазону, або обмежитисявузьким діапазоном вимірювань, але побудувати систему з роздільною здатністю,наданою цією мікросхемою, тобто порядку декількох сотих — однієї десятої часткиградуса Цельсія. При цьому коректувальна таблиця заноситься безпосередньо всаму мікросхему.
/>
Рисунок 2.1 — Залежність похибки вимірювань від температури
Призначеннявиводів датчика показано на рис. 2.2.
/>
Рисунок 2.2 –Виводи датчика DS18B20
МікросхемаDS18B20 це термометр з цифровим введенням / виведенням, який працює з точністю± 0.5 ° C. Дані зчитуються через 1-провідну послідовну шину в додатковому від 9до 12 бітному (програмується користувачем) коді з ціною молодшого розряду від0.5 ° C до 0.0625 ° C.
При використаннів якості термостата, DS18B20 відрізняється наявністю у внутрішнійенергонезалежній пам'яті (EEPROM) програмованих користувачем уставок поперевищенню температури (TH) і зі зниження температури (TL). Внутрішній регістрпрапора буде виставлений, коли уставка пересічена. Це буде виконано, коливиміряна температура більше ніж TH або менше ніж TL. Якщо термостатування непотрібно, два байти енергонезалежної пам'яті (EEPROM) зарезервовані для уставокможуть бути використані для енергонезалежного зберігання інформації загальногопризначення.
Кожна мікросхемаDS18B20 має унікальний і незмінний 64-бітний серійний номер, якийвикористовується як вузлова адреса датчика. Це дозволяє безлічі мікросхемDS18B20 співіснувати на одній 1-провідний шині. Мікросхема DS18B20 може бутилокально запитана від 3.0 В до 5.5 В або вона може бути налаштована такимчином, щоб бути запитаною за допомогою 1-провідної лінії даних.
Принцип роботитермодатчика заснований на порівнянні частот двох внутрішніх генераторів. Одингенератор видає постійну частоту незалежно від температури, а частота другогогенератора змінюється в залежності від температури корпусу термодатчика. Шляхомобчислень формується вихідний код, що включає також інформацію про знактемператури. Необхідна похибка вимірювань задається при ініціалізаціїмікроконтролерного термодатчика встановленням п’ятого та шостого біту регістраконфігурації.
Підключеннятермодатчика до мікроконтролера показано на рис. 2.3 шина даних повинна бутипідключена до плюса живлення через резистор номіналом 4,7 кОМ., оскількивихідний транзистор датчика має відкритий сток. При живленні датчика від шиниданих вивід 3 залишається вільним.
/>
Рисунок 2.3 –Схема підключення термодатчика
У режимі живленнявід шини даних перед прийомом інформації потрібна максимальна пауза тривалістю750 мс.
Класичний мікроконтролері8051 (МС551) і вітчизняний аналог КМ1816ВЕ51 виконані на основі високорівневоїn-МОП технології і випускалисяу корпусі БІС, що має 40 зовнішніх виводів. Цокольовка корпусу і8051 інайменування виводів показані на рис. 2.4 Для роботи і8051 потрібно однеджерело електроживлення +5 В. Через чотири програмованих порти вводу/виводуі805151 взаємодіє із середовищем в стандарті ТТL-схем з трьома станами виходу.
Корпус s8051 має два виводи для підключеннякварцового резонатора, чотири вивода для сигналів, керуючих режимом роботи МК,і вісім ліній порту 3, які можуть бути запрограмовані користувачем на виконанняспеціалізованих (альтернативних) функції обміну інформацією з середовищем.
електричнийсхема мікропроцесорний пристрій
/>
Рисунок 2.4 –Призначення висновків мікроконтролера 8051
VSS — потенціал загальногопроводу («землі»);
VCC — основна напруга живлення+5 В;
ХТАL1, ХТАL2 — виводи для підключення кварцовогорезонатора;
RESET (RST) — вхід загального скиданнямікроконтролера;
РSЕN — дозвіл зовнішньої пам'ятіпрограм: видається тільки при зверненні до зовнішнього ПЗУ;
АLЕ — строб адреси зовнішньої пам'яті;
ЕА — відключеннявнутрішньої програмної пам'ять, рівень 0 на цьому вході змушує мікроконтролервиконувати програму тільки із зовнішнього ПЗП; ігноруючи внутрішнє (якщоостаннє є);
Р0 — восьмибітний двонаправлений порт вводу-виводу інформації: при роботі із зовнішнімиОЗП і ПЗП по лініях порту в режимі тимчасового мультиплексування видаєтьсяадреса зовнішньої пам'яті, після чого здійснюється передача або прийом даних;
Р1 — восьмибітний квазі двонаправлений порт вводу / виводу: кожен розряд порту може бутизапрограмований як на введення, так і на виведення інформації, незалежно відстану інших розрядів;
Р2 — восьмибітний квазі двонаправлений порт, аналогічний Р1; крім того, виводи цього портувикористовуються для видачі адресної інформації при зверненні до зовнішньоїпам'яті програм або даних (якщо використовується 16-бітова адресаціяостанньої).
РЗ — восьмибітний квазі двонаправлений порт, аналогічний. Р1; крім того, виводи цьогопорту можуть виконувати ряд альтернативних функцій, які використовуються прироботі таймерів, порту послідовного введення-виведення, контролера переривань ізовнішньої пам'яті програм і даних.
Основуструктурної схеми і8051 (рис. 2.5) утворює внутрішня двонаправлена 8-бітнашина, яка зв’язує між собою всі основні вузли та пристрої: резидентну пам'ятьпрограм (RРМ), резидентну пам'ять даних(RDМ), арифметико-логічнийпристрій (АLU), блок регістрів спеціальнихфункцій, пристрій управління (СU) та порти вводу / виводу (РО-РЗ).
Живлення схемиреалізовано у вигляді батареї В1.
/>
Рисунок 2.5 –Структурна схема і8051
LCD на базіHD44780 підключається до мікроконтролера безпосередньо до портів. Є два способипідключення — на 8 біт і на 4 біта. У восьмибітному режимі трішки простішезакидати байти — не потрібно зсовувати байт, зате в чотирьох бітному різкопотрібно витрачати на цілих чотири ніжки контролера менше.
Призначеннявиводів LCD LM016L:
– Виводи D7… D0 це шина даних / адреси.
– E — стробуючийвхід. Дригом напруги на цій лінії ми даємо зрозуміти дисплею що потрібнозабирати / віддавати дані з / на шину даних.
– RW — визначає в якому напрямку у нас рухаються дані. Якщо 1 — то на читання здисплея, якщо 0 то на запис у дисплей.
– RS — визначає що у нас передається, команда (RS = 0) або дані (RS = 1). Дані будутьзаписані в пам'ять за поточною адресою, а команда виконана контролером.
Бібліотека дляLCD у даній курсовій роботі складається з двох файлів:
– файлlcd_ds.asm містить усі основні параметри портів і, власне, код.
– файл 2313def.incмістить макроси для роботи з дисплеєм. І використовується для роботи збібліотекою.
3РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
3.1 Блок-схема алгоритму програми
Принцип роботимікропроцесорного пристрою для вимірювання температури можна описати наступнимиетапами:
1. Початокроботи.
2. Ввімкненняживлення. Схема пристрою живиться від батареї B1 +5В.
3. Встановленняпочаткових установок мікроконтролера. У них встановлюється покажчик стека наостанню комірку ОЗП, початковий стан каналів зв'язку з датчиками температури,швидкість обміну по інтерфейсу, дозволяються переривання відтаймера/лічильника, переписується кількість і індивідуальні адреси датчиківтемператури з EEPROM в ОЗП, в регістри записуються необхідні константи. Колипочаткові установки завершені, починається частина програми, яка робитьопитування датчика температури. Вона буде циклічно повторяться, покипідводиться живлення до мікроконтролера або доки не виникне запит напереривання. Опитування датчика температури починається з сигналу скидання налінії.
4. Командапочатку виміру температури дозволяє перетворення значень температури в цифровийвид для датчика.
5. Аналого-цифровеперетворення значень температури займає час від 750 мс до 800 мс. Тому, щобнабути правильного значення температури, необхідно почекати паузу 750 мс (длятермодатчика DS18B20). Пауза витримується за допомогою таймера/лічильника. Підчас паузи можна здійснювати інші дії (наприклад, зробити обмін даними зкомп'ютером або вивести результати на РКІ).
6. Послідовнозчитуються виміряні значення температури; запис виміряних значень у відповіднікомірки ОЗУ.
7. На цьомуетапі робиться галуження програми: якщо виміряне значення температури невиходить за межі -10оС
8. Якщонеобхідно продовжувати вимірювати температуру (етап 10), то переходять допункту 4, якщо ні, то тоді відбувається завершення програми – етап 11.
Блок-схема даногоалгоритму представлена на рис. 3.1
/>
/>
Рисунок 3.1 –Блок-схема алгоритму роботи програми
3.2 Лістинг програми
NAME LCD_TEMPER
DAT EQU P1
RWEQU P3.5
RS EQU P3.6
EN EQU P3.7
SER EQU P0.0
RCK EQU P1.2
OE EQU P1.6
PROGRAM SEGMENT CODE
MYDATA SEGMENT CODE
CSEG AT 0
USING 0
JMP start
RSEG PROGRAM
start:
MOV P1, #0B8h
CLR P1.6
CALL init_lcd
CALL clear_lcd
MOV DPTR, #txt
next:
CLR A
MOVC A, @A+DPTR
CJNE A, #0dh, cont
JMP $
cont:
CALL write_char
INC DPTR
JMP next
;———————————————_
wait_lcd:
SETB P1.6
still_wait:
SETB EN
CLR RS
SETB RW
MOV DAT, #0FFh
MOV C, P1.7
CLR EN
JC still_wait
CLR RW
CLR 1.6
RET
;———————————————_
init_lcd:
SETB EN
CLR RS
CLR RW
MOV A, #38h
CALL shft
CLR EN
CALL wait_lcd
SETB EN
CLR RS
CLR RW
MOV A, #0Eh
CALL shft
MOV DAT, #0Eh
CLR EN
CALL wait_lcd
SETB EN
CLR RS
CLR RW
MOV A, #06h
CALL shft
CLR EN
CALL wait_lcd
RET
;————————————_
clear_lcd:
SETB EN
CLR RS
CLR RW
MOV A, #01h
CALL shft
CLR EN
CALL wait_lcd
RET
;ініціалізаціяDS
INIDS1:
CALL HYL1
MOVLW 0Xcc
CALL POSIL1
MOVLW 0x44
GOTO PRIEM1
HYL1:
CALL WUX1
MOVLW .125
ADDLW -1
BTFSS STATUS,2
GOTO $-2
CALL WXO1
MOVLW .125
ADDLW -1
BTFSS STATUS,2
GOTO $-2
; зміна входу наприйом/передачу
WUX1:
BCF PORTA,DS1
BSF STATUS,5
BCF TRISA^80H,DS1
BCF STATUS,5
RETURN
WXO1:
BSF STATUS,5
BSF TRISA^80H,DS1
BCF STATUS,5
RETURN
; прийом 9біт з DS
PRIEM1:
CALL HYL1
MOVLW 0xCC
CALL POSIL1
MOVLW 0xBE
CALL POSIL1
CALL PRIE1
BSF FLAG,1
CALL PRI1
BCF FLAG,J
BTFSS TEMP,DS1
BCF FLAG,0
BTFSC TEMP,DS1
BSF FLAG,0
BTFSS FLAG,0
GOTO CXET1
COMF LSB,0
ADDLW .1
MOVWF LSB
GOTO CXET1
PRIE1:
MOVLW .8
MOVWF COUN
CLRF LSB
PRI1:
CALL WUX1
CALL WXOl
MOVLW .2
CALL X4
MOVFW PORTA
MOVWF TEMP
BTFSC FLAG,1
RETURN
BTFSS TEMP,DS1
BCF STATUS,0
BTFSC TEMP,DS1
BSF STATUS,0
RRF LSB,1
MOVLW .15
CALL X4
DECFSZ COUN,l
GOTO PRI1
RETURN
; затримкамкс
X4:
ADDLW -1
BTFSS STATUS,2
GOTO $-2
RETURN
; посилка команди в DS
POSIL1:
MOVWF TEMP
MOVLW .8
MOVWF COUN
POSI1:
RRF TEMP,1
BTFSS STATUS,0
GOTO W01
GOTO Wl1
POS1:
DECFSZ COUN,l
GOTO POSI1
RETURN
W01:
CALL WUX1
MOVLW .15
CALL X4
CALL WXOl
GOTO POS1
W11:
CALL WUX1
CALL WXOl
MOVLW .15
CALL X4
GOTO POS1
write_char:
SETB EN
SETB RS
CLR RW
CALL shft
CLR EN
CALL wait_lcd
RET
;————————————
shft:
CLR RCK
MOV R4, #8
again:
RLC A
MOV SER, C
SETB SCK
CLR SCK
DJNZ R4, again
SETB RCK
RET
;———————————————————
RSEG MYDATA
txt: DB “LCD interface works“, 0dh
END
ВИСНОВКИ
У даномукурсовому проекті був розроблений мікропроцесорний пристрій для вимірюваннятемператури на основі однокристального мікроконтролера INTEL 8051, що дозволяєзнімати температуру датчиком температури DS18В20, обробляти отриману інформаціюі виводити результат вимірювань в цифровому вигляді на екран РК індикатора.
Головні перевагирозробленої схеми:
— простотасхемотехнічного рішення, невелика кількість використаних у схемі комплектуючихелементів і відсутність дефіцитних деталей;
— мікропроцесорний пристрій для вимірювання температури забезпечує високуточність і швидкість процесу вимірювання та обробки інформаційних сигналів.
В ходіпроектування були розроблені структурна і принципова електрична схеми, алгоритмроботи пристрою і текст програми для мікроконтролерної системи. Таким чином, розроблениймікропроцесорний пристрій для вимірювання температури є компактним, переноснимпристроєм, що дає точну інформацію про температуру та дозволяє розширитиможливості вимірювань.
ПЕРЕЛІК ПОСИЛАНЬ
1. Горюнов А.Г.Архитектура микроконтроллера Intel8051: Учеб. Пособие / А.Г. Горюнов, С.Н. Ливенцов. – Томск: Изд-во ТПУ, 2005. –86 с.
2. Заец Н.И.Радиолюбительские конструкции на РIC микроконтроллерах. Книга 3. / Заец Н.И. – М.:СОЛОН-Пресс, 2006. – 240 с.
3. КасперЭрни Программирование на языке Ассемблере для микроконтроллеров i8051. / Каспер Эрни – М.: Горячая линия – Телеком, 2004.– 191 с.
4. Магда Ю.С.Микроконтроллеры серии i8051:практический подход. / Магда Ю.С. – М.: ДМК Пресс, 2008. – 228 с.
5. ФрунзеА.В. Микроконтроллеры? Это же просто. / Фрунзе А.В. – М.: ООО “ ИД СКИМЕН ”, 2002. – 336 с.
6. [Електроннийресурс] – Режим доступу: www.radioland.net.ua/sxemaid-193.html.
7. [Електроннийресурс] – Режим доступу: radioded.ru/content/view/19/49.