Программирование микроконтроллеров на С++
内容描述: Данная дисциплина изучает основы структурного и модульного программирования на языке C++, структуру программ для микроконтроллеров семейства ATmega, принципы работы современных интегрированных сред разработки, а также особенности использования Arduino IDE для создания и загрузки программ на Arduino-совместимые платы. Предназначена для формирования у студентов практических навыков программирования микроконтроллеров и разработки встроенных приложений с применением инструментов C++ и Arduino.
贷款数: 5
Пререквизиты:
- Математика 1
*СomplexityDiscipline(zh-CN)*:
*TypesOfClasses(zh-CN)* | *hours(zh-CN)* |
---|---|
*Lectures(zh-CN)* | 15 |
*PracticalWork(zh-CN)* | |
*LaboratoryWork(zh-CN)* | 30 |
*srop(zh-CN)* | 30 |
*sro(zh-CN)* | 75 |
*FormOfFinalControl(zh-CN)* | экзамен |
*FinalAssessment(zh-CN)* | письменный экзамен |
零件: Вузовский компонент
循环次数: Базовые дисциплины
Цель
- формирование теоретических знаний и практических навыков в области программирования на языке С++ электронных устройств автоматизированных систем управления на основе микропроцессорных контроллеров.
Задача
- изучение языков программирования, технологий проектирования программного обеспечения;
- освоение основ структурного и модульного программирования на языке С++;
- освоение современных интегрированных сред разработки программных продуктов;
- приобретение умений разработки программного обеспечения микроконтроллеров семейства ATmega;
- формирование навыков программного управления электронными устройствами систем автоматизации, выполненными на основе микроконтроллерных плат.
Результат обучения: знание и понимание
- выбирать инструментальные и отладочные средства разработки и имитации при создании программного обеспечения электронных устройств и приборов систем автоматизации на основе микропроцессорных контроллеров;
Результат обучения: применение знаний и пониманий
- применять технологии структурного и модульного программирования на языке С++ при разработки программного обеспечения микропроцессорных контроллеров систем управления;
Результат обучения: формирование суждений
- организовывать процесс по разработке и внедрению программных комплексов систем автоматизированного управления различными объектами производства;
Результат обучения: коммуникативные способности
- формулировать проблемы и представления предлагаемого проектного решения в области организации работ по разработке и эксплуатации микропроцессорных комплексов в системах автоматизации, как специалистам, так и неспециалистам;
Результат обучения: навыки обучения или способности к учебе
- владеть языком программирования С++ для разработки и эксплуатации программного обеспечения автоматизированных систем управления.
*TeachingMethods(zh-CN)*
интерактивная лекция (применение следующих активных форм обучения: ведомая (управляемая) дискуссия или беседа; модерация; демонстрация слайдов или учебных фильмов; мотивационная речь);
информационно-коммуникационная (занятия в компьютерном классе с использованием профессиональных пакетов прикладных программ);
поисково-исследовательская (самостоятельная исследовательская деятельность студентов в процессе обучения).
*AssessmentKnowledge(zh-CN)*
Преподаватель проводит все виды работ текущего контроля и выводит соответствующую оценку текущей успеваемости обучающихся два раза в академический период. По результатам текущего контроля формируется рейтинг 1 и 2. Учебные достижения обучающегося оцениваются по 100-балльной шкале, итоговая оценка Р1 и Р2 выводится как средняя арифметическая из оценок текущей успеваемости. Оценка работы обучающегося в академическом периоде осуществляется преподавателем в соответствии с графиком сдачи заданий по дисциплине. Система контроля может сочетать письменные и устные, групповые и индивидуальные формы.
*Period2(zh-CN)* | *TypeOfTask(zh-CN)* | *Total(zh-CN)* |
---|---|---|
1 *Rating(zh-CN)* | Практическое задание "Введение в программирование на С++" | 0-100 |
Практическое задание "Структурное программирование" | ||
Практическое задание "Операторы выбора" | ||
Практическое задание "Циклы" | ||
Практическое задание "Файловый ввод-вывод" | ||
Практическое задание "Одномерные массивы" | ||
Практическое задание "Двумерные массивы" | ||
Практическое задание "Основы работы с функциями" | ||
Рубежный контроль 1 | ||
2 *Rating(zh-CN)* | Практическое задание "Arduino и аналоговые датчики" | 0-100 |
Практическое задание "Arduino и цифровые датчики" | ||
Практическое задание "Ввод/вывод данных" | ||
Практическое задание "Использование Arduino в качестве контроллера исполнительных устройств" | ||
Практическое задание "Система Умный дом" | ||
Рубежный контроль 2 | ||
*TotalControl(zh-CN)* | экзамен | 0-100 |
*PolicyAssignmentTask(zh-CN)*
*TypeOfTask(zh-CN)* | 90-100 | 70-89 | 50-69 | 0-49 |
---|---|---|---|---|
Excellent | *Grade4(zh-CN)* | *Grade3(zh-CN)* | *Grade2(zh-CN)* | |
Собеседование по контрольным вопросам | Демонстрирует системные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью и способность быстро реагировать на уточняющие вопросы | Демонстрирует прочные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность, явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем | Демонстрирует неглубокие теоретические знания, проявляет слабо сформированные навыки анализа явлений и процессов, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение монологической речью, терминологией, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. | Демонстрирует незнание теоретических основ предмета, несформированные навыки анализа явлений и процессов, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение монологической речью, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии |
Работа на практических занятиях | Выполнил работу в полном объеме с соблюдением необходимой последовательности действий; отчет оформлен в соответствии с требованиями; правильно выполняет анализ ошибок. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ новыми примерами, умеет применить знания в новой ситуации; может установить связь между изучаемым и ранее изученным материалом, а также с материалом, усвоенным при изучении других дисциплин. | Выполнил работу по требованию к оценке «5», но допущены 2-3 недочета. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на 5, но дан без применения знаний в новой ситуации, без использования связей с ранее изученным материалом и материалом, усвоенным при изучении других дисциплин; допущены одна ошибка или не более двух недочетов, обучающийся может их исправить самостоятельно или с небольшой помощью преподавателя. | Выполнил работу не полностью, но не менее 50% объема, что позволяет получить правильные результаты и выводы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; допущено не более одной грубой ошибки и двух недочетов. | Выполнил работу не полностью или объем выполненной части работ не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует не владение основными знаниями и умениями в соответствии с требованиями программы; допущены больше ошибок и недочетов, чем необходимо для оценки 3 или не может ответить ни на один из поставленных вопросов. |
рубежный контроль | Рубежный тест: 18-20 баллов – продемонстрированы знания на высоком уровне | Рубежный тест: 14-17 баллов – продемонстрированы знания на базовом уровне | Рубежный тест: 13-10 баллов – продемонстрированы знания на удовлетворительном уровне | Рубежный тест: 0-9 баллов – знания считаются не освоенными |
*EvaluationForm(zh-CN)*
Итоговая оценка знаний обучающего по дисциплине осуществляется по 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 |
Темы лекционных занятий
- Введение в программирование на языке С++. Инструментальное программное обеспечение. Классификация и эволюция языков программирования. Технологии программирования. Современные интегрированные среды. Структура программы на языке С++. Элементы языка С++.
- Условные структуры. Операция сравнения и логические операции. Условные операторы if ... else. Оператор выбора switch.
- Структуры повторения. Структура повторения while (ПОКА). Структура повторения do/ while. Структура повторения for (ЦИКЛ).
- Потоки и файлы. Потоковый ввод/вывод файлов. Стандартные функции ввода и вывода.
- Массивы. Объявления массивов. Инициализация массивов. Доступ к элементам массива. Операции с элементами массива.
- Алгоритмы сортировки. Сортировка методом пузырька. Сортировка выбором. Быстрая сортировка. Сортировка с использованием стандартных функций.
- Функции. Локальные переменные. Формальные параметры. Глобальные переменные. Вызов функций. Прототипы функций. Рекурсия.
- Адреса и указатели. Операция получения адреса. Объявление и инициализация переменных указателей. Указатели и массивы. Операции над указателями. Динамическое выделение и освобождение памяти.
- Проектирование систем измерения и управления на основе микроконтроллера. Микропроцессоры и микроконтроллеры. Системы на основе микропроцессоров. Внутреннее устройство микроконтроллера. Программирование и программное обеспечение микроконтроллеров.
- Микроконтроллеры ATmega на базе платы Arduino. Отладочные платы Arduino: особенности и возможности. Схема распиновки модуля Ардуино. Платы расширения.
- Программирование микроконтроллера ATmega на базе платы Arduino. Правила программирования микроконтроллера ATmega на базе платы Arduino. Особенности синтаксиса. Структура кода. Основные функции.
- Programming the ATmega microcontroller based on the Arduino board. Rules for programming the ATmega microcontroller based on the Arduino board. Syntax features. Code structure. Basic functions.
- Базовые функции платы Ардуино (продолжение). Операторы времени. Расширенный ввод/вывод. Работа с последовательным портом.
- Программирование и отладка приложения для микроконтроллеров. Особенности современных сред разработки. Возможности. Интегрированные среды разработки программ для микроконтроллеров. Способы прошивки микроконтроллера ATmega на базе платы Arduino. Виртуальный Arduino и отладка электронных схем.
- Современные микроконтроллеры. Обзор современных микроконтроллеров. Преимущества и недостатки. Области применения. Перспективы развития.
Основная литература
- Конова Е.А., Г.А. Поллак. Алгоритмы и программы. Язык С++: учебное пособие. – 4-е изд., стер. – Санкт-Петербург: Лань, 2019. – 384 с.
- Шилдт Г. C++. Базовый курс. – 3-е изд. – Москва: Вильямс, 2019. – 624 с.
- Орленко П.А., Евдокимов П.В. C++ на примерах. Практика, практика и только практика. – СПб.: Наука и Техника, 2019 год. – 288с.
- Белов A.B. Программирование ARDUINO. Создаем практические устройства.- СПб.: Наука и Техника, 2018. - 272 с.
- Simon Monk. Programming Arduino. Getting Started with Scetches. 2-е изд. – СПб.: Питер, 2017. – 208с.
Дополнительная литература
- Страуструп Б. Язык программирования C++. Специальное издание. – Москва: Бином, 2017. – 1136 с.
- Павловская Т. А. C/C++. Программирование на языке высокого уровня: для магистров и бакалавров. - Санкт-Петербург, 2017. - 460 с.
- Основы программирования на языках Си и C++ для начинающих. Режим доступа: http://cppstudio.com/
- Программирование на С и С++. Режим доступа: http://www.c-cpp.ru/