Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/10069
Title: Система збору та відображення температурних даних ПК на базі мікроконтролера
Authors: Чичужко, Марина Володимирівна
Кравченко, Владислав Анатолійович
Keywords: моніторинг температури, персональний комп’ютер, мікроконтролер, ATmega, PIC, температурні датчики, система охолодження, процесор, відеокарта, апаратний моніторинг, програмний моніторинг, збір даних, відображення інформації, контроль температурного режиму, вбудована система
Issue Date: Jun-2026
Abstract: У кваліфікаційній роботі розглянуто питання розроблення системи збору та відображення температурних даних персонального комп’ютера на базі мікроконтролера. Проведено аналіз температурного режиму основних компонентів ПК, досліджено причини перегріву та його вплив на стабільність роботи й термін експлуатації комп’ютерної техніки. Розглянуто наявні програмні засоби моніторингу температури, зокрема Core Temp, SpeedFan, Real Temp, Hmonitor та Open Hardware Monitor, визначено їхні переваги й недоліки. Проаналізовано можливості використання мікроконтролерних систем для автономного контролю температурних параметрів і відображення інформації на зовнішньому дисплеї. Розглянуто архітектуру мікроконтролерів, принципи організації введення-виведення даних і взаємодії з периферійними пристроями. Метою роботи є дослідження та розроблення пристрою моніторингу температури персонального комп’ютера на базі мікроконтролера, який забезпечує контроль теплового стану основних компонентів у режимі реального часу. Практичне значення роботи полягає в можливості створення доступної апаратної системи моніторингу, що дає змогу оперативно отримувати температурні дані без необхідності постійного використання програмного інтерфейсу комп’ютера.
URI: https://er.chdtu.edu.ua/handle/ChSTU/10069
Appears in Collections:123 Комп’ютерна інженерія (Спеціалізовані комп’ютерні системи)

Files in This Item:
File Description SizeFormat 
Б_123_2026_Кравченко.pdf
  Restricted Access
993.43 kBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
 
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ 
КОМП’ЮТЕРНИХ СИСТЕМ 
ПОЯСНЮВАЛЬНА ЗАПИСКА 
до кваліфікаційної роботи 
освітнього ступеня «бакалавр» 
Система збору та відображення температурних даних ПК 
на тему: 
на базі мікроконтролера 
 
 
 
Виконав здобувач вищої освіти 4 курсу 
 групи СКС-2207 
 спеціальності 123 Комп’ютерна 
 інженерія 
 Владислав КРАВЧЕНКО 
 (ім’я та ПРІЗВИЩЕ) 
Керівник Марина ЧИЧУЖКО 
 (ім’я та ПРІЗВИЩЕ) 
Рецензент  
 (ім’я та ПРІЗВИЩЕ) 
  
Захист дозволяю:   
зав. кафедри, д.т.н., професор   Валентина ЛУКАШЕНКО 
 (підпис)  (ім’я та ПРІЗВИЩЕ) 
 
 
Черкаси 2026 
 
ЗМІСТ 
 
ВСТУП ......................................................................................................................... 4 
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ ...................................................... 7 
1. СТАН ПРЕДМЕТУ ДОСЛІДЖЕННЯ ............................................................. 10 
1.1 Загальна характеристика систем моніторингу параметрів ПК .............. 10 
2. ОГЛЯД ІСНУЮЧИХ АНАЛОГІВ ТА РІШЕНЬ ........................................... 13 
2.1. Температурний режим персонального комп'ютера .................................. 13 
2.2. Допустима робоча температура компонентів комп’ютера ...................... 16 
2.3.Аналоги моніторингу температури ПК ........................................................ 17 
3. ПРОЕКТУВАННЯ ПРИСТРОЮ ДЛЯ МОНІТОРИНГУ 
КОМП’ЮТЕРА ........................................................................................................ 27 
3.1. Вибір мікроконтролера пристрою ................................................................ 27 
3.2. Регулювання температури в корпусі комп’ютера ..................................... 45 
3.3. Моніторинг температури ПК на мікроконтролері .................................... 49 
ВИСНОВКИ .............................................................................................................. 57 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ....... Помилка! Закладку не визначено. 
2 
 
СПИСОК СКОРОЧЕНИХ ТА УМОВНИХ ПОЗНАЧЕНЬ 
 
Bluetooth Технологія бездротового зв'язку 
CAN Локальна мережа контролерів 
Flash Різновид напівпровідникової технології електрично 
перепрограмовуваної пам'яті 
RAM Статична оперативна пам'ять з довільним доступом 
TCP / IP Протокол керування передачею / міжмережевий протокол 
USB Універсальна послідовна шина 
АЦП Аналого-цифровий перетворювач 
ІВС Інформаційно-вимірювальна система 
ПК Персональний комп’ютер. 
ЦАП Цифро-аналоговий перетворювач 
ШІМ Широтно-імпульсна модуляція 
 
3 
 
ВСТУП 
 
Розвиток сучасних комп’ютерних технологій супроводжується 
постійним збільшенням обчислювальної потужності персональних 
комп’ютерів та розширенням сфер їх використання. Комп’ютерні системи 
застосовуються не лише для повсякденних задач, а й для інженерних 
розрахунків, обробки мультимедійних даних, програмування, 
моделювання процесів та роботи з великими інформаційними масивами. 
Підвищення продуктивності апаратного забезпечення неминуче 
призводить до зростання тепловиділення електронних компонентів, що 
робить питання контролю температурних режимів особливо актуальним. 
Температурний стан основних вузлів персонального комп’ютера 
безпосередньо впливає на стабільність функціонування системи, 
швидкодію обчислень і довговічність обладнання. Перегрів процесора, 
графічного адаптера або системи живлення може спричиняти 
автоматичне зниження продуктивності, збої в роботі програмного 
забезпечення та передчасний вихід елементів із ладу. Тому ефективний 
моніторинг температурних параметрів є важливою складовою 
забезпечення надійної експлуатації комп’ютерної техніки. 
Існуючі програмні засоби моніторингу дозволяють отримувати 
інформацію про стан системи, однак їх робота залежить від операційної 
системи та наявності активного користувацького інтерфейсу. У багатьох 
випадках виникає потреба в автономному пристрої, який здійснює 
незалежний збір і відображення температурних даних незалежно від 
роботи програмного середовища ПК. 
Застосування мікроконтролерних технологій відкриває можливість 
створення компактних та енергоефективних систем моніторингу, здатних 
виконувати безперервний контроль параметрів у режимі реального часу. 
Використання мікроконтролера дозволяє реалізувати окремий апаратний 
4 
 
модуль збору інформації, її обробки та візуалізації, що підвищує зручність 
користування і розширює функціональні можливості системи контролю. 
Актуальність роботи зумовлена необхідністю розроблення 
доступного технічного рішення для оперативного контролю 
температурних характеристик персонального комп’ютера з 
використанням сучасних мікроконтролерних засобів. 
У корпусі сучасного комп'ютера сконцентрована велика кількість 
елементів. Тепло виділяє практично все, будь-яка працююча електронна 
схема розсіює деяку потужність. Однак є елементи, які є досить 
інтенсивними джерелами тепла. Це процесор, чіпи на материнській платі і 
на відеокарті, елементи на платі жорсткого диска, елементи блоку 
живлення і т.д.  
Тепловиділення комп'ютерів, що випускаються сьогодні, зросло 
в кілька разів порівняно з моделями 10-15-річної давності. Змінилися й 
системи охолодження електронних компонентів: там, де раніше було 
досить мініатюрного радіатора, тепер застосовуються громіздкі 
конструкції, оснащені мідними ребрами і тепловими трубками.  
Іноді потрібно знати точну температуру того чи іншого вузла ПК, 
але вбудовані засоби це не завжди дозволяють. Діагностика та 
відображення температури комп’ютера є дуже важливою задачею.  
Різного роду монітори можуть бути використані для аналізу 
температури системи. Важливими задачами є виведення основних 
параметрів системи, у тому числі температури CPU. Таким чином, 
з’являється можливість їх бачити й оперативно реагувати. Зазвичай 
подібні монітори реалізуються програмно, їх недоліком є значне 
використання ресурсів комп’ютера, та необхідність припиняти роботу для 
перегляду результатів моніторингу. 
Практичне значення роботи полягає у створенні працездатної 
мікроконтролерної системи, що може використовуватися для контролю 
5 
 
температури персональних комп’ютерів, серверних станцій або 
навчальних лабораторних комплексів. 
В даній кваліфікаційній роботі бакалавра пропонується 
використання зовнішнього пристрою, який використовує мінімум 
ресурсів персональних комп'ютерів, при цьому за рахунок окремого 
дисплея для виведення інформації не потребує припинення роботи. 
6 
 
ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ 
 
Актуальність теми 
 
