Кафедра прикладної радіоелектроніки

[RE-34] Програмування мікроконтролерів та мікрокомп'ютерів

Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освітиПерший (бакалаврський)
Галузь знань-
Спеціальність
Освітня програма172Б ІТМР - Інтелектуальні технології мікросистемної радіоелектронної техніки (ЄДЕБО id: 5627)
Статус дисципліниНормативна
Форма здобуття вищої освітиОчна
Рік підготовки, семестр3 курс, весняний семестр
Обсяг дисципліни6 кред. (Лекц. 28 год, Практ. - год, Лаб. 72 год, СРС. 80 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://schedule.kpi.ua
Мова викладанняУкраїнська / Англійська
Інформація про керівника курсу / викладачів Лекц.: доц. Дюжаєв Л. П.,
Лаб.: Навроцький Д. О.,
СРС.: доц. Дюжаєв Л. П.
Розміщення курсу-

Програма навчальної дисципліни

1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

...

2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

...

3. Зміст навчальної дисципліни

...

Тема 1. Мікроконтролерні  системи. Параметри мікроконтролерів.

Визначення систем на кристалі;  особливості   процесорів AVR архітектури та мікроконтролерів на їх основі.

Тема 2. Мікроконтролерні  системи. Загальні принципи представлення інформації і організації програм.

Представлення  інформації у комп’ютерах, двійкова та шістнадцяткова системи числення. Додатні та від’ємні числа. Формати даних 

Тема 3. Мікроконтролерні  системи. Особливості створення програмного забезпечення.

Створення проекту у середовищі AtmelStudio, структура проекту,  директиви асемблера; об’явлення констант та змінних, виклик підпрограм, ініціалізації тактового генератора та системного таймера

Тема 4. Програмування мовою С. Створення програмного забезпечення мовою С

Порівняння програмування мовою асемблера та С; типи даних та доступ до

периферійних пристроїв на С; Особливості створення оптимізованого програмного забезпечення мовою С у програмному середовищі Arduino IDE.

Тема 5.  Визначення функцій та обробка переривань мовою С

Особливості визначення параметрів функцій, вказівники, ініціалізація та

оброблення переривань від периферійних пристроїв мовою С.

Тема 6.  Створення проекту, структура проекту

Підключення бібліотек, використання готових драйверів периферійних пристроїв, створення власного драйвера.

Тема 7. Програмування мовою С. Синтаксис мови С.

Функції, оператори, управління даними. Розширення мови у середовищі IDE

Тема 8. Апаратне забезпечення мікроконтролерів. Архітектура AVR процесорів.

Регістри, стек, пам’ять програм та даних; арифметико-логічний пристрій; Гарвардська архітектура; організація пам’яті та керування нею; переривання та їх оброблення; режими роботи процесора.

Тема 9. Організація пам’яті процесора, система переривань.

Розподіл пам’яті програм та даних ;  діапазони адрес; EEPROM; переривання, таблиця векторів переривання; визначення пріоритетів переривань

Тема 10. Периферійні пристрої мікроконтролера.

Порти вводу-виводу, АЦП, Таймери, ШІМ, УСАПП, SPI-інтерфейс.

Тема 11. Особливості створення програмного забезпечення на Асемблері.

Способи програмування пам’яті, налаштування режимів роботи мікроконтролерів .

Тема 12. Особливості створення програмного забезпечення для мікроконтролерних систем.

Ініціалізація мікроконтролера; робота за перериваннями; процес розробки програмного забезпечення; програмне середовище для створення програмного забезпечення. 

Тема 13. Формати команд, способи адресації пам'яті  AVR процесорів.

Коди операцій процесорів; безпосередня адресація, пряма та непряма адресація пам'яті.

Тема 14. Система команд процесорів AVR.

Команди переміщення даних; команди доступу до пам’яті; команди роботи зі стеком. Команди арифметичних операцій; команди логічних операцій; команди зсуву та ротації.  Команди безумовного та умовного переходу; команди порівняння;  інші інструкції.

 

4. Навчальні матеріали та ресурси

Рекомендована базова література

1. John Morton AVR. An Introductory Course /  John Morton.- Newnes, 2006. - 272p. - ISBN: 0750656352.

2. AVR reference manual microcontroller C programming [Електронний документ].-режим доступу: [pdf] avr reference manual microcontroller C programming codeversion PDF | wifi.lnu.edu.ua. - назва з екрану.

Допоміжна

3. Белов А.В. Программирование микроконтроллеров [Текст]: / А.В.Белов.-СПб.: Наука и техника, 2016.- 352с.

4. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega [Текст]: / А.В.Евстифеев.-М.: Издательский дом «Додека ХХI».-2008.

5. Мортон Д.  Микроконтроллеры AVR. Вводный курс., 2006 - Режим доступу:  http://mega-avr.com.ua/morton-d-mikrokontrollery-avr-vvodnyj-kurs/ - Назва з екрану.

6. Ревич Ю. Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера - Режим доступа: http:// http://radioparty.ru/literatura/250-practicheskoe-programmirovanie-avr - Назва з екрану.

7.  Соммер У. Программирование микроконтроллерніх плат Arduino/Freeduino. - СПб.: БХВ-Петербург, 2012.-256 с. ил.

8. Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. - Москва-Киев: Додека ХХ1, МК- Пресс, 2007.

9. Гивоне Д., Россер Р. Микропроцессоры и микрокомпьютеры: Перевод с английского. – М.: Мир, 1993, - 464 с.

Навчальний контент

5. Методика опанування навчальної дисципліни (освітнього компонента)

Лекційні заняття

 

№ з/п

Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)

