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

[RE-2] Архітектура та програмування 8-ми розрядних мікроконтролерів

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

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

Рівень вищої освітиПерший (бакалаврський)
Галузь знань17 - Електроніка та телекомунікації
Спеціальність172 - Телекомунікації та радіотехніка
Освітня програма
Статус дисципліниНормативна
Форма здобуття вищої освітиОчна
Рік підготовки, семестр2 курс, осінній семестр
Обсяг дисципліни4 кред. (Лекц. 18 год, Практ. 0 год, Лаб. 36 год, СРС. 66 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://rozklad.kpi.ua
Мова викладанняУкраїнська
Інформація про керівника курсу / викладачів Лекц.: Мосійчук В. С.,
Лаб.: Мосійчук В. С.,
СРС.: Мосійчук В. С.
Розміщення курсуhttps://sylabus.online/course/2-arkhitektura_ta_prohramuvannia_8-my_rozriadnykh_mikrokontroleriv

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

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

Зростаюча складність радіотехнічних пристроїв, потреба у збільшенні їх функціональних можливостей  вимагає широкого застосування мікроконтролерів для реалізації функцій керування та оптимізації роботи цих пристроїв. Мікроконтролери сьогодні – це високопродуктивні мікропроцесори з додатковими блоками взаємодії з периферійними пристроями обміну даними та їх відображення, сенсорами, з вбудованими модулями цифро-аналогового і аналого-цифрового перетворення, модулями формування спеціальних сигналів керування.  Враховуючи, що всі вказані функції реалізовані конструктивно в одній мікросхемі, то системи на основі МК називають вбудованими (embedded systems). Така назва обумовлюється в першу чергу тим, що з’являється можливість такі системи на одному кристалі (МК) вводити до складу радіотехнічних пристроїв та систем, функціонування яких і має забезпечити вбудовувана система. За рахунок цього вдається досягти значного збільшення продуктивності, отримувати якісно нові характеристики радіотехнічних пристроїв без суттєвого збільшення їх малогабаритних параметрів та вартості.

Мета вивчення курсу є набуття навиків і вмінь проектування вбудовуваних систем та програмування вбудованих мікроконтролерів в інформаційно-вимірювальні системи та системи контролю, а також програмування МК на мові асемблер та С, отримання навиків використання систем автоматичного проектування вбудованих систем, їх моделювання та тестування. В результаті вивчення дисципліни студент повинен вміти проектувати мікроконтролерні системи керування радіотехнічними пристроями, вибирати і програмувати МК для таких систем, а також володіти методам налагодження та оптимізації програм, працювати з технічною документацією.

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

Оскільки окрім програмування в межах курсу буде вивчатися архітектура мікроконтролерів необхідно мати базові знання з проектування та синтезу цифрових пристроїв. Також бажаними є початкові навички програмування на С.

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

Розділ 1. Архітектурa 8-и розряднихмікроконтролерів

Тема 1.1. Базові цифрові пристрої в основі вбудованих систем

Тема 1.2. Арифметико-логічний пристрій

Тема 1.3. Різновиди пам’яті та їх застосування в мікроконтролерах

Тема 1.4. Архітектура  мікроконтролерів  PIC16 та PIC18

Тема 1.5. Набір інструкцій асемблера PIC16 та PIC18

Тема 1.6. Організація пам’яті в мікроконтролерах PIC16

Тема 1.7. Порти вводу виводу та їх ініціалізація в МК PIC

Тема 1.8. Алгоритми мікроконтролерних програм. Пошукові таблиці

Тема 1.9. Переферійні пристрої МК. Налаштування таймеру. Схемотехніка вбудовуванних систем

Контрольна робота

Розділ 2. Створення програмного забезпечення в IDE MPLAB X

Тема 2.1. Ладнання програм та пошук помилок (Debugging)

Тема 2.2. Створення програмного забезпечення на мові асемблер

Тема 2.3. Створення програмного забезпечення на мові С

Тема 2.4. Периферійні пристрої та ефективна робота з ними

Контрольна робота

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

Базова

1.  Уилмсхерст Т. Разаботка встроенных систем с помощью микроконтроллеров PIC / Т. Уилмсхерст ; пер. с англ. В.Н. Стаценко и др. – К. : «МК-Пресс», 2008. – 544 с.

2.  Брей Б. Приминение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с приминением Си / Б. Брей ; пер. с англ. Ю.Ф. Авраменко и др. – К. : «МК-Пресс», 2008. – 576 с.  

4.  Предко М. Справочник по PIC-микроконтроллерам [Текст] / М. Предко. – М. : ДМК Пресс, 2004. – 512 с. – ISBN 978-966-641-211-2.

5. Кохц Д. Измерение, управление и регулирование с помощью PIC-микроконтроллеров [Текст] / Д. Кохц. – М. : МК-Пресс, 2006. – 304 с.

Допоміжна

1.  Болл С.Р. Аналоговые интерфейсы микроконтроллеров [Текст] / С.Р. Болл. – М. : Додэка, 2007. – 362 с.

2.  Катцен С. PIC-микроконтроллеры. Все что вам необходимо знать [Текст] / С. Катцен. – М. : Додэка, 2008. – 656 с.

3.  Яценков В.С. Микроконтроллеры MicroCHIP с аппаратной поддержкой USB [Текст] / В.С. Яценков. – М. : Радио и связь, 2008. – 400 с.

4.  Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров [Текст] / Ю.А. Шпак. – М. : МК-Пресс, 2006. – 400 с.

5. Кёниг А. Полное руководство по PIC-микроконтроллерам [Текст] / А. Кёниг, М. Кёниг. – М. : МК-Пресс, 2006. – 256 с.

Інформаційні ресурси

1.  PIC18F2455/2550/4455/4550 Data Sheet / [Електронний документ]. – Режим доступу : http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf – Назва з екрану.

2.  Руководство пользователя MPASM [Електронний ресурс]. – Режим доступу:  http://www.microchip.ru:/files/d-sheets-rus/mpasm.pdf. – Назва з екрану.

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

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

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

№ з/п

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

1

Тема: «Базові цифрові пристрої в основі вбудованих систем»

  •  визначення вбудовуваних систем та систем на кристалі;
  •  базові логічні елементи;
  • мультиплексори,
  • дешифратори,;
  •  тригери та регістри .

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

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

  • Виконати вправи по представленю даних у різних форматах

2

Тема: «Арифметико-логічний пристрій»

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

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

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

  • Виконання арифметичних та логічних операцій над 8 розр. знаковими і без знаковими числами, та визначення активації бітів регістру статусу.

3

Тема: «Різновиди пам’яті та їх застосування в мікроконтролерах»

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

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с.

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

  • Визначення максимально тактової частоти у цифрових пристроях конвеєрного типу;  

4

Тема: «Архітектура  мікроконтролерів  PIC16 та PIC18»

  • особливості архітектури міроконтролерів PIC16.
  •  параметри мікроконтролера;
  •  вплив збільшення одних параметрів на інші;
  •  відмінності між PIC16 та PIC18;

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

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

  • Законспектувати нові команди PIC18.

5

Тема: «Набір інструкцій асемблера PIC16 та PIC18»

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

Література:

  • Предко М. Справочник по PIC-микроконтроллерам, 512 с. –
  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

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

  • Привести приклади програм до кожної інструкції.

6

Тема: «Організація пам’яті в мікроконтролерах PIC16»

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

Література:

  •  Предко М. Справочник по PIC-микроконтроллерам, 512 с.

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

  • Привести приклади програм з перемиканням банків та зміни сторінок.

7

Тема: «Порти вводу виводу та їх ініціалізація в МК PIC»

  • налаштування портів вводу виводу на вихід та вхід;
  • приклади програм з прямою та непрямою адресацією;
  • генерування та вивід на світлодіоди кодів Фібоначчі.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

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

  • доопрацювати програму генерації кодів Фібоначчі з використанням непрямої адресації.

8

Тема: «Алгоритми мікроконтролерних програм. Пошукові таблиці»

  • програми з маніпуляцією масивами даних;
  •  пошукові таблиці;
  • приклад виводу цифр на семисегментний індикатор з використанням пошукових таблиць.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

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

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

9

Тема: «Периферійні пристрої МК. Налаштування таймеру. Схемотехніка вбудовуванних систем»

  • особливості та етапи налаштування переферійних пристроїв мікроконтролера;
  • ввімкнення, налаштування та обробка переривань;
  • приклад нашаштування таймера мікроконтрлера з метою формування періодичних подій з розрахованою частотою.

Література:

  • Уилмсхерст Т. Разработка встроенных систем с помощью PIC: принципы и практические , 544 с.

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

  • Провести розрахунки налаштувань для таймера з заданою частотою.

 

Заняття з комп’ютерного практикуму

Оскільки дисципліна ЦП3 належить до циклу дисциплін професійно-практичної підготовки, то значна увага приділяється саме практичній складовій навчання. Тому на лабораторні роботи та комп’ютерний практикум виділяється більша кількість аудиторних годин. Основною метою практичних занять є експериментальна перевірка теоретичних знань, набуття навиків проектування, реалізації алгоритмів за допомогою програмування на мові асемблер та С, лагодження та верифікація проектів радіотехнічних пристроїв за допомогою моделювання їх на макетах.

 

№ з/п

Назва лабораторної роботи

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

1

Створення першого проекту в системі MPLab X. Формування сигналів заданої тривалості та періоду на виходах мікроконтролера.  Приєднання до  ПВВ світлодіодів. Індикація стану ПВВ. Введення інформації з клавіатури. Опитування стану кнопок. Програмна реалізація «антидребезгу». Оброблення подій на коротке та довготривале натиснення кнопки. Динамічна індикація. Способи багатофункціонального використання ПВВ. Часове розділення їх використання.  Перекодування даних з двійкового коду в двійково-десятковий.

4

2

Ініціація подій з заданою періодичністю за допомогою переривання по переповненню таймера. Оброблення переривань.

4

3

Використання модуля асинхронної передачі даних UART. Передача даних на ПК. Відображення даних у терміналі ПК. Перекодування даних з двійкового коду в коди таблиці ASCII. Потоковий вивід даних в термінал. Функція printf. Реалізація діалогового меню з користувачем в терміналі ПК та на графічному індикаторі.

4

4

Використання модуля АЦП. Оброблення переривання по завершенню АЦП. Формування частоти дискретизації. Аналогово-цифрове перетворення з використанням режимів зниженого енергоспоживання.

 

 

Усi лабораторні роботи виконуються в середовищі автоматизованого проектування MPLab X на навчальних макетах PIC15F4550 фірми Microchip. Кожен студент отримує індивідуальне завдання, яке виконується ним самостійно на своєму робочому місці, обладнаному персональним комп’ютером та макетом вбудовуваної системи на основі МК. Завдання на лабораторні роботи студенти отримують заздалегідь. Перед початком заняття проводиться опитування для того, щоб оцінити готовність студента до проведення роботи. Після виконання роботи відбувається захист та обговорення отриманих результатів.

Проведення комп’ютерного практикуму планується після вивчення основного матеріалу, оскільки лабораторні роботи комплексні.

 

6. Самостійна робота студента

 

№ з/п

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

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

1

Тема 5. Набір інструкцій асемблера ARM та Thumb

Інструкції ARM набору асемблера та приклади їх застосування

Література:

  • James A. Professional Embedded ARM Development

5

2

Тема 9. Схемотехніка вбудовуванних систем

Тактування МК. Організація живлення та заземлення для мікросхем МК. Рівні сигналів. Формування сигналів керування різного призначення, в тому числі для потужних приводів. Спряження та взаємодія  вбудовуваних систем з аналоговими блоками. Захист радіотехнічних пристроїв від імпульсних завад ядра МК. 

Література:

  • Бэйкер Б. Что нужно знать цифровому инженеру об аналоговой электронике

6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Навчальним планом дисципліни RE-2 передбачено наступну рейтингову систему оцінювання:

  • Лекції / Вебінари - 18 год; (2 МКР х 15 балів)
  • Лабораторні роботи / Тренінги - 36 год; (8 лаб х 5 балів)
  • СРС (6 завд х 5 балів ) 

Контрольні роботи

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

1. Ініціалізація портів вводу/виводу (ПВВ) МК. Алгоритми і програми для роботи з ними.

2. Ініціалізація та оброблення переривань від основних модулів МК: таймерів, ПВВ та ін.  Підпрограми оброблення переривань.

3. Способи та алгоритми формування точних заданих часових проміжків,  їх програмна реалізація.

4. Ініціалізація формування ШІМ послідовності. Алгоритми і програми формування та декодування ШІМ послідовності.

5. Ініціалізація модуля аналого-цифрового перетворення (АЦП). Алгоритми і програми реалізації дискретизації сигналів. Обробка переривання. Аналого-цифрового перетворення в режимі енергозбереження. Багатоканальне АЦП.

6. Ініціалізація модуля синхронного послідовного порта (SPI, I2C). Приймання та передавання даних за перериваннями.

7. Ініціалізація модуля універсального синхронного/асинхронного приймача/ передавача (USART). Приймання та передавання даних за перериваннями.

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

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

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

  1. Архітектура МК PIC16, PIC18
  2. Організація пам’яті програм МК PIC18
  3. Організація пам’яті даних МК PIC18
  4. Структура портів вводу/виводу.
  5. Призначення стеку.
  6. Система переривань МК PIC18
  7. Переривання від таймера  TMR0.
  8. Структура модуля USART.
  9. Структура модуля SSP.
  10. Призначення сторожового таймера (WDT) та робота з ним.
  11. Регістри керування перериваннями  
  12. Призначення регістру STATUS.
  13. Регістри керування налаштуваннями мікро контролера, конфігураційні біти
  14. Команди операцій з константами.
  15. Команди роботи з байтами.
  16. Команди роботи з бітами.
  17. Команди роботи з робочим регістром W.
  18. Команди умовного переходу.
  19. Команди керування.
  20. Команди циклічного зсуву.
  21. Команди ANDWF, IORWF, XORWF.
  22. Команди BTFSS і BTFSC. Приклади застосування.
  23. Команди RETFIE, SLEEP, CALL, RETURN. Їх призначення
  24. Приклади застосування команди RETLW.
  25. Приклади застосування команди INCFSZ, DECFSZ.
  26. Поясніть як виконується команда decfsz. Які команди подібні до приведеної?
  27. Команди пересилання даних MOVF, MOWWF.
  28. Команда nop, приклади її застосувння.
  29. Виконати ініціалізацію модуля USART.
  30. Способи формування часової затримки. Приклади
  31. Налаштування тактового генератора .
  32. Виконати ініціалізацію переривання при переповнені таймера TMR0.
  33. Ініціалізація портів вводу/виводу.
  34. Виконати ініціалізацію таймера для отримання частоти дискретизації 1кГц
  35. Виконати ініціалізацію модуля SSP в режимі  SPI.
  36. Виконати ініціалізацію модуля SSP в режимі  I2С.
  37. Виконати ініціалізацію режиму очікування (SLEEP mode).
  38. Виконати ініціалізацію модулю захвату CCP з перериванням.
  39. Виконати ініціалізацію зовнішнього переривання INT.
  40. Приклад збереження вмісту регістрів STATUS. і W при обробці переривань.
  41. Привести приклад обробки зовнішнього переривання INT.
  42. Привести приклад обробки переривання при переповнені таймера TMR0.
  43. Виконати ініціалізацію таймера максимальною тривалістю затримки.
  44. Ініціалізація портів вводу/виводу.
  45. Виконати ініціалізацію переривання при співпадінні значення таймера з наперед заданим числом.
Опис матеріально-технічного та інформаційного забезпечення дисципліни

Практичні навички роботи з мікроконтролерами здобуваються в лабораторії мікроконтролерів (510б-17). Для вивчення цього курсу лабораторія обладнана 12 робочими місцями з макетами на базі мікроконтролерів Microchip 18F4550. Також для виконання окремих лабораторних робіт на всіх робочих місцях наявні драйвери та живлення для крокових двигунів. Для виконання лабораторних робіт розроблено навчальнрий посібник з 4-ма лаб. роботами на асемблері та 5-ма на С.




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