Стрімкий розвиток інформаційних технологій супроводжується 
постійним зростанням продуктивності персональних комп’ютерів, що 
призводить до збільшення тепловиділення їхніх апаратних компонентів. 
Центральні та графічні процесори, модулі пам’яті, накопичувачі й 
елементи живлення працюють у режимах підвищених навантажень, тому 
контроль температурних параметрів стає важливою умовою стабільної та 
безпечної експлуатації комп’ютерної техніки. 
Порушення теплового режиму роботи ПК може спричиняти 
зниження швидкодії системи, появу помилок у роботі програмного 
забезпечення, скорочення ресурсу електронних компонентів і навіть їх 
фізичне пошкодження. Існуючі програмні засоби моніторингу 
температури здебільшого залежать від операційної системи та не 
забезпечують автономного контролю параметрів у реальному часі, що 
обмежує їх ефективність у задачах постійного технічного моніторингу. 
Одним із перспективних напрямів розв’язання цієї проблеми є 
використання мікроконтролерних пристроїв для організації незалежної 
системи збору, обробки та відображення температурних даних. 
Мікроконтролери дозволяють створювати компактні та енергоефективні 
апаратні рішення, здатні працювати незалежно від основної 
обчислювальної системи, забезпечувати безперервний контроль 
температури та оперативне інформування користувача про стан 
обладнання. 
Розроблення подібних систем набуває особливої актуальності в 
умовах широкого застосування персональних комп’ютерів у навчальній, 
науковій та професійній діяльності, де важливими є надійність роботи 
7 
 
обладнання, попередження перегріву та своєчасна діагностика технічного 
стану. 
Таким чином, актуальність теми зумовлена необхідністю створення 
доступної та ефективної мікроконтролерної системи моніторингу 
температурних параметрів ПК, що дозволяє підвищити стабільність 
функціонування комп’ютерних систем, продовжити термін їх експлуатації 
та покращити контроль технічних характеристик обладнання. 
 
Мета і завдання дослідження 
 
Метою кваліфікаційної роботи бакалавра є дослідження та розробка  
пристрою моніторингу температури персонального комп’ютера (ПК) на 
базі мікроконтролера ATMEGA, який забезпечує автономний моніторинг 
теплового стану його основних компонентів у режимі реального часу та 
підвищує надійність експлуатації комп’ютерної техніки. 
Для досягнення поставленої мети необхідно вирішити такі задачі: 
• Провести аналіз існуючих методів контролю 
температурних параметрів комп’ютерних систем; 
• Розробити структурну схему системи збору та 
відображення температурних даних ПК; 
• Проаналізувати результати роботи системи та визначити 
можливості її подальшого вдосконалення. 
 
Об’єкт дослідження — процес моніторингу температурних 
режимів роботи апаратних компонентів персонального комп’ютера. 
 
Предмет дослідження — система збору та відображення 
температурних даних ПК на базі мікроконтролера. 
 
8 
 
Методи дослідження. метод системного аналізу, метод 
моделювання, метод структурного та функціонального синтезу апаратно-
програмного комплексу, метод програмної реалізації. 
 
При вивченні ряду дисциплін в університеті розглядались датчики 
та виконавчі механізми в основі яких є мікроконтролер. Пристрій 
описаний в даній роботі дозволяє знімати інформацію з датчиків і 
передавати їх на мікроконтролер, а потім виводити інформацію з 
мікроконтролера на зовнішні пристрої для відображення графічної 
інформації. 
Пристрій повинний забезпечувати коректну обробку аварійних 
ситуацій, викликаних невірними діями користувачів, невірним форматом 
або недопустимими значеннями вхідних даних. У зазначених випадках 
система повинна видавати користувачу відповідні аварійні повідомлення, 
після чого повертатися в робочий стан, що передувала невірної 
(неприпустимою) команді. 
При виникненні збоїв в апаратному забезпеченні, включаючи 
аварійне відключення електроживлення, пристрій повинен зберігати 
працездатність після усунення збоїв і коректного перезапуску апаратного 
забезпечення. 
9 
 
 
1. СТАН ПРЕДМЕТУ ДОСЛІДЖЕННЯ 
 
1.1 Загальна характеристика систем моніторингу параметрів 
ПК 
Сучасні комп’ютерні системи характеризуються високою 
продуктивністю та значною тепловою і енергетичною навантаженістю 
компонентів. Під час експлуатації персонального комп’ютера важливим 
завданням є постійний контроль технічних параметрів, зокрема 
температури процесора, відеокарти, швидкості обертання вентиляторів, 
напруг живлення та рівня навантаження системи. 
Для розв’язання цієї задачі використовуються програмні, апаратні 
та комбіновані системи моніторингу. Аналіз існуючих аналогів дозволяє 
визначити їх переваги, недоліки та напрямки подальшого вдосконалення. 
 
1.1.1 Програмні системи моніторингу 
Найбільш поширеним підходом є застосування програмного 
забезпечення, що здійснює зчитування даних із вбудованих сенсорів 
материнської плати. 
− Open Hardware Monitor 
− Libre Hardware Monitor 
− HWMonitor 
− AIDA64 
− MSI Afterburner 
Переваги програмних рішень: простота встановлення; відсутність 
додаткового обладнання; висока точність отриманих даних; можливість 
ведення статистики та логування. 
10 
 
Недоліки: відображення інформації лише на екрані ПК; споживання 
системних ресурсів; відсутність автономності; залежність від операційної 
системи. 
 
1.1.2 Апаратні системи моніторингу 
 
Апаратні рішення реалізуються у вигляді зовнішніх пристроїв, які 
підключаються до комп’ютера через USB, Wi‑Fi або Bluetooth. 
− Arduino Uno 
− ESP8266 
− ESP32 
Переваги апаратних систем: незалежність від головного монітора; 
можливість постійного відображення параметрів; низьке 
енергоспоживання; мобільність та компактність. 
Недоліки: необхідність розробки апаратної частини; складність 
налаштування передачі даних; потреба у програмуванні мікроконтролера. 
 
1.1.3 Комбіновані рішення 
 
Найбільш перспективним напрямом є комбіновані системи, що 
поєднують програмний збір даних та апаратну візуалізацію. 
− програму моніторингу ПК; 
− веб‑сервер або API передачі даних; 
− мікроконтролер із мережевим інтерфейсом; 
− зовнішній дисплей або індикатор. 
11 
 
Таблиця 1.1 
Порівняльний аналіз існуючих рішень 
   
Тип системи Переваги Недоліки 
Програмні Простота Відсутність автономності 
використання 
Апаратні Незалежність роботи Складність реалізації 
Комбіновані Гнучкість і Потребують комплексної 
масштабованість розробки 
 
Проведений аналіз показав, що існуючі програмні рішення 
забезпечують ефективний збір інформації, однак не дозволяють 
організувати незалежний візуальний контроль параметрів комп’ютера. 
Найбільш доцільним є створення автоматизованої системи моніторингу 
температури ПК на базі мікроконтролера, яка поєднує можливості 
програмного збору інформації та апаратного відображення даних у 
режимі реального часу. 
12 
 
2. ОГЛЯД ІСНУЮЧИХ АНАЛОГІВ ТА РІШЕНЬ 
 
2.1. Температурний режим персонального комп'ютера  
Всі компоненти комп’ютера виділяють тепло під час роботи. Якщо 
системний блок і окремі компоненти не будуть добре охолоджуватися 
рано чи пізно температура комп’ютера досягне критичних значень. Після 
цього комп’ютер почне не стабільно працювати і може взагалі вийти з 
ладу 
Крім систем моніторингу, виробники постачають процесори і 
материнські плати функціями оптимізації енергоспоживання. При великій 
обчислювальній навантаженості процесора система може зменшити 
тактову частоту і напруга живлення процесора, це призводить до 
зменшення енергоспоживання і, відповідно, зменшення виділення тепла. 
Сучасні архітектури центральних процесорів провідних 
виробників (AMD та Intel) використовують високоінтегровані апаратні 
технології динамічного керування тактовою частотою та 
енергоспоживанням, які функціонують у тісній взаємодії з 
планувальником завдань операційної системи. 
Компанія AMD у сучасних поколіннях своїх процесорів (зокрема, 
лінійках Ryzen та EPYC) замість застарілої технології Cool'n'Quiet 
застосовує комплекс інтелектуальних алгоритмів AMD SenseMI, базовими 
компонентами якого є технології Precision Boost 2 та Precision Boost 
Overdrive (PBO). За допомогою мережі вбудованих телеметричних 
датчиків процесор здатний оцінювати параметри навантаження, 
температури та струму з високою дискретністю, динамічно коригуючи 
частоту ядра з кроком у 25 МГц. Повноцінна підтримка цих 
низькорівневих механізмів енергозбереження та оптимізації реалізована 
на рівні ядра в сучасних операційних системах Windows 10, Windows 11 
та актуальних дистрибутивах Linux. 
13 
 
Компанія Intel, розвиваючи базові принципи технології Enhanced 
Intel SpeedStep (EIST), у сучасних процесорах Core перейшла на апаратне 
керування станами живлення за допомогою технології Intel Speed Shift. 
Вона дозволяє процесору самостійно й майже миттєво (на 
мікросекундному рівні) змінювати робочі параметри без залучення 
ресурсів ОС. Окрім цього, у зв'язку з переходом Intel на гібридну 
архітектуру (поєднання продуктивних P-cores та енергоефективних E-
cores), було впроваджено апаратний контролер Intel Thread Director. Його 
функція полягає у взаємодії з планувальником операційної системи для 
оптимального розподілу потоків обчислень: фонові та низькопріоритетні 
процеси делегуються енергоощадним ядрам, що суттєво знижує загальне 
енергоспоживання системи. Дана технологія архітектурно оптимізована 
під управління операційної системи Windows 11 та сучасні версії ядра 
Linux. 
Між основою кулера і процесором потрібний прошарок з 
теплопровідного матеріалу - термопасти. Без неї відвід тепла буде істотно 
гірша. Цей компонент охолодження вимагає від користувача регулярних 
трудовитрат. Справа в тому, що паста з часом засихає, і її треба хоча б раз 
на півроку міняти. 
Для поліпшення температурного режиму ПК можна виконати 
наступні дії: 
-  перемістити системний блок. Звертайте увагу на те, щоб від 
корпусу комп'ютера до стіни залишалося достатню відстань. Це 
необхідно, оскільки на задній стінці комп'ютера знаходиться 
вентилятор блоку живлення, що виводить гаряче повітря з системного 
блоку. Крім того, неприпустимо, щоб комп'ютер знаходився під 
впливом прямих сонячних променів або розташовувався у 
безпосередній близькості від нагрівальних приладів; 
14 
 
