ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 121
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Кузбасский государственный технический университет
имени Т. Ф. Горбачева»
Кафедра электропривода и автоматизации
Составитель
А. Н. Гаргаев
МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Методические материалы
Рекомендовано цикловой комиссией специальности СПО
11.02.16 Монтаж, техническое обслуживание и ремонт электронных приборов и устройств в качестве электронного издания для использования в образовательном процессе
Кемерово 2019
Рецензенты:
Григорьев А. В. – кандидат технических наук, доцент кафедры электро- привода и автоматизации ФГБОУ ВО «Кузбасский государственный техниче- ский университет имени Т. Ф. Горбачева»
Шаулева Н. М. – кандидат технических наук, доцент кафедры электро- привода и автоматизации ФГБОУ ВО «Кузбасский государственный техниче- ский университет имени Т. Ф. Горбачева»
Гаргаев Андрей Николаевич
Микропроцессорные системы [Электронный ресурс]: методические ма- териалы для обучающихся специальности СПО 11.02.16 Монтаж, техническое обслуживание и ремонт электронных приборов и устройств очной формы обу- чения / сост. А. Н. Гаргаев; КузГТУ. – Электрон. дан. – Кемерово, 2019.
Приведен теоретический и практический материал, необходимый для успешного изучения дисциплины. Методические материалы дисциплины
«Микропроцессорные системы» содержат перечень практических занятий, со- держание практических и самостоятельных занятий, список учебно- методических материалов.
КузГТУ, 2019
Гаргаев А. Н., составление, 2019
Оглавление
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ В СООТВЕТСТВИИ С УЧЕБНЫМ
ПЛАНОМ ..................................................................................................................... 4
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №1
Выполнение сравнительного анализа микросхем микроконтроллеров серии AVR ............................................................. 5
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №2 Разработка программы устройства управления одним светодиодным индикатором при помощи одной кнопки ....... 5
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №3
Создание программы на языке СИ устройства с мигающим светодиодом .......................................................................................... 7
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №4
Разработка автомата «бегущие огни» .......... 13
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №5
Создание программы «бегущие огни» с использованием прерываний по таймеру ............................................................... 17
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №6
Создание программы сигнального устройства с звуковым выходом .................................................................................................. 26
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №7
Разработка (проектирование) устройства
«музыкальная шкатулка» .......................................................................................... 28
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №8
Разработка кодового замка ............................ 33
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №9
Разработка кодового устройства с музыкальным звонком .............................................................................................. 38
СОДЕРЖАНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ .............................................. 44
4
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
В СООТВЕТСТВИИ С УЧЕБНЫМ ПЛАНОМ
В соответствии с учебным планом изучение дисциплины «Мик- ропроцессорные системы» предусматривает проведение лекционных, практических занятий и самостоятельной работы обучающимися оч- ной формы обучения.
Объем образовательной программы учебной дисциплины со- ставляет 136 часов.
Форма промежуточной аттестации – дифференцированный зачет
(4 семестр).
Содержание практических занятий
Перечень практических занятий изучаемых в семестре:
Практическое занятие № 1. Выполнение сравнительного анализа микросхем микроконтроллеров серии AVR.
Практическое занятие № 2. Разработка программы устройства управления одним светодиодным индикатором при помощи одной кнопки.
Практическое занятие № 3. Создание программы на языке Си устройства с мигающим светодиодом.
Практическое занятие № 4. Разработка автомата «бегущие ог- ни».
Практическое занятие № 5. Создание программы «бегущие ог- ни» с использованием прерываний по таймеру.
Практическое занятие № 6. Создание программы сигнального устройства с звуковым выходом.
Практическое занятие № 7. Разработка (проектирование) устройства «музыкальная шкатулка».
Практическое занятие № 8. Разработка кодового замка.
Практическое занятие № 9. Разработка устройства кодового устройства с музыкальным звонком.
При подготовке к практическим занятиям обучающиеся само- стоятельно изучают основную и дополнительную литературу, готовят конспекты по темам, предложенным преподавателем.
5
На практических занятиях преподаватель осуществляет кон- троль подготовки качества знаний обучающегося, используя: опрос, обсуждение вопросов по темам изучаемой дисциплины, письменный опрос при текущем контроле и предоставление отчетов по практиче- ским занятиям.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №1
Выполнение сравнительного анализа микросхем
микроконтроллеров серии AVR
1. ЦЕЛЬ ЗАНЯТИЯ
Выполнить сравнительный анализ микросхем микроконтроллеров серии
AVR.
2. ПОРЯДОК ВЫПОЛНЕНИЯ ПРАКТИЧЕСКОЙ РАБОТЫ
Получить задание у преподавателя. Пользуясь справочной литературой произвести сравнительный анализ микросхем микроконтроллеров серии AVR.
3. ОТЧЕТ
Отчет по практической работе должен содержать:
1. Наименование и цель работы.
2. Сравнительный анализ в виде таблицы.
3. Вывод по проделанной работе.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №2
Разработка программы устройства управления одним
светодиодным индикатором при помощи одной кнопки
1. ЦЕЛЬ ЗАНЯТИЯ
1. Изучить функции, необходимые для реализации программы;
2. Написать программу по управлению светодиодом при помощи кнопки.
6 2. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Для того, чтобы получить значение с цифрового входа используется функция digitalRead(pin), где pin – номер выхода микроконтроллера. Функция считывает значение и возвращает HIGH или LOW.
3.
ПОРЯДОК ВЫПОЛНЕНИЯ ПРАКТИЧЕСКОЙ РАБОТЫ
Напишем программу по считыванию значения цифрового вывода (ПИН
4), к которому присоединена кнопка. Для вывода состояния будем использовать светодиод (подсоединен к ПИНу 13), который будет загораться при нажатии кнопки. int button = 4; int led = 13; void setup()
{ pinMode(led, OUTPUT); pinMode(button, INPUT);
} void loop()
{ if (digitalRead(button) == HIGH)
{ digitalWrite(led, HIGH);
} else
{ digitalWrite(led, LOW);
}
}
Сначала объявляем переменные переменные с номерами ПИНов кнопки и светодиода. В функции setup() определяем режим работы ПИНов 4 и 13. ПИН
13 на выход, а ПИН 4 на вход. В бесконечном цикле с помощью функции digi- talRead определяем состояние кнопки. Далее, используя функцию digitalWrite, изменяем состояние светодиода, в зависимости от состояния кнопки. В конце, для стабильности работы, добавляем задержку в одну миллисекунду.
7 4. ВАРИАНТЫ
Таблица 1 – Варианты для практической работы
№ ПИН кнопки
ПИН светодиода
1 3
9 2
16 5
3 3
11 4
2 6
5 24 5
6 5
12 7
27 4
8 24 6
9 2
25 10 13 2
11 4
12 12 12 10 13 10 17 14 4
15 15 25 18 16 17 14 17 3
23 18 6
2 5.
ОТЧЕТ
Отчет по практической работе должен содержать:
1. Наименование и цель работы.
2. Код программы, написанной в соответствии с вариантом.
3. Вывод по проделанной работе.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №3
Создание программы на языке СИ устройства с мигающим
светодиодом
1.
ЦЕЛЬ ЗАНЯТИЯ
1. Изучить основные сведения об аппаратной платформе Freeduino;
2. Изучить среду разработки Arduino IDE;
3. Написать программу по морганию светодиодом.
8 2.
ОБЩИЕ СВЕДЕНИЯ
2.1.
АППАРАТНАЯ ПЛАТФОРМА FREEDUINO
Семейство микроконтроллеров Freeduino представлено несколькими ва- риантами плат, имеющих в общем идентичный функционал, и полностью совместимых с аналогичными вариантами Arduino.
Модули Freeduino основаны на микросхеме ATmega328 и легко про- граммируются через USB порт при помощи бесплатного программного обес- печения.
Рисунок 1. Модуль SB-Freeduino на базе микроконтроллера ATMega328
Микроконтроллер ATmega328 имеет 32 Кбайт программной памяти (из которых 2 Кбайт используются для хранения загрузчика). Кроме того, микро- схема имеет 2 Кбайт ОЗУ (SRAM), 1 Кбайт байт долговременной памяти дан- ных (EEPROM).
9
Рисунок 2. Вводы/выводы микроконтроллера ATmega328
Модуль имеет 14 контактов цифрового ввода/вывода, шесть из которых могут быть использованы для вывода сигналов ШИМ, и шесть аналоговых вхо- дов АЦП с дискретностью в 1024 значений. Модуль также содержит: кварце- вый резонатор на 16 МГц, разъем USB (либо COM в варианте MaxSerial), разъ- ем питания типа Mini-Jack, разъем для подключения внешнего программатора
ICSP и кнопку сброса. Каждый из 14 выводов модуля можно использовать как вход или как выход данных. Эти выводы работают с сигналами уровнем 0...5В.
Каждый из выводов рассчитан на входной (или выходной) ток до 20 мА и имеет внутренний программно отключаемый подтягивающий резистор сопротивлени- ем 20-50 кОм, который по умолчанию отключен. Выводы 3, 5, 6, 9, 10 и 11 мо- гут работать в режиме выходов сигналов широтно-импульсного модулирова- ния. Если вы хотите подключить внешние устройства к выводам 1 или 2, то вы должны помнить, что эти выводы совмещены с цепями, работающими в режи- ме обмена по USB/COM каналу. Поэтому в момент записи программы и при других операциях обмена данными с компьютером внешние цепи нужно будет отключать.
Модуль также имеет 6 аналоговых входов (АЦП), каждый из которых обеспечивает 10 разрядное аналого-цифровое преобразование (т.е. различает
1024 значений уровня сигнала). По умолчанию входы настроены на диапазон входного напряжения от 0 до 5В. Но вы можете снижать верхнюю границу это- го диапазона при использовании внешнего источника опорного напряжения и соответствующим образом составленной программы.
Модуль Freeduino имеет целый ряд возможностей для обмена информа- цией с компьютером, другими модулями Freeduino/Arduino и любыми микро- контроллерными устройствами. Входящий в модуль микроконтроллер
10
ATmega328 имеет встроенный последовательный интерфейс UART работаю- щий с сигналами TTL уровней (0...+5В), сигналы которого выведены на контак- ты 1 (RxD) и 2 (TxD) модуля.
USB версии модулей имеют в своем составе USB конвертор FT232RL фирмы FTDI, который обеспечивает работу через создаваемый автоматически виртуальный COM-порт при подключении модуля к компьютеру. Freeduino
MaxSerial оснащена преобразователем MAX232 для преобразования TTL уров- ней к стандарту RS232.
Микроконтроллер ATmega328 также поддерживает I2C (TWI) шину и шину SPI. Библиотека Freeduino содержит функции для работы с I2C. Для реа- лизации работы с SPI можно обратиться к фирменной документации на микро- контроллер.
2.2.
СРЕДА РАЗРАБОТКИ ARDUINO IDE
Программное обеспечение Arduino с открытым исходным кодом (IDE) позволяет легко писать код и загружать его на борт. Он работает в Windows,
Mac OS X и Linux. Окружающая среда написана на Java и основана на обработ- ке и другом программном обеспечении с открытым исходным кодом.
На рисунке 3 представлен интерфейс программы Arduino IDE. В основ- ном окне пишется код программы.
После написания программы, нажатием на кнопку
, производится проверка кода на наличие ошибок и её компиляция.
Если компиляция прошла успешно, то необходимо загрузить программу на микроконтроллер, нажав на кнопку
. Также на данной панели есть кнопки для создания нового файла программы
, а также загрузки и ее сохранения
11
Рисунок 3. Основное окно программы
3.
ПОРЯДОК ВЫПОЛНЕНИЯ ПРАКТИЧЕСКОЙ РАБОТЫ
Для первого знакомства с микроконтроллером и прилагаемым программ- ным обеспечением напишем простейшую программу по управлению вхо- дом/выходом микроконтроллера. В данном случае предположим, что к 13-му
ПИНу микроконтроллера подключен светодиод, состоянием которого будет происходить управление. void setup()
{ pinMode(13, OUTPUT);
} void loop()
{ digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(2000);
}
12
Первая строка объявляет обязательную функцию setup(). Функция setup() вызывается, когда стартует скетч (программа для микроконтроллера). Исполь- зуется для инициализации переменных, определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup() запускает только один раз, после каждой подачи питания или сброса платы Arduino. В ней происходит вызов стандартной функции pinMode. Она устанавливает режим работы задан- ного вход/выхода (ПИН) как входа или как выхода. С помощью данной функ- ции 13-й ПИН микроконтроллера переводится в режим вывода, чтобы затем можно было управлять напряжением на этом контакте.
Затем объявляется функция loop() – она будет постоянно вызываться в бесконечном цикле в процессе работы. Используя функцию digitalWrite (подает
HIGH или LOW значение на цифровой вход/выход (pin)), мы последовательно выставляем на 13-ом ПИНе «высокое» значение (HIGH) – это 5 В (3.3 В для плат, питающихся от 3.3 В). Используя функцию delay(), делаем паузу в тысячу миллисекунд (одну секунду). Далее выставляем «низкое» значение (LOW) – это
0 В, и делаем паузу в две секунды. После завершения функции loop() она будет вызвана снова.
В итоге получим программу по морганию светодиодом с периодом вклю- чения в одну секунду и периодом выключения состояния в две секунды.
4. ВАРИАНТЫ
Таблица 1 – Варианты для практической работы
№
ПИН
Время горения светодиода, с
Время паузы, с
1 2
1 3
2 4
3 5
3 6
8 7
4 3
9,3 9,5 5
5 4
2,2 6
9 1,2 4
7 12 2
6 8
10 11,5 5
9 13 5
3,5 10 11 1
2 11 15 15 9
12 16 3,5 8
13 24 4,8 7,5 14 27 6
5,5 15 28 8,8 6,4 16 25 4
4 17 18 6
5 18 19 2,5 2
13 5. ОТЧЕТ
Отчет по практической работе должен содержать:
1. Наименование и цель работы.
2. Краткие теоретические данные по практической работе.
3. Код программы, написанной в соответствии с вариантом.
4. Вывод по проделанной работе.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №4
Разработка автомата «бегущие огни»
1. ЦЕЛЬ ЗАНЯТИЯ
1. Ознакомиться с назначением и реализацией конечных автоматов;
2. Написать программу с различными вариантами управления светодио- дами.
2. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
2.1. КОНЕЧНЫЕ АВТОМАТЫ
В задачах, обрабатывающих ввод посимвольно, или череду каких-нибудь событий, часто возникают похожие решения, которые включают в себя некото- рое текущее состояние-переменную и правила перехода между переменными после обработки нового ввода или события. Такие конструкции были обобще- ны теоретиками под названием конечного автомата.
Конечный автомат состоит из конечного множество состояний S, начального состояния S0 и конечного множества переходов. Переходы имеют вид (d,X,t,a), где d
∈S – начальное состояние, из которого возможно выполнить переход;
X – множество символов, которые активируют переход; t
∈S –
состояние, в которое будет выполнен переход a – действие, которое конечный автомат выполняет при переходе из со- стояния d в t. Часто действие может отсутствовать.
Конечный автомат, это некоторое обобщение системы, которая в зависи- мости от внешних событий может изменять своё состояние, и в процессе таких изменений как-то реагировать на эти события. Частым примером конечного ав- томата является кофейный автомат. У автомата есть различные события, на ко- торые он может реагировать (нажатия кнопок автомата), состояние, которое он может изменять при нажатии кнопок, действия, которые происходят при изме- нениях состояний.