К57 |
Когутяк, М. І. Мікроконтролери для систем автоматизації [Текст] : навч. посібник / М. І. Когутяк, А. І. Лагойда. – Івано-Франківськ : ІФНТУНГ, 2023. – 290 с. – (Каф. автоматизації та комп'ютерно-інтегрованих технологій).
У навчальному посібнику на прикладі процесорного ядра AVR фірми Atmel та апаратній платформі популярного проекту Arduino розглянуті базові вузли архітектури мікроконтролера та практичні аспекти їх програмування мовою С/С++. Наведено приклади використання мікроконтролерів для систем автоматизації, зокрема для навчальних проектів.
Розроблено відповідно до робочої програми дисципліни "Мікроконтролери та програмовані логічні контролери" для підготовки фахівців першого (бакалаврського) рівня освіти та спеціалістів в галузі мікропроцесорної техніки.
ЗМІСТ
ВСТУП............................................................................ 6
СПИСОК СКОРОЧЕНЬ.............................................. 11
1 ОСНОВНІ ПОНЯТТЯ.................................................. 13
1.1 Основні відмінності між мікропроцесором та мікроконтролером...........................................................
13
1.2 Типи мікроконтролерів............................................. 16
1.3 Способи організація доступу до пам'яті................. 18
1.4 Системи команд......................................................... 21
1.5 Сфера застосування мікроконтролерів в промисловій автоматизації.............................................
23
Контрольні запитання..................................................... 25
2 ЗНАЙОМСТВО З МІКРОКОНТРОЛЕРОМ ATMEL AVR...................................................................................................
26
2.1 Історія створення архітектури та родини AVR....... 26
2.2 Модель ATmega328................................................... 29
2.3 Базова структура ядра AVR...................................... 30
2.4 Організація пам'яті даних......................................... 36
2.5 Системний тактовий генератор................................ 38
2.6 Система скидання...................................................... 40
2.7 Проект АРДУІНО...................................................... 42
Контрольні запитання..................................................... 50
3 ЗАГАЛЬНІ ЗАСАДИ ТА ІНСТРУМЕНТАЛЬНІ СЕРЕДОВИЩА ПРОГРАМУВАННЯ AVR.............
53
3.1 Загальні засади програмування................................ 53
3.2 Універсальні професійні засоби програмування.... 56
3.3 Середовище розробки Arduino................................. 60
3.4 Онлайн-емулятор Arduino........................................ 65
Контрольні запитання..................................................... 71
4 ОСНОВИ ПРОГРАМУВАННЯ АРДУІНО МОВОЮ C/С++.............................................................
72
4.1 Структура програми і правила синтаксису............. 72
4.2 Змінні і типи даних.................................................... 73
4.3 Математичні, логічні і бітові оператори.................. 81
4.4 Структури управління програмою........................... 86
4.5 Функції і способи їх задання..................................... 92
4.6 Вказівники в C для Ардуіно...................................... 95
Контрольні запитання та завдання................................. 99
5 СИСТЕМА ПЕРЕРИВАННЯ ТА ЕНЕРГО-ОЩАДЛИВОСТІ..........................................................
102
5.1 Переривання і обробка переривань.......................... 102
5.2 Зовнішні переривання INTx..................................... 108
5.3 Режими енергоощадливості..................................... 114
Контрольні питання........................................................ 120
6 ВВІД-ВИВІД ДИСКРЕТНИХ СИГНАЛІВ............... 122
6.1 Переривання і обробка переривань.......................... 122
6.2 Програмування цифрових входів/виходів мовою Сі.......................................................................................
130
6.3 Функції і константи для роботи з цифровими виходами в проекті Ардуіно...........................................
133
Контрольні запитання та завдання................................. 136
7 АНАЛОГОВИЙ ВВІД ДАНИХ ТА АЦП................... 139
7.1 Структура та регістрова модель АЦП...................... 139
7.2 Функції аналогово вводу в Ардуіно......................... 147
7.3 Аналоговий вивід даних........................................... 149
7.4 Аналоговий компаратор........................................... 151
Контрольні запитання та завдання................................. 157
8 ТАЙМЕРИ / ЛІЧИЛЬНИКИ....................................... 159
8.1 Загальна характеристика.......................................... 159
8.2 Базові режими роботи таймерів. Нормальний режим (Normal Mode).....................................................
165
8.3 Функції затримки і відліку часу в Ардуіно.............. 171
8.4 Режими широтно- імпульсної модуляції................. 179
8.5 Сторожовий таймер................................................... 187
Контрольні запитання та завдання................................. 191
9 ПОСЛІДОВНА ОБМІН ДАНИХ В МІКРОКОНТРОЛЕРАХ............................................. 193
9.1 Організація передачі даних через UART/USART... 193
9.2 Організація обміну даними між платою Arduino і комп'ютером через USB..................................................
205
9.3 Двохпровідний послідовний інтерфейс TWI (I2C) 209
9.4 Інтерфейс SPI............................................................. 220
Контрольні запитання та завдання................................. 232
10 ЗАСТОСУВАННЯ МІКРОКОНТРОЛЕРА В НАВЧАЛЬНИХ ПРОЕКТАХ......................................
233
10.1 Універсальний навчальний тренажер.................... 233
10.2 Автоматизація вузла роботизованої ділянки виробництва.....................................................................
250
10.3 Проект управління тепловим об'єктом................. 265
10.3.1 Функціональна структура та апаратна реалізація теплового об'єкта..........................................
265
10.3.2 Основи програмування в середовищі FLProg.... 269
10.3.3 Структура програмного забезпечення контро-лера теплового об'єкта....................................................
276
Контрольні запитання..................................................... 276
ПЕРЕЛІК ПОСИЛАНЬ НА ДЖЕРЕЛА.................... 277
|