- встановлення додаткових корпусних вентилятор. Багато 
комп'ютерних корпусів у стандартній комплектації позбавлені 
додаткових вентиляторів. Охолодження всіх комплектуючих у них 
відбувається за рахунок одного тільки вентилятора системного блоку. 
Але більшість корпусів дозволяє вбудувати один або більше 
додаткових вентиляторів, які здатні значно покращити температурний 
режим комплектуючих; 
- збільшити швидкість обертання вентилятора. Іноді можна 
збільшити швидкість обертання вентилятора, змінивши відповідні 
налаштування в BIOS або повернувши регулятор, розташований 
безпосередньо на вентиляторі. Недолік у цього способу один – разом з 
ефективністю охолодження зросте і створюваний кулером шум. 
Жорсткі диски з високими швидкостями обертання шпинделя 
часто вимагають додаткового охолодження. Для цього використовуються 
спеціальні вентилятори.  
Крім того, з часом накопичилася в комп'ютері пил забиває 
вентиляційні отвори корпусу, ребра радіаторів і налипає на лопасті 
вентиляторів. Ще одна корисна міра: широкі плоскі кабелі, якими 
підключаються жорсткі диски та CD-DVD з інтерфейсом IDE, можна 
замінити круглими проводами. Приводи з інтерфейсом SATA такої 
проблеми не викликають, так як для їх підключення завжди 
використовуються тонкі дроти. 
Треба встановити більш потужну систему охолодження 
процесора. Якщо, незважаючи на всі старання, процесор комп'ютера 
продовжує перегріватися, це означає, що його система охолодження не 
справляється зі своїми обов'язками. Найбільш ефективні моделі з 
великими «баштовими» радіаторами і тепловими трубками. Більшість з 
них є універсальними і підходять до сучасних процесорів виробництва як 
Intel, так і AMD. Проте з цього правила бувають винятки, так що при 
15 
 
покупці кулера необхідно переконатися в тому, що він сумісний з вашим 
процесором і материнською платою. 
 
2.2. Допустима робоча температура компонентів комп’ютера  
Перевіряти температуру комп’ютера занадто часто немає 
необхідності. Однієї перевірки на 2-3 місяця буде більш ніж достатньо. 
Також перевіряти температуру потрібно при появі, будь-яких проблем з 
комп’ютером. Зниження продуктивності або раптові перезавантаження 
комп’ютера можуть говорити про перегрів системи. 
Найбільш частою причиною є пил. Забиті пилом радіатори втрачають 
свою ефективність і дуже погано охолоджують. Як правило, системний 
блок потрібно чистити від пилу не рідше ніж раз на 4 місяців. Також до 
підвищення температури може призводити неправильний монтаж 
радіатора або кулера. 
Робоча температура залежить від конкретної складової 
комп'ютера. Деякі компоненти комп’ютера дуже нагріваються, інші - 
менше. В ідеальному випадку температура процесора не повинна 
перевищувати 50 ° С - навіть при високій обчислювальній 
навантаженості. Критичною є відмітка в 70 ° С. Більш високі робочі 
температури можуть призвести до пошкодження процесора; перш за все 
це актуально для старих моделей. У сучасних процесорів є вбудований 
захист від перегріву. Якщо температура піднімається вище деякого 
порогового значення (як правило, цей показник становить близько 90 ° С), 
захист автоматично обмежує потужність процесора (він починає пропуск; 
такти), що призводить до зниження його температури.  
Критичні температури для компонентів комп’ютера 
Процесор. Температура процесора у режимі простою не повинна 
перевищувати 40 градусів. Під навантаженням не більше 55 градусів. 
16 
 
Якщо процесор перевищує ці значення – проблеми з охолодженням. Після 
температури в 60 градусів починаються проблеми з продуктивністю, а 
після того, як температура досягне позначки 70-80 градусів комп’ютер 
перезавантажиться. 
Материнська плата. Перегрів чіпсета на материнській платі явище 
дуже рідкісне але, тим не менш, це теж трапляється. Оптимальною 
температурою для чіпсета є 25-35 градусів, максимально безпечною 
границею можна вважати 40-45 градусів. Температура чіпсета 
материнської плати в нормальних умовах не повинна перевищувати 50 °С. 
Відеокарта. Температура відеокарти сильно залежить від її 
потужності і способу охолодження. Для звичайної відеокарти з кулером 
нормальна температура під час простою становить 40 градусів. Під 
навантаженням сучасні відеокарти без проблем витримують температури 
в 60-75 градусів. Графічний процесор відеокарти витримує більш високий 
рівень нагрівання, ніж центральний процесор. Під час гри, при 
інтенсивній обчислювальній завантаженності, температура графічного 
процесора може досягати 80 ° С – без ризику виходу чіпа з ладу. 
Жорсткі диски. Оптимальною температурою для жорсткого диска є 
25-30 градусів. Значення 45 градусів є максимально прийнятним, після 
нього починаються проблеми. Жорсткий диск також не повинен 
нагріватися вище      50 °С. Якщо його температура протягом тривалого 
часу буде вище цього рівня, то термін служби накопичувача скоротиться. 
Крім того, при особливо сильному нагріванні може відбутися втрата 
записаних на диск даних. 
 
 2.3.Аналоги моніторингу температури ПК 
Всі комп'ютерні комплектуючі, і насамперед процесори, при роботі 
виділяють деяку кількість тепла. Для нормального функціонування 
системи його необхідно відводити, забезпечуючи оптимальний 
17 
 
температурний режим. Це завдання значно ускладнюється з приходом 
літньої спеки, коли стандартні системи охолодження можуть вже не 
справлятися. 
Результатом перегріву можуть бути як повний вихід комп'ютера з 
ладу, так і перманентна нестабільність системи, що виражається в появі 
дивних помилок, зависаннях і раптових перезагрузок. Щоб не допустити 
таких неприємних наслідків, необхідно тримати температуру компонентів 
ПК під контролем за допомогою спеціальних програм. 
 
 
 
Рис. 2.1. Робоче вікно Core Temp 
  
Core Temp є компактною, невимогливою до ресурсів програмою для 
моніторингу в реальному часі температури процесора. Утиліта працює як 
18 
 
з процесорами Intel, так і з продуктами AMD, причому підтримується 
дуже широкий діапазон моделей, включаючи останні розробки. CoreTemp 
може відображати в системному треї температуру, частоту або 
завантаження для кожного ядра. Крім цього, доступні для скачування 
спеціальний гаджет, що виводить ці параметри на Робочий стіл, а також 
плагін для Windows Media Center. Додаток має функцію попередження 
про перегрів у вигляді підказки. 
 
 
 
Рис. 2.2. Робоче вікно SpeedFan 
 
19 
 
SpeedFan є однією з найстаріших і найпопулярніших програм 
даного типу. Її можливості виходять далеко за межі простого контролю 
температури: вона в змозі зчитувати напругу, частоту, швидкість 
обертання вентиляторів, дані SMART, температуру жорсткого диска, а 
також відображати поточні значення обраних датчиків в треї. Основною 
особливістю програми є здатність регулювати обороти вентиляторів 
залежно від температури процесора. Крім того, утиліта веде статистику і 
зберігає відомості в лог-файл, малює графіки зміни температури, напруги 
і швидкості обертання кулера. 
 
  
Рис. 2.3. Робоче вікно Real Temp 
20 
 
 
Real Temp – програма моніторингу температури, призначена 
виключно для процесорів Intel (Core, Dual Core, Quad Core і Core i7). 
Працює під всіма версіями Windows, і не вимагає установки. Зчитування 
даних проводиться безпосередньо з сенсора, розташованого в ядрі 
процесора, тому показання утиліти, за твердженням розробників, 
найбільш близькі до реальних. Real Temp має функцію попередження або 
екстреного виключення комп'ютера по досягненні граничних значень. За 
допомогою програми можна також протестувати температурний сенсор і 
швидкодію процесора. 
 
21 
 
 
 
Рис. 2.4. Робоче вікно Hmonitor 
 
Hmonitor в змозі відслідковувати температури ядер процесора і 
жорсткий диск, напруги та швидкості вентиляторів. Програма володіє 
широкими можливостями налаштування відображення контрольованих 
параметрів. Вибір різних дій, вироблення утилітою при перегріванні 
процесора, дозволити в автоматичності режимі реагувати на екстремальні 
ситуації. Це можуть бути подача звукового сигналу, автоматичне 
вимикання системи або запуск цілого сценарію (наприклад, відправлення 
22 
 
електронного листа адміністратору). Hmonitor є платною (умовно) i може 
використовуватися у всіх версіях Windows. 
 
 
 
