Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Программирование микроконтроллеров с использованием IDE

..pdf
Скачиваний:
13
Добавлен:
12.11.2023
Размер:
13.22 Mб
Скачать

Министерство науки ивысшего образования РоссийскойФедерации

Федеральное государственное автономное образовательное учреждение высшего образования

«Пермский национальный исследовательский политехнический университет»

ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ С ИСПОЛЬЗОВАНИЕМ IDE

Утверждено Редакционно-издательским советом университета

в качестве учебного пособия

Под редакцией профессора, доктора технических наук С.Ф. Тюрина

Издательство Пермского национального исследовательского

политехнического университета

2021

1

УДК 004.438 (075.8) ББК З973.2-018.1

П78

Рецензенты:

канд. физ.-мат. наук, доцент А.С. Епифанов (Институт точной механики проблем управления РАН, г. Саратов);

д-р техн. наук, доцент В.И. Фрейман (Пермский национальный исследовательский политехнический университет)

Программирование микроконтроллеров с использованием П78 IDE : учеб. пособие / C.Ф. Тюрин, Д.А. Ковыляев, Е.Ю. Данилова, А.Ю. Городилов; под ред. С.Ф. Тюрина. – Пермь :

Изд-во Перм. нац. исслед. политех. ун-та, 2021. – 100 с.

ISBN 978-5-398-02583-5

Рассмотрено создание в САПР Proteus программ для микроконтроллера 8051 как классического устройства, архитектура которого до сих пор востребована, а также для современного 32-разрядного микроконтроллера STM32F401RE. Изложен материал по программированию микроконтроллеров с использованием IDE (Integrated Development Environment), в том числе Keil uVision, входящих в со-

став MDK-ARM, а также ресурса программирования встроенных систем Mbed для платы NUCLEO-F401RE. Предназначено для обеспечения практических и лабораторных работ студентов бакалавриата и специалитета, изучающих дисциплины «Программирование встроенных систем» и «Цифровая схемотехника». Может быть полезно для магистров и аспирантов.

УДК 004.438 (075.8) ББК З973.2-018.1

ISBN 978-5-398-02583-5

ПНИПУ, 2021

2

ОГЛАВЛЕНИЕ

 

Введение..................................................................................................

4

1. Исследование классического микроконтроллера 8051................

10

1.1. Создание проекта в Proteus Design Suite

 

для исследования микроконтроллера 8051....................................

10

1.2. Создание схемы для моделирования ввода-вывода...............

13

1.3. Программирование ввода-вывода на языке Ассемблер .......

18

1.4. Программная реализация автомата-распознавателя

 

с помощью универсальной программы..........................................

21

2. Исследование микроконтроллера STM32F401RE.........................

29

2.1. Создание проекта в Proteus Design Suite

 

для исследования микроконтроллера STM32F401RE ..................

29

2.1.1. Загрузка и установка Java..................................................

30

2.1.2. Загрузка и установка MDK – ARM Keil ..........................

34

2.1.3. Загрузка и установка STM32CubeMX..............................

40

2.1.4. Настройка микроконтроллера...........................................

47

2.2. Программа ввода-вывода..........................................................

55

2.3. Схема ввода-вывода..................................................................

59

2.4. Тестирование программы ввода-вывода.................................

67

2.5. Программа вводас двух ключей ивывода надва светодиода..

70

3. Программирование микроконтроллера

 

в составе платы NUCLEO-F401RE .....................................................

77

3.1. Программа распознавания последовательности

 

срабатывания датчиков....................................................................

78

3.2. Моделирование автомата. ........................................................

81

4. Реализация генетических алгоритмов и программ

 

диагностирования логики ПЛИС на базе микроконтроллера

 

STM32F401RE.......................................................................................

86

4.1. Описание программы и алгоритма

 

диагностирования логики ПЛИС....................................................

86

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

92

Заключение............................................................................................

97

Cписок литературы...............................................................................

98

3

ВВЕДЕНИЕ

Микропроцессор как наследник «больших» и «мини»-ЭВМ, разработанный в начале 70-х годов ХХ века, явился по сути развитием концепции микропрограммного автомата Уилкса, созданного Морисом Уилксом в конце 40-х годов ХХ века для одной из первых ЭВМ с хранимой памятью программ (рис. В1).

Рис. В1. Микропрограммный автомат Уилкса

То есть был создан программный автомат в виде одной микросхемы (правда, были созданы и многокристальные микропроцессоры с масштабируемой разрядностью), содержащий устройство управления

ичасть операционного устройства ОУ (внутреннее ОУ: АЛУ + регистры общего назначения РОН и др.), другая часть ОУ, внешняя, включает дополнительные микросхемы ПЗУ, ОЗУ, устройства ввода УВв