1

Тема " Мікроконтролерні  системи. Параметри мікроконтролерів".

Перелік основних питань:

Визначення систем на кристалі;  особливості   процесорів AVR архітектури та мікроконтролерів на їх основі.

 [3, c.14-34, 1, с. 34-56].

Завдання на СРС:

Параметри швидкодії та точності процесорів.

2

Тема "Загальні принципи представлення інформації і організації програм".

Перелік основних питань:

Представлення  інформації у комп’ютерах, двійкова та шістнадцяткова системи числення. Додатні та від’ємні числа. Формати даних [3, c.13-17;4, с.26-34].

Завдання на СРС:

повторити матеріал лекції; повторити позиційні системи числення.

3

Тема "Особливості створення програмного забезпечення"

Перелік основних питань:

Створення проекту, структура проекту,  директиви асемблера; об’явлення констант та змінних, виклик підпрограм, ініціалізації тактового

генератора та системного таймера

[3, c.23-25; 4, c.38-39].

Завдання на СРС:

Ознайомитися з інтерфейсом Atmel Studio.

4

Тема "Створення програмного забезпечення мовою С"

Перелік основних питань:

Порівняння програмування мовою асемблера та С; типи даних та доступ до

периферійних пристроїв на С; Особливості створення оптимізованого програмного забезпечення мовою С у програмному середовищі IDE.

[5, c.47-52].

Завдання на СРС: повторити матеріал лекції..

5

Тема "Визначення функцій та обробка переривань мовою С"

Перелік основних питань:

Особливості визначення параметрів функцій, вказівники, ініціалізація та

оброблення переривань від периферійних пристроїв мовою С.

 [5, c.57-60].

Завдання на СРС: повторити матеріал лекції

6

Тема "Створення проекту, структура проекту"

Перелік основних питань:

Підключення бібліотек, використання готових драйверів периферійних пристроїв, створення власного драйвера.

[5, c.66-79; 3, c.40-42].

Завдання на СРС: повторити матеріал лекції.

7

Тема "Синтаксис мови С"

Перелік основних питань:

Функції, оператори, управління даними. Розширення мови у середовищі IDE.

[5, c.60-66].

Завдання на СРС: повторити матеріал лекції..

8

Тема "Архітектура AVR процесорів"

Перелік основних питань:

Регістри, стек, пам’ять програм та даних; арифметико-логічний пристрій; Гарвардська архітектура; організація пам’яті та керування нею; переривання та їх оброблення; режими роботи процесора.

[5, c.6-10].

Завдання на СРС:

Повторити матеріал лекції.

9

Тема "Організація пам’яті процесора, система переривань"

Перелік основних питань:

Розподіл пам’яті програм та даних ;  діапазони адрес;  переривання, таблиця векторів переривання; визначення пріоритетів переривань.

[4, c.56-60].

Завдання на СРС:

Повторити матеріал лекції.

10

Тема "Периферійні пристрої мікроконтролера"

Перелік основних питань:

Порти вводу-виводу, АЦП, Таймери, ШІМ, УСАПП, SPI-інтерфейс.

[4, c.39-53].

Завдання на СРС:

Повторити матеріал лекції.

11

Тема "Особливості створення програмного забезпечення на Асемблері"

Перелік основних питань:

Налаштування та запис програм. Способи програмування пам’яті, налаштування режимів роботи мікроконтролерів .

[4, c.67-87].

Завдання на СРС:

Повторити матеріал лекції.

12

Тема "Процес розробки програмного забезпечення  на Асемблері"