Рис. 2.5. Робоче вікно CPU Thermometer 
 
Дана програма, напевно, найпростіша у використанні. Все, що вона 
вміє, це відображати температуру і завантаження процесора в системному 
треї. У налаштуваннях допускаються вказівки кольору індикації і 
автостарт разом із запуском системи. Втім, настільки обмежена 
функціональність мало вплинула на ресурси додатки – цей термометр 
використовує набагато більше ресурсів ніж конкуренти. Незважаючи на 
23 
 
безкоштовний статус, навряд чи термометр стане оптимальним вибором. 
 
 
  
Рис. 2.6. Робоче вікно PC-Wizard 
 
PC-Wizard є цілим програмним комплексом, якому під силу 
контроль та діагностика практично будь-яких комп'ютерних 
комплектуючих. Ця програма може бути використано для аналізу 
конфігурації системи і тестування обладнання, у тому числі оцінки 
продуктивності процесора, перевірки оперативної пам'яті, швидкості 
роботи жорсткого диска і багато чого іншого. При згортанні П PC-Wizard 
вміє виводити основні параметри системи, у тому числі температуру 
процесора, у вигляді невеликого дисплея, розташованого поверх всіх 
24 
 
вікон. Таким чином, ви завжди зможете їх бачити і оперативно реагувати. 
 
 
  
Рис. 2.7. Робоче вікно Hardware Monitor 
 
Програма є продуктом спільноти розробників з відкритим вихідним 
кодом. Вона контролює датчики температури, швидкості обертання 
вентиляторів, напруги, завантаження і тактову частоту процесора 
комп'ютера. Відкритий Hardware Monitor підтримує більшість сучасних 
материнських плат для платформ Intel і AMD. Крім цього, утиліта вміє 
прочитувати свідчення SMART жорстких дисків і датчиків 
25 
 
відеоадаптерів. Будь-який параметр можна відобразити у вигляді 
спеціального гаджета на Робочому столі або іконки в треї. Додаток 
використовується не тільки у всіх версіях Windows, але і в Linux. 
 
 
  
Рис. 2.8. Робоче вікно Temp Taskbar 
 
Програма призначена суто для демонстрації температури процесора, 
але робить вона це вельми незвичайним способом. Після запуску – 
індикатором стає вся панель завдань. З'являється зелена температурна 
шкала процесора, причому розташовані на панелі кнопки додатків 
абсолютно не заважають її відображенню. По досягненні високого рівня 
шкала забарвлюється в жовтий колір, а при критичних значеннях - в 
червоний. Відповідні параметри і кольори встановлюються в настройках 
утиліти. Управління нею здійснюється за допомогою іконки в системному 
треї. 
26 
 
 
3. ПРОЕКТУВАННЯ ПРИСТРОЮ ДЛЯ МОНІТОРИНГУ 
КОМП’ЮТЕРА 
3.1. Вибір мікроконтролера пристрою 
Для проектування пристрою моніторингу температури 
персонального комп’ютера намагатимося вибрати недорогий, простий і 
широко використовуваний мікроконтролер.  
До того, як приступитися до програмування мікроконтролера або 
організації взаємодії з іншими пристроями, необхідно зрозуміти його 
архітектуру. У даному розділі представляється архітектура сімейства 
мікроконтролерів PIC, при цьому особлива увага приділяється 
мікроконтролерам сімейства PIC 18, що випускаються фірмою Microchip 
Technology Incorporated. Сімейство PIC 18 – це новітнє із сімейств PIC, 
наявних на ринку. У даному розділу також представляються вступні 
відомості про інтегральне середовище розробки (IDE) для 
мікроконтролерів PIC, а також розглядається процес 
асемблювання/компонування. 
Після дослідження в даному розділі можливо буде: 
1) Описати внутрішню архітектуру мікроконтролера PIC і 
взаємодію його компонентів. 
2) Детально описати системну архітектуру Pic. 
3) Пояснити призначення кожного регістру в узагальненій 
моделі програмування мікроконтролера. 
4) Запрограмувати простий порт введення-виведення на 
здійснення операцій вводу-виводу. 
5) Використовувати інтегральне середовище розробки (IDE) для 
програмування мікроконтролерів сімейства PIC 18. 
6) Імітувати виконання програми для мікроконтролера PIC. 
27 
 
7) Описати функціонування команд мови асемблера. 
Архітектура PIC мікроконтролерної системи трохи відрізняється від 
загальної комп'ютерної системи. Внаслідок того, що PIC містить пам'ять і 
пристрій введення-виведення, придатні для більшості застосувань, 
мікроконтролер PIC – це просто окремий блок системи. Додаткова пам'ять 
або можливості введення-виведення можуть бути додані в систему, однак 
у багатьох випадках пам'ять і можливості введення-виведення, 
забезпечувані мікроконтролером PIC достатні для більшості застосувань. 
На рисунку 3.1 пропонується  проста систему, яка використовує 
мікроконтролер PIC. Ця система містить рідкокристалічний індикатор для 
відображення інформації, клавіатуру для введення даних, оптичний 
зчитувач карток для введення інформації з карток і послідовний інтерфейс 
із хост-комп'ютером для вивантаження даних і завантаження інформації в 
контролер. Дана система не містить зовнішню пам'ять, крім пам'яті, 
розташованої усередині мікроконтролера. Система в цілому містить 
тільки пристрій введення-виведення та мікроконтролер. 
 
 
 РК-індикатор 
 
 
 
 
 
 Оптичний зчитувач 
 карточок 
Мікроконтролер PIC 
 
 
Клавіатура 
 
 
 Послідовний інтерфейс до 
 хост-комп’ютера 
Рис. 3.1. Проста мікроконтролерна система 
28 
 
РІС мікроконтролер містить: пам'ять для зберігання програм і 
даних, підключення пристроїв введення-виведення, що формують 
інтерфейс зі зчитувачем карток, РК-індикатором, клавіатурою, 
послідовним інтерфейсом (внутрішнім інтерфейсом контролера), і також 
таймером, який може використовуватися в якості годин реального часу та 
календаря системи. Такий рівень інтеграції робить мікроконтролер 
потужним і недорогим засобом створення систем. Мікроконтролер РІС 
коштує всього кілька доларів і може програмуватися на Асемблері, С, 
БЕЙСИКУ або Java. 
Тепер, коли маємо деяку основу про потужність РІС як контролера 
системи, ми повинні зрозуміти внутрішню структуру цього пристрою. РІС 
містить пам'ять і центральний процесор. Він також містить компоненти 
формування інтерфейсу введення - виведення, необхідні для керування 
пристроями системи. Перш, ніж ви зможете програмувати 
мікроконтролер, необхідно зрозуміти його внутрішню структуру. 
Пам'ять програм адресується через 21-розрядну програмну адресу, 
що втримується в регістрі, який називається лічильником команд. Адреса 
пам'яті в 21 розряд (221) може адресувати 2М пам'яті. У сімействі РІС18 
простір пам'яті програм починається з адреси 0x000000 і простягнеться до 
Ох1FFFFF. Припустимо, що для використання в системі обраний пристрій 
РІС18Г4520. Даний мікроконтролер має 32 кб пам'яті програм, при цьому 
перші 32 кб пам'яті програм, які нумеруються в байтах, починаються з 
адреси 0x000000 і простягнуться до адреси Ох007FFF.  
Порти вводу-виводу. Порти введення-виведення використовуються 
для забезпечення взаємодії мікропроцесора із зовнішнім світом. Кожний 
порт введення-виведення звичайно має розрядність в 8 бітів і може бути 
запрограмований як на введення, так і на виведення інформації. Кількість 
бітів і портів введення-виведення коливається для різних пристроїв 
сімейства PIC18 і в загальному випадку визначається кількістю виводів 
29 
 
інтегральної схеми.  
Структура введення-виведення для різних пристроїв розглянутого 
сімейства коливається в широких межах, однак усі пристрої мають 
принаймні порт А і порт В. При проведенні експериментів з базовими 
функціями введення-виведення цих двох портів рекомендується 
використовувати реальну панель розроблювача. Те, яку систему розробки 
програм вибрати при проведенні експериментів, повинен розв'язати 
викладач. Може бути використана кожна із систем розробки, 
пропонованих Microchip або будь-якою іншою фірмою. У перших 
розділах цієї книги передбачається, що використовується порт введення-
виведення, оснащений, принаймні, чотирма світодіодами й декількома 
перемикачами.  
Використання порту для простого введення-виведення є досить 
легким завданням. Регістр TRISA визначає напрямок (введення або 
виведення) для кожного порту A. (TRISA призначений для порту A, 
TRISB - для порту В, і так далі). Регістр TRIS порту - це регістр напрямку 
переміщення даних порту. Після того як мікроконтролер скидається, 
регістри TRIS установлюються на операцію виведення. Це захищає схеми, 
підключені до виводів порту введення-виведення. Логічний нуль біта 
регістру TRISA установлює відповідний біт порту А на вивід інформації, 
а логічна одиниця в біті встановлює відповідний біт порту А на введення 
даних. Наприклад, для програмування бітів порту А від 0 до 3 (ці біти 
позначаються від RAO до RA3) у якості вихідних бітів, а бітів порту А від 
4 до 7 (ці біти позначаються від RA4 до RA7) у якості вхідних бітів, у 
регістр TRISA необхідно завантажити Oxfo. 
Як тільки напрямок переміщення даних для бітів порту буде 
запрограмовано, доступ до цього порту можна здійснювати по його імені. 
Регістр PORTA використовується для організації інформаційного обміну з 
портом А. Наприклад, якщо в регістр PORTA записане значення 0x28 
30 
 