ивывода УВыв и унифицированным образом, через специальные шины, подключается к микропроцессору. Получается микропроцессорная система (рис. В2). Это и есть так называемая фон-Неймановская архитектура. Кроме того, имеется генератортактовыхимпульсовГТИ.

Пример такой микропроцессорной системы в виде лабораторной установки на основе «советского» микропроцессора КР580ВМ80А (Микросхема 580ИК80: Техническое описание И13.480.016 ТО,

4

а

б

Рис. В2. Микропроцессорная система: а – программный автомат – микропроцессор 8080А (КР580ВМ80А); б – внешнее ОУ

Рис. В3. Лабораторнаяустановканаосновемикропроцессора8080А, разработаннаяС.Ф. ТюринымсовместносА.В. Яковлевымподруководством В.А. Несмелова, Т.И. Коганавсередине80-хгодовХХвека

5

1978 г.), разработанной в 80-е годы ХХ века (прототип-схема была любезно предоставлена Куйбышевским политехническим институтом, кроме того использовалась статья из американского журнала: Jonathan A. Titus. Build “Dyna-micro” an 8080 microcomputer. Radio-Electronics, 1976, № 5, 6, 7), показан на рис. В3. На нижней установке УМ2-6 слева – устройство ввода с пультом ввода программы в восьмеричных кодах. Второй слева блок – собственно процессор, там же был и ГТИ, системный контроллер и шинные формирователи. Третий слева блок – ОЗУ (RAM), четвертый – ПЗУ (ROM). Последний блок со светодиодами – устройство вывода, на трех портах отображался адрес и вводимая программа, тудажемогливыводитьсярезультатыработыпрограммы.

Следующий шаг был сделан на рубеже 80-х годов ХХ века – включение в одну микросхему всей микропроцессорной системы, получили микроконтроллер (рис. В4, В5).

Рис. В4. Микроконтроллер «МикроЭВМ»

Не случайно ранее микроконтроллеры носили название «МикроЭВМ», они широко используются в цифровой аппаратуре [1–4]. В настоящее время они содержат дополнительно ЦАП-АЦП и др., все, что необходимо для так называемых встроенных систем, например для робототехники, для «интернета вещей» и т.д. Для работы встроенного тактового генератора необходимо подключить кварцевый резонатор и конденсаторы, иначеиспользуетсявнешнийгенератор.

6

Рис. В5. Внешний вид микроконтроллера 8051, имеющего 40 выводов (1982 год)

Архитектура одного из первых микроконтроллеров – 8051, созданного фирмой «Интел» в 80-е годы ХХ века, до сих пор востребована, например, в бортовых системах управления (справочник АО «Дизайн Центр «Союз») [5] (рис. В6).

а

Рис. В6. Микроконтроллеры с архитектурой 8051:

а – 5400ТР105-001; б – 5400ТР105-003; в – 5400ВК015

7

б

в

Рис. В6. Окончание

Правда, микроконтроллер 8051 имеет Гарвардскую архитектуру, для памяти команд и данных используются отдельные шины.

Со времени издания учебного пособия по микроконтроллерам [2] прошло более 11 лет, поэтому пришла пора расширить диапазон изучаемых микроконтроллеров. Современные микроконтроллеры семейства STM32 [6] производятся компанией STMicroelectronics (архитектура компании ARM) [7] (рис. В7)

8

Рис. В7. Микроконтроллеры STM32

Выберем STM32F401RE, его характеризует высокая производительность, а также доступность работы с ним в среде Proteus. Имеется много готовых, относительно недорогих плат с такими микроконтроллерами [8–12], для программирования которых разработаны удобные онлайн-ресурсы, например Mbed [13].

9

1. ИССЛЕДОВАНИЕ КЛАССИЧЕСКОГО МИКРОКОНТРОЛЛЕРА 8051

1.1. Создание проекта в Proteus Design Suite

для исследования микроконтроллера 8051

Proteus Design Suite – пакет программ для автоматизированного проектирования (САПР) электронных схем (Протеус – сын древнегреческого бога Посейдона, известный своей способностью к перевоплощению. – прим. авт.) (рис. 1.1).

Рис. 1.1. Символ Proteus Design Suite версия 8

Необходимо загрузить соответствующую свободно распространяемую систему схемотехнического моделирования на сайте фирмы Labcenter Electronics (Ве-

ликобритания).

Далее создаем проект с прошивкой (рис. 1.2).

а

Рис. 1.2. Создание проекта в Proteus 8: а – начало; б – задание имени и выбор пути; в – далее; г – далее; д – выбираем 8051 с прошивкой – программированием на Ассемблере; е – итого

10

Соседние файлы в папке книги