Перелік основних питань:

Ініціалізація мікроконтролера; робота за перериваннями; процес розробки програмного забезпечення; програмне середовище для створення програмного забезпечення.

[4, c.84-101].

Завдання на СРС:

Повторити матеріал лекції.

13

Тема "Формати команд, способи адресації пам'яті  AVR процесорів"

Перелік основних питань:

Коди операцій процесорів; безпосередня адресація, пряма та непряма адресація пам'яті.

[4, с.111-131].

Завдання на СРС:

Повторити матеріал лекції.

14

Тема "Система команд процесорів AVR"

Перелік основних питань:

Команди переміщення даних; команди доступу до пам’яті; команди роботи зі

стеком. Команди арифметичних операцій; команди логічних операцій; команди зсуву та ротації.  Команди безумовного та умовного переходу; команди порівняння;  інші інструкції.

[4, с.133-181].

Завдання на СРС:

Повторити матеріал лекції.

Лабораторні заняття

Основні завдання циклу лабораторних занять:

- перевірка набутих теоретичних знань на практиці;

- набуття навичок роботи з вимірювальними приладами та обладнанням;

- оволодіння методами вимірювання параметрів та зняття характеристик;

- набуття навичок оцінки експериментальних даних та оформлення висновків

№ з/п

Назва лабораторної роботи (комп’ютерного практикуму)

Кількість ауд. годин

1

Лабораторна робота 1.

Ознайомлення з системою програмування Atmel Studio

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

2

Лабораторна робота 2. Дослідження способів програмування пам’яті мікроконтролера.

Завдання на самостійну роботу: оформити звіт про роботуі та підготувати відповіді на контрольні запитання.

4

3

 Лабораторна робота 3. Створення  проекту мовою С в системі Atmel Studio.  Світлодіод, що перемикається.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

4

 

Лабораторна робота 4. Програмна реалізація «антибрязкіту».

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

5

Лабораторна робота 5. Оброблення подій на коротке та довготривале натиснення кнопки. Реалізація мовами С та асемблера

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

6

Лабораторна робота 6. Створення програми з використанням таймерів для використання часової затримки.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

7

Лабораторна робота 7. Програмне формування звукового сигналу.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

8

Лабораторна робота 8. Створення проекту з використанням віртуального СОМ-порта.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

9

Лабораторна робота 9. Обробка аналогових сигналів.

 Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

10

Лабораторна робота 10. Генерування аналогових сигналів за допомогою ШІМ.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

11

Лабораторна робота 11. Управління семисегментним індикатором.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

12

Лабораторна робота 12. Створення проекту мовою асемблера в Atmel Studio.

Завдання на самостійну роботу: оформити звіт про роботу та підготувати відповіді на контрольні запитання.

4

6. Самостійна робота здобувача

№ з/п

Назва теми, що винесено на самостійне опрацювання

Кількість годин СРС

1

Тема 1. Мікроконтролерні  системи.

Завдання на СРС:

Типова  схема мікропроцесорної системи. Особливості   процесорів AVR архітектури та мікроконтролерів на їх основі. Механізм переривань. Цикл вибірки та виконання программ. Регістри загального призначення та регістри вводу-виводу. Організація стекової пам’яті. Таймери-лічільники подій. Периферійні пристрої. Вибір мікроконтролерів за параметрами.

16

2

Тема 2. Програмування мовою С.

Завдання на СРС:

Особливості програмного середовища IDE (інтегроване середовище розробки програмного забезпечення). Інтерфейс користувача: компіляція програм, завантаження і виконання. Налаштування підключення до персонального комп’ютера. Оператори, функції та організація даних у мові С++. Функції передачі даних, бібліотеки у складі IDE.

16

3

Тема 3. Апаратне забезпечення мікроконтролерів.

Завдання на СРС:

Система мікроконтролерів ATMEL. USB-інтерфейс для програмування. Стабілізатор живлення. Вбудований послідовний інтерфейс програмування (ICSP). Організація зв’язку із зовнішніми пристроями. Режими зменшеного енергоспоживання. Способи програмування мікроконтролерів сімейства ATMEL. Аналоговий компаратор. Послідовний інтерфейс USAPR.

16

4

Тема 4. Особливості створення програмного забезпечення на Асемблері.

Завдання на СРС:

Порівняння мов високого рівня із мовою асемблера. Специфіка використання мови асемблера. Процес налагодження програм у машинних кодах. Програмні середовища для програмування на асемблері. Реалізація запису машинного кода у пам'ять мікроконтролерів, різновиди програматорів.

16