комірки PORTA (якщо вони запрограмовані як вихідні) будуть 
ухвалювати дані. Аналогічним чином, для зчитування даних зі порту А 
виконується зчитування регістру PORTA. Також є можливим одержати 
доступ до одної комірки порту А, використовуючи директиву Portabits 
мови С. 
Таймери являють собою програмувальні модулі лічильників. 
Таймер може підраховувати події та імпульси тактової частоти, він також 
може виконувати цілий ряд сервісних функцій для програм. Таймери 
часто програмуються на відпрацьовування тайм-ауту по проходженню 
певної кількості тактових імпульсів. Різні пристрої сімейства PIC мають 
від двох до п'яти таймерів.  
Таймери використовуються в мікропроцесорах для генерації різних 
подій, – від переривань із періодичною частотою до реалізації лічильників 
реального часу при визначенні значення частоти або рахунку подій. 
Таймери також використовуються для генерування сигналів для інших 
пристроїв у системі. Більш докладно таймери будуть розглядатися пізніше 
під час обговорення внутрішнього введення-виведення та його 
використання в різних застосуваннях. 
Інші внутрішні пристрої вводу-виводу. Різні моделі пристроїв 
сімейства PIC 18 також містять інші пристрої введення-виведення, які 
програмуються через спеціальні функціональні регістри (СФР). Ці інші 
пристрої можуть включати аналого-цифрові перетворювачі (АЦП), 
широтно-імпульсні модулятори, а також послідовні комунікаційні порти 
ряду інших типів.  
У загальному випадку порти введення-виведення програмуються 
через регістр TRIS. Регістр TRIS визначає напрямок комірок введення-
виведення для даного порту. Якщо біт регістру TRIS установлений у стан 
логічного нуля, то відповідний біт порту програмується як вихідний. 
Якщо біт регістру TRIS установлений у стан логічної одиниці, то 
31 
 
відповідний біт порту програмується як вхідний. Кожний порт має свій 
регістр TRIS. Вони позначаються як TRISA для порту A, TRISB для порту 
В, і так далі. Дані зчитуються або записуються через регістр PORT. При 
цьому PORTA використовується для порту A, PORTB використовується 
для порту В і так далі. Для вибору аналогового або цифрового режиму 
роботи штырька для аналого-цифрового перетворювача використовується 
регістр ADCON1, спеціалізуючий, які порти А і порти В будуть 
цифровими або аналоговими. За замовчуванням установлюється 
аналоговий режим роботи. 
 
 Порти 
Пам'ять даних введення/ 
 
виведен
 ня 
 
Таймери 
 
Пам'ять стека  
32х21 
 
 АЦП 
8-бітний ЦП  
 
 
 Послідовні 
Пам'ять порти 
 
програм 
 
 
Інші 
 периферійні 
пристрої 
 
 
Рис. 3.2. Внутрішня структура мікроконтролерів сімейства PIC. 
32 
 
 
Рисунок 3.2. зображує внутрішню архітектуру сімейства 
контролерів PIC 18. Внутрішня архітектура подібна  блок-схемі 
комп'ютерної системи. Основна відмінність полягає в тому, що пам'ять в 
PIC розділена на дві різні частини – одна для зберігання програми, а інша 
– для зберігання даних. Ця архітектура називається гарвардською 
архітектурою, винайденої в 1944 для електромеханічного комп'ютера 
(Mark 1), розробленого Говардом Хатавеем Айкеном. Гарвардська 
архітектура ділить пам'ять системи на два розділи для того, щоб 
підвищити її ефективність. У традиційній архітектурі системи фон 
Неймана дані й команди вибираються через ту ж саму шину, що часто 
викликає затримки щораз, коли команда маніпулює даними, записаними в 
пам'яті. Дані в пам'яті й одержувані від пристроїв введення-виведення – 
звичайно мають довжину у вісім бітів, у той час як команди часто мають 
більшу розрядність. У гарвардській архітектурі, реалізованої в PIC- 
мікроконтролерах, пам'ять даних і шини введення-виведення мають 
розрядність в 8 бітів, а пам'ять програм має розрядність в 16 бітів. Така 
організація дозволяє командам вибиратися з пам'яті програми в одному 
циклі читання або в рамках однієї операції, що підвищує ефективність 
системи. Варто звернути увагу, що Pic-мікроконтролери деяких сімейств 
використовують 12-розрядну пам'ять програм, однак тут розглядається       
16-розрядна пам'ять програм, реалізована в сімействі PIC 18. 
Внаслідок того, що пам'ять програм і пам'ять даних розділені, 
вибірка кодів операцій перекриває виконання команди, що підвищує 
ефективність мікроконтролера. Цей ефект називається конвеєрним 
режимом. Конвеєрний режим забезпечує те, що більшість команд 
виконуються за один тактовий цикл. Перекриття добування команд із 
пам'яті та виконання відбувається тільки в системах, які мають роздільну 
пам'ять програм і даних, використовуючи гарвардську архітектуру. Такі 
33 
 
мікропроцесори, як Pentium від Intel фактично внутрішньо 
використовують цю архітектуру через кеш даних та кеш програм, які 
застосовуються для внутрішньої реалізації конвеєрного режиму та 
гарвардської архітектури. 
Пам'ять програм має розрядність, рівну 16 бітам, при цьому кожна 
комірка пам'яті в більшості випадків містить одну послівну команду. 
Зверніть увагу, що деякі команди вимагають 32 біта пам'яті або дві 
послідовні комірки пам'яті, однак більшість команд є 16-бітними. Пам'ять 
програм ділиться на дві частини: одна частина - це внутрішньосхемна 
пам'ять програм, а інша – це зовнішня пам'ять програм, яка 
встановлюється якщо буде потреба. Обсяг внутрішньосхемної пам'яті 
змінюється для різних членів сімейства PIC 18, перебуваючи в діапазоні 
від 4 Кб до 128 Кб. Внутрішнсьохемна пам'ять програм – це або флеш-
пам'ять, яка може багаторазово перепрограмуватися в сімействі 18F, або 
однократно-програмувальна пам'ять (ОПП) у сімействі 18С. Флеш-
Пам'ять програм звичайно програмується з використанням зовнішнього 
програматора, однак у багатьох версіях мікроконтролерів вона може бути 
самопрограмувальною. Якщо вона є самопрограмувальною, то пристрій 
звичайний має блок завантаження, що містить звичайно програму, 
названу завантажником програми розкручування, яка не стирається й не 
перепрограмовується при перепрограмуванні флеш-памяти.  
 У PIC18F4550 передбачені 10 джерел переривань. Ці переривання і 
скидання мають різні вектори в області пам'яті програм. Кожному з 
переривань привласнений окремий біт, що дозволяє дане переривання при 
встановленні біта в “1” (якщо, звичайно, переривання взагалі дозволені, 
тобто біт I = 1). 
Самі молодші адреси пам'яті програм визначені як вектори 
переривань. Повний список векторів переривань приведений у табл. 4. 
Цей список визначає і пріоритет різних переривань. Менші адреси 
34 
 
відповідають більш високому рівню пріоритету. Найвищий рівень у 
скидання, що випливає пріоритет у INT0 – зовнішнього запиту 
переривання 0 і т.д. 
PIC18F4550 має три джерела скидання (перезапуску 
мікроконтролера): 
·     скидання по включенню живлення. Процесор скидається при 
подачі живлення на виводи VCC і GND; 
·     зовнішнє скидання. Процесор скидається при подачі низького 
рівня на вивід RESET на час більш двох періодів тактової частоти; 
·     скидання від сторожового таймера. Процесор скидається по 
закінченню часу відпрацьовування сторожового таймера, якщо дозволена 
його робота. 
Під час скидання всі регістри введення-виведення встановлюються 
в початкові значення, програма починає виконуватися з адреси $000, по 
цій адресі повинна бути записана команда RJMP – відносний перехід на 
програму обробки скидання. Якщо в програмі не дозволяються 
переривання і вектори переривань не використовуються, програма може 
починатися з нульової адреси. 
●  Скидання по включенню живлення 
Спеціальна схема, вбудована в мікроконтролер - ланцюг скидання 
по включенню живлення, забезпечує заборону включення процесора доти, 
поки напруга живлення не досягне безпечного рівня. Після того як 
напруга живлення досягне рівня включення, процесор не включається 
доти, поки вбудований таймер не обробить кілька робочих періодів 
сторожового таймера. 
Оскільки до виводу RESET підключений  обмежуючий резистор, 
цей вивід може залишатися непідключеним, якщо не потрібно зовнішнє 
скидання. Час включення після подачі живлення може бути збільшено 
утриманням виводу скидання на низькому рівні. 
35 
 
