Программирование микроконтроллеров на С++
Beschreibung: Дисциплина посвящена изучению основ структурного и модульного программирования на языке С++, структуры программы для микроконтроллеров семейства ATmega, современных интегрированных сред разработки программных продуктов, а также среды Arduino IDE для создания и загрузки программ на Arduino-совместимые платы.
Betrag der Credits: 5
Пререквизиты:
- Математика 1
Arbeitsintensität der Disziplin:
Unterrichtsarten | Uhr |
---|---|
Vorträge | 15 |
Praktische Arbeiten | |
Laborarbeiten | 30 |
AASAL (Autonomes Arbeiten der Schüler unter Anleitung des Lehrers) | 30 |
SE (Studentisches Eigenarbeiten) | 75 |
Endkontrollformular | экзамен |
Form der Endkontrolle | письменный экзамен |
Komponente: Вузовский компонент
Zyklus: Базовые дисциплины
Цель
- формирование теоретических знаний и практических навыков в области программирования на языке С++ электронных устройств автоматизированных систем управления на основе микропроцессорных контроллеров.
Задача
- - изучение языков программирования, технологий проектирования программного обеспечения;
- - освоение основ структурного и модульного программирования на языке С++;
- - освоение современных интегрированных сред разработки программных продуктов;
- - приобретение умений разработки программного обеспечения микроконтроллеров семейства ATmega;
- - формирование навыков программного управления электронными устройствами систем автоматизации, выполненными на основе микроконтроллерных плат.
Результат обучения: знание и понимание
- выбирать инструментальные и отладочные средства разработки и имитации при создании программного обеспечения электронных устройств и приборов систем автоматизации на основе микропроцессорных контроллеров;
Результат обучения: применение знаний и пониманий
- применять технологии структурного и модульного программирования на языке С++ при разработки программного обеспечения микропроцессорных контроллеров систем управления;
Результат обучения: формирование суждений
- организовывать процесс по разработке и внедрению программных комплексов систем автоматизированного управления различными объектами производства;
Результат обучения: коммуникативные способности
- предлагаемого проектного решения в области организации работ по разработке и эксплуатации микропроцессорных комплексов в системах автоматизации, как специалистам, так и неспециалистам;
Результат обучения: навыки обучения или способности к учебе
- владеть языком программирования С++ для разработки и эксплуатации программного обеспечения автоматизированных систем управления.
Lehrmethoden
интерактивная лекция (применение следующих активных форм обучения: ведомая (управляемая) дискуссия или беседа; модерация; демонстрация слайдов или учебных фильмов; мотивационная речь);
информационно-коммуникационная (занятия в компьютерном классе с использованием профессиональных пакетов прикладных программ);
поисково-исследовательская (самостоятельная исследовательская деятельность студентов в процессе обучения).
Bewertung des Wissens der Studierenden
Period | Art der Aufgabe | Gesamt |
---|---|---|
1 Bewertung | ПР" Установка ПО, загрузка Blink" | 0-100 |
ПР "Управление GPIO, моргание" | ||
ПР "Чтение кнопок, программный debounce" | ||
ПР "Подключение фоторезистора, вывод значений! | ||
ПР "ШИМ на светодиод, регулировка яркости" | ||
ПР "Управление углом поворота" | ||
ПР "Отладка через Serial Monitor" | ||
2 Bewertung | ПР "Работа с датчиком TMP102 или аналогичным" | 0-100 |
ПР "Считывание данных, настройка SPI" | ||
ПР "Вывод текста, температуры, состояния датчиков" | ||
ПР "Меню с кнопками, перемещение по пунктам" | ||
ПР "Реакция на события без опроса" | ||
ПР "Управление светодиодами по состояниям" | ||
ПР "Проект: термометр, будильник, робот и др." | ||
ПР "Сборка, отладка, демонстрация" | ||
Endkontrolle | экзамен | 0-100 |
Die Bewertungspolitik der Lernergebnisse nach Arbeitstyp
Art der Aufgabe | 90-100 | 70-89 | 50-69 | 0-49 |
---|---|---|---|---|
Exzellent | Gut | Befriedigend | Ungenügend | |
Собеседование по контрольным вопросам | Демонстрирует системные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью и способность быстро реагировать на уточняющие вопросы | Демонстрирует прочные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность, явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем | Демонстрирует неглубокие теоретические знания, проявляет слабо сформированные навыки анализа явлений и процессов, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение монологической речью, терминологией, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. | Демонстрирует незнание теоретических основ предмета, несформированные навыки анализа явлений и процессов, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение монологической речью, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии |
Работа на практических занятиях | Выполнил работу в полном объеме с соблюдением необходимой последовательности действий; отчет оформлен в соответствии с требованиями; правильно выполняет анализ ошибок. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ новыми примерами, умеет применить знания в новой ситуации; может установить связь между изучаемым и ранее изученным материалом, а также с материалом, усвоенным при изучении других дисциплин. | Выполнил работу по требованию к оценке «5», но допущены 2-3 недочета. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на 5, но дан без применения знаний в новой ситуации, без использования связей с ранее изученным материалом и материалом, усвоенным при изучении других дисциплин; допущены одна ошибка или не более двух недочетов, обучающийся может их исправить самостоятельно или с небольшой помощью преподавателя. | Выполнил работу не полностью, но не менее 50% объема, что позволяет получить правильные результаты и выводы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; допущено не более одной грубой ошибки и двух недочетов. | Выполнил работу не полностью или объем выполненной части работ не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует не владение основными знаниями и умениями в соответствии с требованиями программы; допущены больше ошибок и недочетов, чем необходимо для оценки 3 или не может ответить ни на один из поставленных вопросов. |
Рубежный контроль | Рубежный контроль: 90-100 баллов – продемонстрированы знания на высоком уровне | Рубежный контроль: 70-90 баллов – продемонстрированы знания на базовом уровне | Рубежный контроль: 50-70 баллов – продемонстрированы знания на удовлетворительном уровне | Рубежный контроль: 0-50 баллов – знания считаются не освоенными |
Bewertungsbogen
Итоговая оценка знаний обучающего по дисциплине осуществляется по 100 балльной системе и включает:
- 40% результата, полученного на экзамене;
- 60% результатов текущей успеваемости.
Формула подсчета итоговой оценки:
И= 0,6 | Р1+Р2 | +0,4Э |
2 |
где, Р1, Р2 – цифровые эквиваленты оценок первого, второго рейтингов соответственно; Э – цифровой эквивалент оценки на экзамене.
Итоговая буквенная оценка и ее цифровой эквивалент в баллах:
Буквенная система оценки учебных достижений обучающихся, соответствующая цифровому эквиваленту по четырехбалльной системе:
Оценка по буквенной системе | Цифровой эквивалент | Баллы (%-ное содержание) | Оценка по традиционной системе |
---|---|---|---|
A | 4.0 | 95-100 | Отлично |
A- | 3.67 | 90-94 | |
B+ | 3.33 | 85-89 | Хорошо |
B | 3.0 | 80-84 | |
B- | 2.67 | 75-79 | |
C+ | 2.33 | 70-74 | |
C | 2.0 | 65-69 | Удовлетворительно |
C- | 1.67 | 60-64 | |
D+ | 1.33 | 55-59 | |
D | 1.0 | 50-54 | |
FX | 0.5 | 25-49 | Неудовлетворительно |
F | 0 | 0-24 |
Темы лекционных занятий
- Введение в микроконтроллеры и встроенные системы
- Язык C++ для встраиваемого программирования
- Архитектура ATmega328P
- Arduino IDE и структура скетча
- Основы цифрового ввода-вывода
- Работа с аналоговыми сигналами
- Таймеры и прерывания
- Работа с UART
- Работа с I2C
- Работа с SPI
- Работа с внешними датчиками
- Работа с дисплеями и LCD
- Протоколы и интерфейсы связи
- Проектирование систем управления
- Архитектура встроенного ПО на C++
Основная литература
- 1. Бэнфорд, С. "Программирование для Arduino. Основы и примеры", ДМК Пресс, 2020
- 2. Бланк, М. "Arduino для начинающих", Питер, 2021
- 3. Сайт Arduino: https://www.arduino.cc
- 4. Datasheet ATmega328P: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
Дополнительная литература
- 1. Алексей Васильев, "Arduino. Практикум по разработке устройств", БХВ-Петербург, 2020
- 2. John Morton, "AVR: An Introduction to C and Assembly Language Programming", Springer, 2013
- 3. Jack Purdum, "Beginning C for Arduino", Apress, 2015
- 4. Тимур Шемсединов, "Современный C++ для программистов встраиваемых систем", O’Reilly, 2022