Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Микропроцессорные системы на основе микроконтроллеров STM32

Покупка
Новинка
Артикул: 821787.01.99
Доступ онлайн
400 ₽
В корзину
Кратко рассмотрены основы разработки встраиваемых микропроцессорных систем на базе микроконтроллеров STM32. Изложен порядок выполнения каждой лабораторной работы, представлены варианты заданий, требования к оформлению отчета, контрольные вопросы по каждой теме. Для студентов направлений подготовки «Информатика и вычислительная техника», «Мехатроника и робототехника», «Информационные системы и технологии».
Морохин, Д. В. Микропроцессорные системы на основе микроконтроллеров STM32 : лабораторный практикум / Д. В. Морохин, В. И. Мясников, А. В. Иванов. - Йошкар-Ола : Поволжский государственный технологический университет, 2023. - 112 с. - ISBN 978-5-8158-2334-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/2131740 (дата обращения: 27.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Д. В. МОРОХИН
В. И. МЯСНИКОВ
А. В. ИВАНОВ

Микропроцессорные системы на основе 

микроконтроллеров STM32

Лабораторный практикум

Йошкар-Ола

ПГТУ
2023
УДК 004.031.6(075.8)
ББК 32.971я73

М 80

Рецензенты:
руководитель проектов автоматизации технологических процессов 
компании «Автограф», канд. техн. наук А. В. Смирнов;
заведующий кафедрой радиотехнических и медико-биологических 
систем ПГТУ, канд. техн. наук А. А. Баев

Печатается по решению

редакционно-издательского совета ПГТУ

Морохин, Д. В.

М 80
Микропроцессорные системы на основе микроконтроллеров 

STM32: лабораторный практикум / Д. В. Морохин, В. И. Мясников, 
А. В. Иванов. – Йошкар-Ола: Поволжский государственный технологический 
университет, 2023. – 112 с.
ISBN 978-5-8158-2334-1

Кратко рассмотрены основы разработки встраиваемых микропроцес-

сорных систем на базе микроконтроллеров STM32. Изложен порядок выполнения 
каждой лабораторной работы, представлены варианты заданий, 
требования к оформлению отчета, контрольные вопросы по каждой теме.

Для студентов направлений подготовки «Информатика и вычисли-

тельная техника», «Мехатроника и робототехника», «Информационные системы 
и технологии».

УДК 004.031.6(075.8)

ББК  32.971я73

ISBN 978-5-8158-2334-1
© Д. В. Морохин, В. И. Мясников, 
А. В. Иванов, 2023
© Поволжский государственный
технологический университет, 2023
ОГЛАВЛЕНИЕ

ПРЕДИСЛОВИЕ........................................................................................... 4

ВВЕДЕНИЕ ................................................................................................... 5

Лабораторная работа № 1. ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ  
КОНТРОЛЛЕРОВ STM32............................................................................ 6

Лабораторная работа № 2. ПРОГРАММИРОВАНИЕ УСТРОЙСТВ  
ВВОДА/ВЫВОДА НА STM32 ...................................................................22

Лабораторная работа № 3. ИСПОЛЬЗОВАНИЕ ПРЕРЫВАНИЙ 
В МИКРОКОНТРОЛЛЕРАХ STM32.........................................................36

Лабораторная работа № 4. ПРОГРАММИРОВАНИЕ 
АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ НА STM32...............48

Лабораторная работа № 5. ФОРМИРОВАНИЕ 
ШИРОТНО-ИМПУЛЬСНОГО СИГНАЛА НА STM32 ...........................60

Лабораторная работа № 6. РАБОТА С ПРОТОКОЛАМИ SPI И I2C..77

Лабораторная работа № 7. ОПЕРАЦИОННЫЕ СИСТЕМЫ  
РЕАЛЬНОГО ВРЕМЕНИ ДЛЯ STM32......................................................96

ЗАКЛЮЧЕНИЕ..........................................................................................110

СПИСОК ЛИТЕРАТУРЫ .........................................................................111
ПРЕДИСЛОВИЕ

Данный лабораторный практикум включает в себя семь лабора-

торных работ, каждая из которых посвящена актуальным вопросам 
программирования микроконтроллеров на базе отладочных плат компании 
ST в составе встраиваемых систем.

Первая работа позволяет освоить основные методы конфигуриро-

вания и программирования контроллера. 

Вторая посвящена работе с простейшими устройствами ввода-вы-

вода и закладывает основы для работы с более сложной периферией.

В третьей работе изучаются способы программирования контрол-

леров с использованием прерываний.

В четвёртой работе рассматриваются методы и оборудование для 

обработки аналоговых сигналов в микроконтроллерных системах.

В пятой изучается работа контроллера по формированию сигналов 

с широтно-импульсной модуляцией. 

Шестая работа помогает обучающимся освоить популярные про-

токолы для подключения периферийных устройств и связи между 
контроллерами. 

В седьмой работе изучаются способы использования средств опе-

рационных систем реального времени для создания современных 
встраиваемых систем.

Каждая лабораторная работа содержит краткие теоретические све-

дения, алгоритм ее выполнения, варианты заданий, требования к 
оформлению отчета и контрольные вопросы по соответствующей 
теме.

Лабораторный практикум предназначен для самостоятельной и 

аудиторной работы студентов и способствует более глубокому овладению 
знаниями при подготовке бакалавров по направлениям «Информатика 
и вычислительная техника», «Мехатроника и робототехника», «
Информационные системы и технологии».
ВВЕДЕНИЕ

В настоящее время на жизнь каждого человека в значительной сте-

пени оказывает влияние автоматизация окружающей среды с помощью 
микроконтроллеров.  Микроконтроллеры отличаются не только 
архитектурой и характеристиками, но и особенностями функционирования 
и реализации. Разработка систем на базе микроконтроллеров – 
это одновременно аппаратная и программная задача. 

Лабораторные занятия по дисциплине «Микропроцессорные си-

стемы» необходимы для решения задачи подготовки студентов 
направления «Информатика и вычислительная техника» и обучающихся 
смежных направлений.

Существенное место в пособии занимают вопросы практической 

реализации алгоритмов. 

Лабораторные занятия способствуют:
•
формированию и углублению теоретических знаний студентов;

•
выработке навыков применения теоретических знаний на практике;

•

формированию навыков самостоятельной работы над технической 
и научной литературой; 

•
осознанному подходу при выборе аппаратного и программного
обеспечения для решения поставленных задач;

•
получению навыков по проектированию и разработке современных 
встраиваемых систем.
Лабораторная работа № 1

ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ 

КОНТРОЛЛЕРОВ STM32

Цель работы:
•
ознакомление с основными подходами к программированию 

контроллеров STM32 на примере среды STM32CubeIDE;

•
получение навыков настройки среды программирования, кон-

фигурирования микроконтроллера, написания и выполнения простого 
кода.

Задание. Для выполнения лабораторной работы требуется уста-

новить среду программирования контроллеров, настроить её в соответствии 
с заданным типом контроллера, выполнить конфигурацию 
выводов контроллера, написать и запустить простую программу. 
Программа должна с использованием программатора изменять состояние 
заданного вывода подключённого контроллера.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

В настоящее время широко используемыми в областях встраивае-

мых систем, робототехники и интернета вещей являются контроллеры 
STM32.

При стоимости, сопоставимой с другими популярными контрол-

лерами (например, на базе ATmega328), они имеют гораздо более высокую 
производительность и дополнительные возможности.

Ниже сравниваются одна из базовых моделей контроллера STM32 

(STM32F103C8T6) с контроллером ATmega328 этой же ценовой категории (
таблица 1).

Анализируя данные таблицы, можно сделать вывод о значитель-

ных преимуществах решения от ST. В STM32 более совершенные, 
скоростные, энергоэффективные система прерываний, порты ввода-
вывода, коммуникационные интерфейсы и т.п.
Кроме того, существуют и гораздо более мощные серии микро-

контроллеров STM32, одна из которых изучается в данном практикуме.


Более подробно семейства, компоненты и узлы современных мик-

роконтроллерных систем изучаются в курсе лекций.

Таблица 1. Сравнение параметров микроконтроллеров

Параметры
STM32F103C8T6
ATmega328

Разрядность
32 бит
8 бит

Частота
72 мГц
16 мГц

Объем FLASH
64 кБайт
32 кБайт

Объем ОЗУ
20 кБайт
2 кБайт

Аппаратное умножение 
и деление

Есть, 32 разряда
Только умножение, 
8 разрядов

АЦП
2 АЦП, 12 разрядов, 
10 входов, 1 мкс время 
преобразования

10 разрядов, 8 входов, 
100 мкс время преобразования


Контроллер ПДП
7 каналов
нет

Таймеры
7
3

UART
3
1

I2C
2
1

SPI
2
1

USB
1
нет

CAN
1
нет

Часы реального времени


есть
нет

Модуль аппаратного 
расчета CRC кода

есть
нет

Для качественного выполнения лабораторных работ необходимо 

ознакомиться с источниками из официальной документации:

•
Общее описание изучаемого отладочной платы для микроконтроллера – 
STM32F767ZI или другой по заданию преподавателя. 
Периферия, электрические характеристики;

•
Справочное руководство микроконтроллера. Описание регистров, 
работы периферии;

•
Описание ядра микроконтроллера, система команд;

•
Описание библиотеки HAL для STM32F7.
ПОШАГОВЫЙ ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Установка STM32CubeIDE

1.1. Необходимо скачать с официального сайта st.com дистрибутив 

программы. Если дистрибутив уже имеется, переходим к пункту 2.

Далее следует выбирать версию для скачивания, согласиться с 

условиями лицензионного соглашения, зарегистрироваться. После 
этого возможно скачивание дистрибутива с сервера.

Рисунок 1. Выбор дистрибутива среды разработки

1.2. Далее нужно распаковать скачанный архив с дистрибутивом. 
1.3. Запустить установочный файл. Начинается процедура уста-

новки.

Рисунок 2. Начало установки ПО
1.4. Нужно принять условия лицензионного соглашения.
1.5. Указать путь установки программы или оставить значение по 

умолчанию. 

1.6. Указать нужные драйвера.  (Нажимаем «Install»).
1.7. После завершения установки нажать «далее» («Next>»).

Рисунок 3. Завершение процедуры установки ПО

1.8. Завершить установку. Разрешить создать ярлык на рабочем 

столе при необходимости.

2. Запуск и создание первого проекта

В качестве первой задачи нужно выполнить задачу управления 

встроенным в отладочную плату Nucleo-144 светодиодом. 

2.1. На рабочем столе находим ярлык программы «STM32Cube…».

Рисунок 4. Выбор рабочего каталога
При каждом запуске программа будет предлагать выбор места 

хранения под рабочее пространство. При желании можно задать по 
умолчанию расположение рабочего пространства.

2.2. Создаем новый проект (Start new STM32 project).

Рисунок 5. Создание проекта (первый вариант)

В качестве альтернативы можно создать проект из меню 

File/New/STM32Project.

Рисунок 6. Создание проекта (второй вариант)
Система подгрузит базу данных с драйверами микроконтролле-

ров. Для загрузки потребуются доступ к интернету и правильные 
настройки прокси-сервера.

Рисунок 7. Соединение с сервером

2.3. Необходимо выбрать правильный тип контроллера. Для этого 

в строке «Part Number» вводим название программируемого микроконтроллера. 
В нашем случае это STM32F767ZI. 

Окно выбора целевого контроллера (Target Selection) представ-

лено на рисунке 8.

Рисунок 8. Выбор целевого контроллера

После выбора контроллера средствами системы программирова-

ния можно просмотреть документацию, схемы, а также скачать дополнительное 
программное обеспечение по необходимости.

Основные 
соединения 
платы 
Nucleo-144 
на 
контроллере 

STM32F767ZI представлены ниже (рисунок 9). 
Доступ онлайн
400 ₽
В корзину