Программирование микроконтроллеров на С++

Кунапьянова Маржан Советхановна

Portfolio des Lehrers

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 Р12 +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