Микропроцессорные информационно-управляющие системы: сборник лабораторных работ

Данное учебно-методическое пособие предназначено для студентов технических специальностей, изучающих микропроцессорную технику. В издании представлены теоретические основы архитектуры микроконтроллеров AVR семейства Mega (на примере ATmega16), принципы работы с памятью, портами ввода-вывода, таймерами, АЦП и радиомодулями nRF24L01+. Сборник содержит подробные задания для лабораторных работ и примеры программного кода на языке Ассемблер.

Содержание
  1. Министерство транспорта Российской Федерации
  2. МИКРОПРОЦЕССОРНЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ
  3. Аннотация
  4. ВВЕДЕНИЕ
  5. 1. Общие сведения о микроконтроллере ATmega16
  6. 1.1. Архитектура AVR микроконтроллера ATmega16
  7. 1.2. Память данных
  8. 1.2.1. Регистры общего назначения
  9. 1.2.2. Регистры ввода/вывода
  10. 1.2.3. Оперативная память. Стек
  11. 1.3. Память программ
  12. 1.4. Организация переходов в памяти программ. Подпрограммы.
  13. 2. Лабораторная работа №1: «Работа с памятью EEPROM микроконтроллера ATmega16»
  14. 2.1. Теоретические сведения
  15. 2.2. Задания на лабораторную работу №1
  16. 3. Лабораторная работа №2: «Работа с портами ввода/вывода микроконтроллера ATmega16»
  17. 3.1. Теоретические сведения
  18. 3.1.1. Порты ввода/вывода
  19. 3.1.2. Структура программы. Прерывания
  20. 4. Лабораторная работа №3: «Опрос матричной клавиатуры микроконтроллером ATmega16»
  21. 4.1. Теоретические сведения
  22. 4.2. Задания на лабораторную работу №3
  23. 5. Лабораторная работа №4: «Изучение встроенного АЦП микроконтроллера AVR»
  24. 5.1. Общие сведения
  25. 5.3. Задание на лабораторную работу №4
  26. 6. Лабораторная работа №5: Обмен данными между микроконтроллерами с помощью радиомодуля nRF24L01+
  27. 6.1. Теоретические сведения
  28. 6.1.1. Последовательный периферийный интерфейс (SPI)
  29. 6.1.2. Радиомодуль nRF24L01+
  30. 6.2. Задание на лабораторную работу №5
  31. 7. Лабораторная работа №6 «Передача динамически изменяемых данных между микроконтроллерами с помощью радиомодуля nRF24L01+»
  32. 7.1. Задание на лабораторную работу №6
  33. Библиографический список
  34. Приложение: Пример оформления текста программы на языке Ассемблер

Министерство транспорта Российской Федерации

Федеральное агентство железнодорожного транспорта

Федеральное государственное бюджетное образовательное учреждение высшего образования «Дальневосточный государственный университет путей сообщения»

Кафедра «Автоматика, телемеханика и связь»

В.А. Разуваев, П.А. Степанович

МИКРОПРОЦЕССОРНЫЕ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ

Учебно-методическое пособие по выполнению лабораторных работ

Хабаровск, Издательство ДВГУПС, 2020

Аннотация

Разуваев, В. А. Микропроцессорные информационно-управляющие системы: сборник лабораторных работ / В. А. Разуваев, П. А. Степанович. – Хабаровск : Изд-во ДВГУПС, 2020. 56 с. : ил.

Соответствует рабочим программам дисциплин «Основы микропроцессорной техники» и «Микропроцессорные информационно-управляющие системы». Сборник лабораторных работ соответствует ФГОС ВО по специальности 23.05.05 «Системы обеспечения движения поездов», по направлению 11.03.02 «Инфокоммуникационные технологии и системы связи».

Рассмотрены основные теоретические положения, изложены задания, порядок и методика выполнения лабораторных работ по изучению основ микропроцессорных информационно-управляющих систем на разработанном лабораторном макете «Микропроцессорной технологии», основанном на микроконтроллере ATmega16 семейства AVR, приводится примеры написания программ и подпрограмм на языке Ассемблер.

ВВЕДЕНИЕ

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

Курс изучения микропроцессорных информационно-управляющих систем предполагает освоение обучающимися базовых навыков работы с однокристальными микроконтроллерами: структуры микроконтроллера, логики его работы, написание программ, программирование микроконтроллера. Для изучения предлагается AVR микроконтроллеры компании Microchip.

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

1. Общие сведения о микроконтроллере ATmega16

1.1. Архитектура AVR микроконтроллера ATmega16

В микроконтроллерах AVR семейства Mega реализована Гарвардская архитектура, в соответствии с которой разделены не только адресные пространства памяти программ и памяти данных, но также и шины доступа к ним. [IMAGE_1]

Поскольку микроконтроллеры AVR имеют 16-битную систему команд, объем памяти программ на рис. указан не в байтах, а в 16-битных словах. Символ «$» перед числом означает, что это число записано в шестнадцатеричной системе счисления.

1.2. Память данных

Память данных микроконтроллеров семейства Mega разделена на три части: регистровая память, оперативная память (статическое ОЗУ) и энергонезависимое ЭСППЗУ (EEPROM).

1.2.1. Регистры общего назначения

Регистры общего назначения (РОН) — ячейки памяти, предназначенные для хранения данных (операндов), используемых для выполнения арифметико-логических операций. В микроконтроллерах AVR имеется 32 регистра общего назначения. [IMAGE_2] [IMAGE_3]