●  Зовнішнє скидання 
Зовнішнє скидання обробляється по низькому рівні на виводі 
RESET. Вивід повинний утримуватися в низькому стані, принаймні, два 
періоди тактової частоти. Після зняття сигналу “0” з виводу Reset через 
якийсь час (так само як при скиданні по включенню живлення) 
мікроконтролер запускається. 
●  Скидання по сторожовому таймері 
Після відпрацьовування заданого при його ініціалізації інтервалу 
часу сторожовий таймер виробляє імпульс скидання, перезапускаючи при 
цьому мікроконтролер [7]. 
 PIC18F4550 має два регістри маски переривань GIMCK – загальний 
регістр маски переривань і TIMCK – регістр маски переривання від 
таймера-лічильника. 
Коли виникає переривання, біт глобального дозволу переривань I 
скидається (йому привласнюється значення “0”) і всі переривання 
забороняються. Програма користувача може встановити цей біт для 
дозволу переривань. Прапорець дозволу переривань I автоматично 
встановлюється в “1” при виконанні команди виходу з переривання – 
RETI. 
Для переривань, які викликаються статичними подіями, наприклад 
переповнення таймера 0, прапорець відповідного переривання 
встановлюється при виникненні події. Якщо прапорець переривання 
очищений і є присутнім умова виникнення переривання, прапорець не 
буде встановлений, поки не відбудеться наступна подія. 
Коли програмний лічильник встановлюється на поточний вектор 
переривання для його обробки, прапор, який згенерований перериванням, 
апаратно скидається. Деякі прапорці переривання можуть бути скинуті 
записом логічної одиниці в біт, що відповідає прапорцю. 
 Біт 7 – INT1: запит зовнішнього переривання 1 дозволений. Коли 
36 
 
цей біт установлений, а також установлений біт I, дозволяється 
переривання від зовнішнього виводу. Біти керування запуском 
переривання (ISC11 і ISC10) у регістрі керування мікроконтролером 
(MCUCR) визначають, по якій події відпрацьовується переривання – по 
спадаючому чи наростаючому фронті чи за рівнем. Активність на виводі 
приводить до виникнення переривань, навіть якщо вивід має 
конфігурацію як вихід. При виникненні переривання виконується перехід 
за адресою $001 для виконання підпрограми обробки переривання. 
Біт 6 – INT0: запит зовнішнього переривання 0 дозволений. Коли 
цей біт установлений, а також установлений біт I, дозволяється 
переривання від зовнішнього виводу. Біти керування запуском 
переривання (ISC01 і ІSC00) у регістрі керування мікроконтролером 
(MCUCR) визначають, по якій події відпрацьовується переривання – по 
спадаючому чи наростаючому фронті чи за рівнем. Активність на виводі 
приводить до виникнення переривань, навіть якщо вивід має 
конфігурацію як вихід. При виникненні переривання виконується перехід 
за адресою $001 для виконання підпрограми обробки переривання [4]. 
Біти 5...0 – у PIC18F4550 ці біти зарезервовані і завжди читаються 
як “0”. 
 Біт 7 – INTF1: прапорець зовнішнього переривання 1. При 
виникненні на виводі INT1 події, що викликає переривання, INTF1 
встановлюється в “1”. Якщо встановлені біт 1 регістра SREG і біт INT1 у 
GIMCК, відбувається перехід на вектор переривання за адресою $002. 
Прапорець очищається після виконання оброблювача переривання. Крім 
того, прапорець можна очистити, записавши в нього логічну одиницю. 
Біт 6 – INTF0: прапорець зовнішнього переривання 0. При 
виникненні на виводі INT0 події, що викликає переривання, INTF0 
встановлюється в “1”. Якщо встановлені біт 1 регістра SREG і біт INT0 у 
GIMСК, відбувається перехід на вектор переривання за адресою $001. 
37 
 
Прапор очищається після виконання оброблювача переривання. Крім 
того, прапор можна очистити, записавши в нього логічну одиницю. 
Біт 7 – TOIE1: дозвіл переривання по переповненню таймера-
лічильника 1. Якщо встановлені цей біт і біт дозволу переривань у 
регістрі стану, дозволені переривання по переповненню таймера-
лічильника 1. Відповідне переривання (вектор $005) виконується при 
переповненні таймера-лічильника 1. У регістрі прапорців таймерів-
лічильників (TIFR) встановлюється прапорець переповнення. Якщо 
таймер-лічильник 1 працює в режимі широтно-імпульсної модуляції 
(ШІМ), прапорець переповнення встановлюється при зміні напрямку 
рахунку, при значенні $0000. 
Біт 6 – OCIE1А: дозвіл переривання по збігу таймера-лічильника 1. 
Якщо встановлені біт OCIE1A і біт дозволу переривання в регістрі стану, 
дозволені переривання по збігу таймера-лічильника 1. Переривання 
(вектор $004) виконується при рівності таймера-лічильника 1 і регістра 
збігу. В прапорному регістрі TIFR встановлюється в “1” прапорець збігу. 
Біти 5, 4 – у PIC18F4550 зарезервовані і завжди читаються як “0”. 
Біт 3 – TICIE1: дозвіл переривання по входу захоплення. Якщо 
встановлені біт TICIE1 і біт дозволу переривання в регістрі стану, 
дозволені переривання по входу захоплення. Відповідне переривання 
(вектор $003) виконується по сигналу захоплення на виводі 11 (PD6-ICP). 
В прапорному регістрі TIFR встановлюється прапор захоплення. 
Біт 2 – у PIC18F4550 зарезервований і завжди читається як “0”. 
Біт 1 – TOIE0: дозвіл переривання по переповненню таймера-
лічильника 0. Якщо цей біт встановлений у “1” і біт I у регістрі стану 
встановлений у “1”, дозволені переривання по переповненню таймера-
лічильника 0. При виникненні переповнення виконується перехід на 
відповідний вектор переривання ($006). Прапор переповнення (TOV0) у 
прапорному регістрі переривань (TIFR) таймерів-лічильників 
38 
 
встановлюється в “1”. 
Біт 0 – у PIC18F4550 зарезервований і завжди читається як “0”. 
 Біт 7 – TOV1: прапорець переповнення таймера-лічильника 1. 
Прапорець TOV1 встановлюється в “1” при виникненні переповнення 
таймера-лічильника 1. Прапорець TOV1 скидається апаратно при 
виконанні відповідного вектора обробки переривання. Крім того, 
прапорець можна скинути, записавши в нього логічну одиницю. Якщо 
встановлені біт I у SREG і біт TOIE1 у ТIМСК, при установці біта TOV1 
виконується переривання по переповненню таймера-лічильника 1. У 
режимі ШІМ цей біт встановлюється, коли таймер-лічильник 1 змінює 
напрямок рахунку при значенні $0000. 
Біт 6 – OCF1A: прапорець виходу збігу 1А. Прапорець 
встановлюється в “1” якщо відбувається збіг значення таймера-лічильника 
1 і даних у регістрі OCR1A. Прапорець очищається апаратно при 
виконанні відповідного вектора переривання. Крім того, прапорець можна 
скинути, записавши в нього логічну одиницю. Якщо встановлені біт I у 
SKEG і біт OCIE1A у TIMCK, при установці біта OCF1А виконується 
переривання. 
Біти 5,4 – у PIC18F4550 зарезервовані і завжди читаються як “0”. 
Біт 3 – ICF1: прапорець входу захоплення 1. Біт встановлюється в 
“1” при виникненні події захоплення по входу. Значення таймера-
лічильника 1 скопійовано в регістр захоплення по входу I. ICF1 
очищається при виконанні відповідного вектора обробки переривання. 
Крім того, прапор можна очистити, записавши в нього логічну одиницю. 
Біт 2 – у PIC18F4550 зарезервований і завжди читається як “0”. 
Біт 1 – TOV0: прапорець переповнення таймера лічильника 1. 
Прапорець TOV0 установлюється при переповненні таймера-лічильника 
0. Прапорець скидається апаратно при виконанні відповідного вектора 
переривання. Крім того, прапорець можна очистити, записавши в нього 
39 
 
логічну одиницю. Якщо встановлені біт I у SREG і біт TOIE0 у TIMCK, 
при установці біта TOV0 виконується переривання по переповненню 
таймера-лічильника 0. 
Біт 0 – у PIC18F4550 зарезервований і завжди читається як “0”. 
Зовнішні переривання керуються виводами INT0 і INT1. 
Переривання обробляються, навіть коли виводи мають конфігурацію як 
виходи. Це дозволяє генерувати програмні переривання. Зовнішні 
переривання можуть виникати по спадаючому чи наростаючому фронті, а 
також по низькому рівні. Це встановлюється в регістрі керування 
процесором MCUCR. Якщо зовнішні переривання дозволені і мають 
конфігурацію на відпрацьовування за рівнем, переривання буде 
вироблятися доти, поки вивід утримується в низькому стані. 
Керування роботою зовнішніх переривань розглянуто при описі 
регістра керування процесором MCUCR. 
Мінімальний час реакції на кожне з передбачених в процесорі 
переривань – 4 періоди тактової частоти. Після 4 циклів викликається 
програмний вектор, що обробляє дане переривання. За ці 4 цикли 
програмний лічильник записується в стек, покажчик стека зменшується на 
2. Програмний вектор являє собою відносний перехід на підпрограму 
обслуговування переривання, і цей перехід займає 2 періоди тактової 
частоти. Якщо переривання відбувається під час виконання команди, що 
триває кілька циклів, перед викликом переривання завершується 
виконання цієї команди [9]. 
Вихід із програми обслуговування переривання займає 4 періоди 
тактової частоти. За ці 4 періоди зі стека відновлюється програмний 
лічильник. Після виходу з переривання процесор завжди виконує ще одну 
команду, перш ніж обслужити будь-яке відкладене переривання. 
Помітимо, що регістр стану SREG апаратно не зберігається 
процесором як при виклику підпрограм, так і при обслуговуванні 
40 
 