Індівідуальні завдання

 Під час навчання у 5-му семестрі студенти виконують реферативну роботу. Метою цієї роботи є закріплення лекційного матеріалу, розширення кругозору у галузі програмування , розвиток навичок розв’язання практичних задач. Варіанти тем реферативних робіт викладені у додатку 1. Кожен студент отримує індивідуальний варіант, який складається з 3-ох теоретичних запитань. Також можуть бути використані теоретичні запитання, що наведені у додатку 1 до робочої навчальної програми. Завдання видають студентам на 6-му тижні. 16-ий тиждень є останнім для виконання реферативної роботи.

Політика та контроль

7. Політика навчальної дисципліни (освітнього компонента)

Правила відвідування занять (як лекцій, так і практичних/лабораторних)

Обов'язковими до відвудування та виконання є лабораторні роботи. У разі пропуску цих занять, їх слід відпрацьовувати під час консультацій, або з іншими групами. у разі пропуску лекцій, слід проходити і здавати тести по матеріалам пропущеного заняття. Матеріали лекцій та відео розміщуються на LMS.  

Захист лабораторних робіт

Лабораторні роботи захищаються у день виконання лабораторної роботи. Студент отримує дві оцінки. Перша за активність та ініціативність під час виконання лабораторної роботи та індивідуального занняття. Друга за захист та відповідь на контрольні запитання.

Захист індивідуальних завдань

В межах самостійної роботи студенти виконують завдання по матеріалам лекцій. За результатами перевірки слухачі курсу отримують коментарі від викладача та оцінку. Індивідуальні завдання не перездаються.

Заохочувальні та штрафних балів та політика щодо академічної доброчесності

Найбільш активні студенти та студенти, які виконують окремі завдання зразково можуть отримати до 10 балів до семестрового рейтингу.

Штрафні бали застосовуються у разі видавання чужої роботи за свою з обов'язковим подапльшим її переопрацюванням.

Політика дедлайнів та перескладань

У разі пропуску кінцевих термінів здачі завдань для слухачів курсу зменшується максильний бал по завданням на 10 %

8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Модульні контрольні роботи не передбачено.

Рейтингова система оцінювання результатів навчання

  • Лекції / Вебінари - 28 год;
  • СРС (6 завд х 5 балів)
  • Лабораторні роботи - 72 год; (12 лаб х 5 балів)
  • Реферативна робота ( 10 балів)

Таблиця відповідності  рейтингових балів за університетською шкалою

Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
Кількість балівОцінка
100-95Відмінно
94-85Дуже добре
84-75Добре
74-65Задовільно
64-60Достатньо
Менше 60Незадовільно
Не виконані умови допускуНе допущено

9. Додаткова інформація з дисципліни (освітнього компонента)

Додаток 1

 

1.Архітектура , конвеєри, кеш-пам'ять .

2.Гарвардська та фон-Нейманівська архітектури.

3.Мови програмування високого рівня.

4.Оцінювання параметрів мікроконтролерів.

5.Програматори та прошивка памяті  контролерів.

6.Механізми переривань.

7.Інструментальні засоби розробки програмного забезпечення.

8.Прямий доступ до памяті.

9.Загальна архітектура – контролерів.

10.Особливості організації стекової пам’яті.

11.Система вводу – виводу – контролерів.

12.Цикл вибірки та виконання команд.

13.Регістри вводу-виводу мікроконтролерів.

14.Обчислювальні можливості – контролерів.

15.Вибір контролерів сімейства

16.Функції та оператори мови С++.

17.Типи даних, перетворення типів даних.

18.Область видимості змінних, кваліфікатори.

19.Математичні функції.

20.Унарні оператори.

21.Зовнішні переривання.

22.Віртуальний СОМ-порт Ардуіно.

23.Стандартні бібліотеки Ардуіно.

Арифметичні оператори та оператори порівняння.

Опис матеріально-технічного та інформаційного забезпечення дисципліни

Два дісплейних класи, макети на базі апаратно-програмної платформи Ардуіно Уно, великий вибір периферійних пристроїв та радіокомпонентів, макет під'єднується до персонального комп'ютера через USB-порт. Програмне забезпечення - AVR Studio 7.0, IDE for Arduino. Кількість макетів та персональних компютерів - 25.




Робочу програму навчальної дисципліни (силабус):
Складено доц. Дюжаєв Л. П.; Навроцький Д. О.;
Ухвалено кафедрою ПРЕ (протокол № 5/2020 від 29.05.2020 )
Погоджено методичною комісією факультету/ННІ (протокол № ______ від ______)