1.2.2. Регистры ввода/вывода

Все регистры ввода/вывода (РВВ) условно можно разделить на две группы: служебные регистры микроконтроллера и регистры, относящиеся к конкретным периферийным устройствам. Для чтения РВВ используется команда IN, для изменения содержимого предназначена команда OUT. [IMAGE_4]

Таблица 1.1. Биты регистра состояния SREG

Бит Название Описание
7 I Общее разрешение прерываний
6 T Хранение копируемого бита
5 H Флаг половинного переноса
4 S Флаг знака
3 V Флаг переполнения дополнительного кода
2 N Флаг отрицательного значения
1 Z Флаг нуля
0 C Флаг переноса

1.2.3. Оперативная память. Стек

Оставшийся объем оперативной памяти используется в качестве стека, а также для временного хранения данных и организации массивов данных. Он работает в порядке LIFO (Last In, First Out).

1.3. Память программ

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

1.4. Организация переходов в памяти программ. Подпрограммы.

Для организации переходов между непоследовательными строками программы используются команды относительного и абсолютного перехода RJMP и JMP соответственно.

2. Лабораторная работа №1: «Работа с памятью EEPROM микроконтроллера ATmega16»

Цель работы: изучить базовые инструкции процессоров AVR, освоить принципы работы с РОН и памятью EEPROM.

2.1. Теоретические сведения

Память EEPROM используется для сохранения пользовательских настроек при снятии электропитания с устройства. Для адресации ячеек используются регистры EEARH и EEARL.

2.2. Задания на лабораторную работу №1

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

3. Лабораторная работа №2: «Работа с портами ввода/вывода микроконтроллера ATmega16»

3.1. Теоретические сведения

3.1.1. Порты ввода/вывода

Микроконтроллер ATmega16 имеет 4 цифровых восьмиразрядных порта ввода/вывода. [IMAGE_6]

[IMAGE_8]

Таблица 3.1. Конфигурации контактов портов ввода/вывода

DDxn PORTxn PUD Функция вывода Резистор
0 0 X Вход Отключен
0 1 0 Вход Подключен
0 1 1 Вход Отключен
1 0 X Выход Отключен
1 1 X Выход Отключен

3.1.2. Структура программы. Прерывания

Под прерыванием понимают приостановку выполнения основной программы для выполнения подпрограммы обработки прерывания. [IMAGE_9] [IMAGE_10]

[IMAGE_12] [IMAGE_13] [IMAGE_14] [IMAGE_15]

[IMAGE_18] [IMAGE_19] [IMAGE_20] [IMAGE_21] [IMAGE_22] [IMAGE_23] [IMAGE_24] [IMAGE_25]

4. Лабораторная работа №3: «Опрос матричной клавиатуры микроконтроллером ATmega16»

4.1. Теоретические сведения

Матричная архитектура подразумевает группировку кнопок, при которой один из контактов подключается параллельно контактам кнопок, расположенных в одной строке, а второй контакт подключается параллельно контактам кнопок, расположенных в одном столбце. [IMAGE_26] [IMAGE_27]

4.2. Задания на лабораторную работу №3

Задания включают разработку программ для отображения нажатых клавиш, записи данных в EEPROM и управления светодиодными модулями.

5. Лабораторная работа №4: «Изучение встроенного АЦП микроконтроллера AVR»

5.1. Общие сведения

Микроконтроллер ATmega16 оснащен 10-разрядным аналого-цифровым преобразователем последовательного приближения. [IMAGE_28] [IMAGE_29] [IMAGE_30] [IMAGE_31] [IMAGE_32]

5.3. Задание на лабораторную работу №4

Разработать программу измерения температуры воздуха в аудитории с помощью делителя напряжения на основе NTC термистора.

6. Лабораторная работа №5: Обмен данными между микроконтроллерами с помощью радиомодуля nRF24L01+

6.1. Теоретические сведения

6.1.1. Последовательный периферийный интерфейс (SPI)

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

6.1.2. Радиомодуль nRF24L01+

Микросхема nRF24L01+ оснащена встроенным конечным автоматом, который управляет переходами между режимами микросхемы.

6.2. Задание на лабораторную работу №5

Разработать программу радиопередающего устройства на основе радиомодуля nRF24L01+.

7. Лабораторная работа №6 «Передача динамически изменяемых данных между микроконтроллерами с помощью радиомодуля nRF24L01+»

7.1. Задание на лабораторную работу №6

Разработать программу радиоприемного устройства на основе радиомодуля nRF24L01+ под управлением микроконтроллером ATmega16. Принимать значения напряжения от АЦП передающего стенда, преобразовывая в значения температуры.

Библиографический список

  1. Евстифеев, А.В. Микроконтроллеры AVR семейства Mega. Руководство пользователя / А.В. Евстифеев. Москва : Додэка XXI, 2015. 588с.
  2. Техническое описание микроконтроллера ATmega16 // сайт компании Microchip. – URL : http://www.microchip.com.
  3. Техническое описание микросхемы nRF24L01+ // сайт компании Nordic Semiconductor. – URL : http://www.nordicsemi.com/

Приложение: Пример оформления текста программы на языке Ассемблер

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

Оцените статью
Сессия под ключ дистанционно
Добавить комментарий

Заявка на расчет