переривань. Якщо програма вимагає збереження SREG, воно повинно 
вироблятися програмою користувача. 
  Біти 7, 6 – у PIC18F4550 ці біти зарезервовані і завжди читаються 
як “0”. 
Біт 5 – SE: дозвіл режиму Sleep. Цей біт повинний бути 
встановлений у “1”, щоб при виконанні команди SLEEP процесор 
переходив у режим зниженого енергоспоживання. Цей біт повинний бути 
встановлений у “1” до виконання команди SLEEP. 
Біт 4 – SM: режим Sleep. Цей біт вибирає один із двох режимі 
зниженого енергоспоживання. Якщо біт скинутий, як режим Sleep 
вибирається холостий режим (Idle mode). Якщо біт встановлений –
вибирається економічний режим (Power Down).  
Біти 3, 2 – ISC11, ISC10: біти керування спрацьовуванням 
переривання 1. Зовнішнє переривання активується виводом INT1, якщо 
встановлений прапор I регістра стану SREG і установлена відповідна 
маска в регістрі GIMCK. Спрацьовування за рівнем і фронтами задається 
в такий спосіб: 
Біти 1, 0 – ISC01, ISC00: біти керування спрацьовуванням 
переривання 0. Зовнішнє переривання активується виводом INT0, якщо 
встановлений прапор I регістра стану SREG і установлена відповідна 
маска в регістрі GІMCK. У таблиці 3 приведено встановлення бітів для 
завдання спрацьовування за рівнем і фронтами. 
 Режими пониженого енергоспоживання. 
 Для запуску режиму зниженого енергоспоживання повинний бути 
встановлений у стан “1” біт SE регістра MCUCR і повинна бути виконана 
команда SLEEP. Якщо під час перебування в режимі зниженого 
споживання відбувається одне з дозволених переривань, процесор 
починає працювати, виконує підпрограму обробки переривання і 
продовжує виконання програми з команди, що випливає за SLEEP. Вміст 
41 
 
реєстрового файлу і пам'яті введення-виведення не змінюється. Якщо в 
режимі зниженого споживання відбувається скидання, процесор починає 
виконання програми з вектора скидання. 
Якщо для виводу з економічного режиму використовується 
переривання за рівнем, низький рівень повинний утримуватися на час, 
достатній для запуску генератора тактових імпульсів – не менш 16 мс. 
Інакше прапор переривання може повернутися в “0” до того, як процесор 
почне роботу. 
Режим холостого ходу 
Коли біт SM скинутий, команда SLEEP переводить процесор в 
режим холостого ходу (Idle mode). ЦПУ зупиняється, але таймери-
лічильники, сторожовий таймер і система переривань продовжують 
працювати. Це дозволяє процесору відновляти роботу як від зовнішніх 
переривань, так і по переповненню таймерів-лічильників по скиданню від 
сторожового таймера. Якщо переривання від аналогового компаратора не 
потрібно, аналоговий компаратор може бути відключений установкою 
біта ACD регістра ACSR. Це зменшує споживану потужність. 
Економічний режим 
Коли біт SM = 1, команда SLEEP переводить процесор в 
економічний режим (Power Down Mode). У цьому режимі зупиняється 
генератор тактових імпульсів. Програміст може дозволити роботу 
сторожового таймера в цьому режимі. Якщо сторожовий таймер 
дозволений, процесор виходить з економічного режиму після 
відпрацьовування періоду сторожового таймера. Якщо сторожовий 
таймер заборонений, вихід з економічного режиму може відбутися тільки 
по зовнішньому скиданню чи зовнішньому перериванню за рівнем. 
 Регістри доступу до енергонезалежної пам'яті (EEPROM) 
розташовані в просторі введення-виведення [6]. 
Час запису лежить у діапазоні 2,5...4 мс. і залежить від напруги 
42 
 
живлення. Якщо програма користувача робить запис в енергонезалежну 
пам'ять, повинні бути виконані деякі запобіжні заходи. При використанні 
в джерелі живлення конденсаторів великої ємності напруга живлення 
наростає і спадає досить повільно. Це приводить до того, що процесор 
деякий час працює при напрузі живлення нижче мінімуму, достатнього 
для нормальної роботи схем тактування. При цьому він може робити 
небажані переходи, потрапляючи на частині програми, що роблять запис у 
EEPROM. У таких випадках для захисту вмісту EEPROM необхідно 
використовувати зовнішні схеми, що формують сигнал скидання при 
зменшенні напруги живлення. При використанні зовнішнього 
супервайзера живлення (наприклад, К1171СП47 - для нього границя 
спрацьовування складає 4,7 В), що подає на вивід Reset напругу низького 
рівня при напрузі живлення нижче припустимого, практично можна бути 
впевненим у тому, що вміст пам'яті EEPROM не буде псуватися 
незалежно від ємності конденсатора на виході джерела живлення.  
При записі чи читанні EEPROM процесор зупиняється на 2 
машинних цикли до початку виконання наступної команди. 
 Біт 7 — у PIC18F4550 зарезервований і завжди читається як “0”. 
Біти 4...0 — EEAR4...0 — адреса EEPROM. Адресний регістр 
ЕЕPROM задає адресу в 128-байтовом просторі EEPROM. Байти даних 
EEPROM адресуються лінійно в діапазоні 0... 127. 
 Біти 7...0 - EEDR7...0 – Дані EEPROM. При записі регістр EEDR 
містить дані, що повинні записуватися в EEPROM за адресою, що 
знаходиться в регістрі EEAR. Після операції читання в цей регістр 
записуються дані, прочитані з EEPROM, за адресою, заданому в регістрі 
EEAR. 
Біти 7..3 – у PIC18F4550 зарезервовані і завжди читаються як “0”. 
Біт 2 – EEMWE – керування дозволом запису. Цей біт визначає, чи 
будуть записані дані при установці EEWE. Якщо біт EEMWE 
43 
 
установлений, при установці EEWE дані записуються по обраній адресі 
EEPROM. Якщо цей біт скинутий, установка EEWE не має ефекту. Після 
програмної установки цей біт скидається апаратно через чотири такти 
процесора. 
Біт 1 – EEWE – дозвіл запису в EEPROM. Сигнал EEWE є записом в 
EEPROM. Після установки правильної адреси і даних для запису в 
EEPROM необхідно установити біт EEWE. При записі “1” у біт EEWE 
повинний бути встановлений біт EEMWE, тоді відбувається запис у 
EEPROM. Для запису в EEPROM повинна дотримуватися наступна 
послідовність: 
1.   Чекати обнуління EEWE. 
2.   Записати адресу в EEAR. 
3.   Записати дані в EEDR. 
4.   Установити в 1 біт EEMWE. 
5.   Не пізніше чим через 4 такти після установки EEMWE 
установити EEWE. 
Після того, як час запису мине (приблизно 2,5 мс для Vcc = 5 В і 4 
мс для Vcc = 2,7 В), біт EEWE очищається апаратно. Програміст може 
перевіряти цей біт і очікувати його установки в нуль перед тим, як 
записувати наступний байт. При установці EEWE мікроконтролер 
зупиняється на два цикли перед виконанням наступної команди. 
Біт 0 – EERE – дозвіл читання з EEPROM. Сигнал EERE є читанням 
з EEPROM. Після установки потрібної адреси в регістрі EEAR повинний 
бути встановлений біт EERE. Після того як біт EERE буде апаратно 
очищений, викликані дані будуть знаходитися в регістрі EEDR. Читання 
EEPROM займає одну команду і не вимагає відстеження біта EERE. Після 
установки біта EERE мікроконтролер зупиняється на 4 цикли перед тим, 
як буде виконана наступна команда. Перед читанням користувач 
повинний перевірити стан біта EEWE. Якщо змінювати вміст регістрів 
44 
 
EEPROM під час операції запису в EEPROM, запис у комірку пам'яті 
переривається і результат операції запису стає визначеним. 
Мікроконтролер PIC18F4550 має два біти блокування, що можуть 
бути залишені незапрограмованими чи перепрограмуватися, при цьому 
досягаються властивості, приведені в таблиці 5. 
У PIC18F4550 передбачено два біти конфігурації – SPIEN і FSTRT. 
Коли біт SPIEN = 0, дозволений режим послідовного програмування. За 
замовчуванням біт SPIEN = 0. 
Коли біт FSTRT = 0, використовується скорочений час запуску. За 
замовчуванням цей біт FSTRT = 1. Можна замовляти мікросхеми з 
попередньо запрограмованим бітом. 
Ці біти недоступні при послідовному програмуванні не змінюються 
при стиранні пам'яті. 
Усі мікроконтролери фірми Microchip мають 3-байтовий 
сигнатурний код, по якому ідентифікується пристрій. Цей код можна 
прочитати в рівнобіжному і послідовному режимах. Це три байти, 
розміщені в окремому адресному просторі, і для PIC18F4550 мають 
наступні значення: 
1. $000: $1Е – код виробника — Microchip. 
2. $001: $91 – 2 Кбайта флеш-пам'яті. 
3. $002: $01 – при $01=$91 – мікроконтролер AT90S2313. 
Якщо запрограмовані біти блокування, байти сигнатури в 
послідовному режимі не читаються [5]. 
 
3.2. Регулювання температури в корпусі комп’ютера 
Надійність напівпровідникових приладів при підвищенні робочої 
температури падає, не кажучи вже про надійність та довговічність 
жорсткого диска. Однак підвищена температура всередині корпусу 
комп'ютера веде не тільки до скорочення терміну служби компонентів, 
45 
 
але і до нестійкої роботи, якщо якийсь компонент перегрівається. 
У світлі сказаного дуже важливо забезпечити належне охолодження 
компонентів і правильну вентиляцію корпусу. Правильно вибрати 
кількість і тип вентиляторів, а також правильно організувати повітряні 
потоки є досить складною справою, оскільки вільний об'єм всередині 
корпусу має складну конфігурацію, і потокам повітря заважають різні 
предмети, в тому числі дроти. Іноді застосування більш потужного 
вентилятора дає гірший ефект, ніж правильний розподіл повітряних 
потоків від малопотужного вентилятора. До того ж потужний вентилятор 
зазвичай має високий рівень шуму. Теоретично розрахувати потоки не 
представляється можливим, тому діяти доводиться інтуїтивно, методом 
проб і помилок. Основна складність полягає в тому, що дуже важко 
оцінити ефективність тієї чи іншої прийнятої заходи через відсутність 
засобів контролю температури. Наявні на деяких материнських платах і 
жорстких дисках термодатчики дозволяють судити лише про температуру 
в декількох точках. Тому доводиться заміряти температуру компонентів 
«на дотик», що не можна назвати точним і повторюваним методом. 
При експериментах з охолодженням компонентів комп'ютера 
неоціненну допомогу може надати незалежний термометр. Такий 
термометр повинен мати невеликий за розмірами датчик для його легкого 
розміщення на різних компонентах, датчик повинен мати маленьку 
інерційність для можливості швидкого проведення вимірювань, ну і, 
звичайно, досить високу точність вимірювань. До того ж, термометр 
повинен бути не дорогим. Усім цим вимогам задовольняють цифрові 
датчики температури, що випускаються фірмою Dallas Semiconductor 
(тепер це вже MAXIM), які можуть бути підключені до послідовного 
порту комп'ютера. 
За допомогою додаткових обчислень дискретність представлення 
температури можна зменшити, в нашому випадку вона дорівнює 0,1 °С. 
46 
 
Найпривабливішим є те, що такий термометр вже відкалібрований на 
заводі, гарантована точність становить ± 0,5 °С в діапазоні -10 .. + 85 ° C і 
± 2 °С у всьому діапазоні робочих температур. Типова крива помилки 
вимірювання температури наведена нижче.  
  
 
 
Рис. 3.3. Графік помилки вимірювання температури 
 
Незважаючи на обмежену абсолютну точність, мала дискретність 
представлення температури є вельми бажаною, тому що дуже часто на 
практиці потрібні відносні вимірювання. 
Принцип дії цифрових датчиків температури фірми DALLAS 
заснований на підрахунку кількості імпульсів, що виробляються 
генератором з низьким температурним коефіцієнтом у тимчасовому 
інтервалі, який формується генератором з великим температурним 
коефіцієнтом. Лічильник ініціалізується значенням, відповідним -55 ° C 
(мінімальної вимірюваної температурі). Якщо лічильник досягає нуля 
перед тим, як закінчується часовий інтервал (це означає, що температура 
більше -55 ° С), то регістр температури, який також инициализирован 
значенням -55 ° C, інкрементується. Одночасно лічильник 
47 
 
передвстановлюється новим значенням, яке задається схемою 
формування нахилу характеристики. Ця схема потрібна для компенсації 
параболічної залежності частот генераторів від температури. Лічильник 
знову починає працювати, і якщо він знову досягає нуля, коли інтервал 
ще не закінчений, процес повторюється знову. Схема формування нахилу 
завантажує лічильник значеннями, які відповідають кількості імпульсів 
генератора на один градус Цельсія для кожного конкретного значення 
температури. По закінченню процесу перетворення регістр температури 
буде містити значення температури. 
Для DS18S20 температура представляється у вигляді 9-бітного 
значення в додатковому коді. Оскільки це значення займає 2 байта, всі 
розряди старшого байта рівні знакової розряду. Дискретність 
представлення температури складає 0,5 °С. 
 
Таблиця 3.1. 
Залежність вихідного коду від температури 
Температура Вихідний код (Binary) Вихідний код 
Ст. байт Мол. байт (Hex) 
+125°C 0000 0000 1111 1010 00FAh 
+25°C 0000 0000 0011 0010 0032h 
+0.5°C 0000 0000 0000 0001 0001h 
0°C 0000 0000 0000 0000 0000h 
-0.5°C 1111 1111 1111 1111 FFFFh 
-25°C 1111 1111 1100 1110 FFCEh 
-55°C 1111 1111 1001 0010 FF92h 
 
 
48 
 
3.3. Моніторинг температури ПК на мікроконтролері 
Іноді потрібно знати точну температуру того чи іншого вузла ПК, але 
вбудовані засоби це не завжди дозволяють. Для даних цілей і призначене 
цей пристрій. 
Потреба в такого роду пристрої виникає при використанні старої 
техніки. Наприклад, комп'ютер з чіпсетом VIA і процесором AMD. 
Окремо вони працюють непогано, але коли працюють разом потрібно 
встановлювати ще один додатковий кулер. Пристрій вмонтовано в 
лицьову планку ПК.  
 
 
 
Рис. 3.4. Робочий дисплей пристрою. 
Загальний вигляд пристрою 
49 
 
 
 
Рис. 3.5. Загальний вигляд проектованого пристрою №1 
 
 
  
 
 
 
 
Рис. 3.6. Загальний вигляд проектованого пристрою №2 
 
50 
 
 
 
Рис. 3.7. Загальний вигляд проектованого пристрою №3 
 
 
 
 Рис. 3.8. Загальний вигляд проектованого пристрою №4 
51 
 
 
 
Рис. 3.9. Загальний вигляд проектованого пристрою №5 
 
Деталі, які використовуються в цьому пристрої: 
Основа цього пристрою – мікроконтролер виробництва компанії PIC. 
Для відображення інформації  застосовано рідкокристалічний дисплей з 
контролером HD44780. Як датчики використовувалися термістори Це 
основні деталі пристрою, всі деталі будуть перераховані нижче. 
  
52 
 
 
 
Рис. 3.10. Використані деталі пристрою  
 
 
Рис. 3.11. Принципова схема пристрою  
 
53 
 
Друкована плата пристрою вийшла відносно не складна. Вона 
двостороння, так як на одній стороні розвести таку кількість доріжок було 
складно. Текстолит можна використовувати будь-який, головне що б 
паяти було зручно. 
  
 
 
Рис. 3.12. Топологія друкованої плати 
 
Програма (прошивка) для МК розроблялася в середовищі 
microPascal. В цілому робота програми проста: 
- Ініціалізація АЦП; 
- Ініціалізація дисплея; 
- Старт нескінченного циклу, в якому і відбувається вимір (і 
перетворення в читабельний вигляд) температури. 
54 
 
Для перетворення температури використовувалася наступна 
формула: 
Температура: = 1 / (A + (B * Температура) + (C * Температура * 
Температура)) 
де А, В, С - константи, які можна знайти в datashite на термістор 
Вся начинка пристрою тримається на дисплеї, який, у свою чергу 
прикріплений до передній планці ПК. 
При прошивці потрібно виставити наступні фузи. 
 
 
 
Рис. 3.13. Програмування мікроконтролера пристрою 
 
Після свердління, травлення, збірки плати, прошивки МК і 
підключення датчиків все повинно запрацювати відразу. Якщо щось не 
працює (наприклад не всі датчики показує) то потрібно перевірити 
55 
 
монтаж, розводку плат. Помилки в програмній частині виключаються. 
Якщо неточно показує температуру, то доведеться підключати 
додатковий підлаштування резистор, так як у термісторів можливий 
розкид параметрів 
56 
 
 
ВИСНОВКИ 
 
В даній кваліфікаційній роботі бакалавра досліджено та розроблено 
пристрій моніторингу температури персонального комп’ютера на базі 
мікроконтролера ATMEGA, який забезпечує автономний моніторинг 
теплового стану його основних компонентів у режимі реального часу та 
підвищує надійність експлуатації комп’ютерної техніки. 
Було вирішено такі задачі: 
• проведено аналіз існуючих методів контролю 
температурних параметрів комп’ютерних систем; 
• розроблено структурну схему системи збору та 
відображення температурних даних ПК; 
• проведено аналіз результатів роботи системи та 
визначити можливості її подальшого вдосконалення. 
В даній кваліфікаційній роботі бакалавра пропонується 
використання зовнішнього пристрою, який використовує мінімум 
ресурсів персонального комп’ютера, при цьому за рахунок окремого 
дисплея для виведення інформації не потребує припинення роботи. Таким 
чином подолано основні недоліки моніторів, що реалізуються програмно, 
а саме значне використання ресурсів комп’ютера, та необхідність 
припиняти роботу для перегляду результатів моніторингу. 
 
57