Uploaded by Askad Kwizo

Отчёт по практике МФ МГТУ

advertisement
Министерство науки и высшего образования Российской Федерации
Мытищинский филиал
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Московский государственный технический университет
имени Н.Э. Баумана
(национальный исследовательский университет)»
(МГТУ им. Н.Э. Баумана)
ФАКУЛЬТЕТ «Лесного хозяйства, лесопромышленных технологий и садовопаркового строительства
КАФЕДРА «Автоматизация технологических процессов, оборудование и
безопасность производств» (ЛТ-10)
ОТЧЁТ ОБ УЧЕБНОЙ ПРАКТИКЕ
Студента
Суриков Дмитрий Юрьевич
(фамилия, имя, отчество)
Группа
ЛТ10-42Б
Название практики практика по получению
первичных профессиональных умений и
навыков, в том числе
первичных умений и навыков
научно-исследовательской деятельности
Название предприятия
Лаборатория кафедры
ЛТ10-МФ МГТУ им. Н. Э.
Баумана
Руководитель от МФ МГТУ
имени Н. Э. Баумана
Старший преподаватель
Тесовский Александр Юрьевич
(должность, Ф. И. О.)
(подпись)
Руководитель от предприятия
(должность, Ф. И. О.)
МП Предприятия
2019 г.
(подпись)
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
3
1 Основная часть
4
1.1 Характеристика организации
4
1.2 Характеристика проделанной работы
6
1.2.1 Микроконтроллеры
6
1.2.2 Устройство микроконтроллера
7
1.2.3 Среда программирования
9
1.2.4 Практическое задание
11
1.3 Вывод по главе
14
ЗАКЛЮЧЕНИЕ
15
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
16
ПРИЛОЖЕНИЕ А
17
2
ВВЕДЕНИЕ
Цели практики: Систематизация полученных ранее и приобретение новых
знаний по разработке программного кода встраиваемых АСУ на базе
микроконтроллеров.
Задачи практики: Приобретение практических навыков разработки
программного кода для встраиваемых АСУ на базе микроконтроллеров в
интегрированной среде проектирования программного обеспечения. Овладение
методикой отладки и тестирования программного кода для встраиваемых АСУ
на базе МК.
Микроконтроллеры уже практически полностью заполнили современный
мир электроники. Поэтому каждый начинающий или опытный электронщик
рано или поздно сталкивается с этими, на первый взгляд загадочными
устройствами. По сути, микроконтроллер – это всего лишь кусок кремния в
пластиковом корпусе с металлическими выводами, который самостоятельно не
выполняет никаких функций. Однако он способен решать множество сложных
задач с довольно высокой скоростью при наличии записанной («прошитой») в
него программы. Поэтому нашей задачей является научиться писать программы
для микроконтроллера[1].
3
1 Основная часть
1.1 Характеристика организации
Практика по получению первичных профессиональных умений и
навыков, в том числе первичных умений и навыков научно-исследовательской
деятельности проводится в подразделении «Лаборатория кафедры ЛТ10-МФ».
Лаборатория — специально оборудованное помещение, предназначенное
дляпроведения
анализов,
научных
и
технических
опытов,
экспериментальныхисследований.
Материально-техническое обеспечение лаборатории представляет собой
комплексспециализированного оборудования, технических средств, мебели,
средствкоммуникации,
противопожарного
оборудования,
средств
обеспечениябезопасности труда.
Специализированное
оборудование
—
лабораторные
и
экспериментальныеустановки, лабораторные и демонстрационные стенды,
тренажёры,соответствующие
требованиям
ФГОС
и
используемые
для
формированиясоответствующих компетенций у обучающихся и для проведения
научно-исследовательских работ.
Лаборатории можно разделить на:
— Учебные.
— Учебно-научные.
— Научно-исследовательские.
Учебные лаборатории предназначены для обеспечения проведения
лабораторных ипрактических занятий по дисциплинам учебного плана, в
соответствии
стребованиями
основной
образовательной
программы,
выполнения курсовых ивыпускных квалификационных работ обучающихся.
4
Научно-исследовательские лаборатории предназначены для выполнения
научно-исследовательских
работ
научно-педагогическими
работниками,
учебно-вспомогательным персоналом, обучающимися и другими участниками
научно-исследовательской
деятельности
кафедры
ЛТ10-МФ
«Автоматизациятехнологических процессов, оборудование и безопасность
производств»Мытищинского филиала МГТУ им. Н. Э. Баумана.
Лаборатория кафедры ЛТ10-МФ относится к категории учебнонаучныхлабораторий. Учебно-научная лаборатория одновременно выполняет
функцииучебной и научно-исследовательской лаборатории.
Задачами лаборатории кафедры ЛТ10-МФ являются создание условий
для:
— закрепления обучающимися теоретических знаний на практике;
— объединения и систематизации элементов учебно-методического
комплекса;
— организации внеаудиторной работы, групповых и индивидуальных
консультаций,профориентационных мероприятий и т. п.;
— подготовки и написания различных видов академических работ
обучающихся;
— проведения научно-исследовательских работ;
— организации учебных и научно-исследовательских мероприятий.
Управление учебно-научной лабораторией осуществляетзаведующий
лабораторией кафедры ЛТ10-МФ, вподчинении которого находится весь
учебновспомогательный
персонал
кафедры
(инженеры,учебные
мастера,
лаборанты).
Заведующий лабораторией кафедры ЛТ10-МФ подчиняется заведующему
кафедрой ЛТ10-МФ.
Организацией
научных
работ
и
исследований
в
учебнонаучной
лаборатории руководит заведующий кафедройЛТ10-МФ.
В
состав
учебно-научной
лаборатории
внутриструктурные лаборатории[6].
5
кафедры
ЛТ10-МФвходят
1.2 Характеристика проделанной работы
1.2.1 Микроконтроллеры
Микроконтроллер представляет собой микросхему, которая используется
для управления электронными устройствами. В типичном микроконтроллере
имеются функции и процессора, и периферийных устройств, а также
содержится оперативная память и/или ПЗУ (постоянное запоминающее
устройство). Если говорить кратко, то микроконтроллер — это компьютер,
функционирующий на одном кристалле, который способен выполнять
относительно несложные операции[2].
В практической работе использовался микроконтроллер pc18f1320,
который изображен на рисунке 1.2.1.1.
Рис. 1.2.1.1 – микроконтроллер версии pic18f1320
PIC-контроллеры остаются популярными в тех случаях, когда требуется
создать недорогую компактную систему с низким энергопотреблением, не
6
предъявляющую высоких требований по ее управлению. Эти контроллеры
позволяют заменить аппаратную логику гибкими программными средствами,
которые взаимодействуют с внешними устройствами через хорошие порты[1].
Миниатюрные
PIC
контроллеры
хороши
для
построения
преобразователей интерфейсов последовательной передачи данных, для
реализации функций "прием – обработка – передача данных" и несложных
регуляторов систем автоматического управления.
1.2.2 Устройство микроконтроллера
Так как микроконтроллер представляет собой микросхему, то следует
рассмотреть её устройство. На рисунке 1.2.2.1 изображена общее устройство
микроконтроллера.
Рис. 1.2.2.1 – общее устройство микроконтроллеров[3].
CPU — процессор микроконтроллера
Его задача сформировать адрес очередной команды, выбрать команду из
памяти и организовать ее выполнение.
Основные устройства CPU:
7
— АЛУ — арифметико-логическое устройство
— блок регистров общего назначения (РОН)
АЛУ — устройство, которое выполняет арифметические и логические
операции над данными, которые поступают из регистров общего назначения.
РОН — регистры общего назначения (всего 32 РОН, от R0 до R31),
основная задача которых — обмен данными между АЛУ и ячейками памяти.
Память микроконтроллера
Микроконтроллеры имеют три разновидности памяти:
— FLASH
— SRAM
— EEPROM
FLASH-память — постоянное запоминающее устройство, она-же память
программ. Предназначена для хранения кодов программ и констант
SRAM-память — оперативное запоминающее устройство, она-же память
данных. Предназначена для хранения данных, получаемых в процессе
выполнения программы (при выключении питания — данные теряются)
EEPROM-память — постоянное запоминающее устройство, она-же
энергонезависимая память данных. Предназначена для хранения констант и
данных, получаемых в процессе выполнения программы (при выключении
питания — данные не теряются)
Порты ввода-вывода
Параллельный восьмиразрядный порт ввода-вывода предназначен для
ввода и вывода данных. Количество портов — от 1 до 7 (зависит от модели
микроконтроллера)и обозначаются они буквами A, B,C, D … .
Таймер/счетчик
Присутствует во всех моделях МК, но в разных количествах – от 1 до 4, и
с разными возможностями
Таймер/счетчик – это как бы два устройства в одном флаконе: таймер +
счетчик.
Таймер – устройство, которое позволяет формировать временные
интервалы. Таймер представляет собой цифровой счетчик который считает
импульсы или от внутреннего генератора частоты, или от внешнего источника
сигнала.
8
С помощью таймера/счетчика можно:
— отсчитывать и измерять временные интервалы
— подсчитывать количество внешних импульсов
Универсальный приемопередатчик UART
Имеют все модели МК, но разных типов:
— USART
— UART
Предназначены для обмена данными по последовательному каналу по
двухпроводным линиям связи. Прием и передача могут вестись одновременно.
1.2.3 Среда программирования
Компания
Microchip
распространяет
MPLAB[5]
-
бесплатную
интегрированную среду редактирования и отладки программ, которая
записывает бинарные файлы в микроконтроллеры PIC через программаторы.
Программная оболочка MPLAB обладает широкими возможностями для
написания исходного кода программы, дальнейшей отладки текста с
исправлением ошибок и предупреждений и финальной оптимизации проекта.
Для того чтобы реализовать столь обширные функций в MPLAB входят
следующие модули:
–менеджер проектов (ProjectManager) для управления различными
файлами рабочих групп;
–редактор (Editor), в котором авторы создают свои программы и
поправляют их;
–встроенный отладчик микроконтроллеров PIC16F87X MPLAB ICD;
– симулятор MPLAB-SIM, пошагово моделирующий работу программы в
микросхеме;
9
–
эмуляторы
виртуального
MPLAB-ICE,
представления
PICMASTER-CE
поведения
и
PICMASTER
контроллера
на
для
аппаратуре
разработчика в режиме реального времени;
– целый ряд компиляторов (MPLAB C-17, MPLAB С-18, MPASM,
MPLINK), преобразующих исходный код, написанный на разных языках
программирования (ассемблер, Си);
– редактор библиотек MPLIB;
– программаторы PRO MATE и PICSTART plus, обеспечивающие перенос
программ во внутреннюю память микроконтроллеров[4].
Также возможно подключение дополнительных модулей, разработанных
сторонними специалистами.
Кроме этого MPLAB может рассчитать время работы программы,
открыть доступ к переменным и специальным регистрам контроллера,
объединить разрозненные файлы в проект. В программной среде используются
разнообразные
методики
для
обнаружения
логических
несоответствий.
Большое количество вспомогательных окон (сервисных, листинга, исходного
кода, регистров памяти), трассировка, присутствие точек остановки помогают с
легкостью исправлять ошибки.
Благодаря встроенной системе помощи программа довольно проста в
изучении, разумеется, при наличии определенных знаний. А производитель
PIC-контроллеров Microchip, разработавшийMPLAB, осуществляет прекрасную
поддержку своих продуктов.
В папке, где размещается MPLAB, по пути \template\code лежат файлышаблоны для проектов, разрабатываемых на ассемблере, с которых удобно
начинать работу. Необходимо помнить, что для каждого проекта MPLAB
создает целый ряд вспомогательных файлов, поэтому если в одном месте будут
находиться несколько работ, то можно перепутать их.
10
1.2.4 Практическое задание
В данной главе будет описано индивидуальное практическое задание.
Индивидуальное практическое задание включало:
1.Подключение микроконтроллера с помощью интерфейса RS-232
2. Задание клавиатурных клавиш, чтобы при их нажатии загорались
светодиоды.
3. Чтобы при нажатии встроенных на микроконтроллере кнопы выдавало
сообщение, что одна из кнопок нажата.
1. Чтобы подключить микроконтроллер через интерфейс RS-232 нужно
было ввести ему соответствующую библиотеку:
#include<usart.h>
,
онатребовалась чтобы работать с подключенным устройством.
Ниже в таблиц 1, приведены все функции#include<usart.h> и их
описание.
Таблица 1 – Функции USART и их описание
Функция
Её описание
BusyUSART
USART что-либо передаёт?
CloseUSART Отключить USART.
DataRdyUSART Доступна ли информация в буффереUSART?
getsUSART
Прочитать строку данных USART.
OpenUSART
Определить USART.
putrsUSART Написать строку данных из памяти наUSART.
ReadUSART
Прочитать бит USART.
WriteUSART Написать бит на USART.
Чтобы устройство корректно отправляло информацию, ему надо задать
условия портов USART, то есть воспользоваться командой OpenUSART.
Ниже представлен пример использования OpenUSART:
11
OpenUSART(USART_TX_INT_OFF&USART_RX_INT_OFF&USART_ASY
NCH_MODE&USART_EIGHT_BIT&USART_CONT_RX&USART_BRGH_HIGH,51
);
гдеUSART_TX_INT_OFF
и
USART_RX_INT_OFFотвечаютзапортыпередачииполученияинформациисоотве
тственно,
частьUSART_ASYNCH_MODEотвечаетзаасинхронныйрежим,
USART_EIGHT_BIT
–
восьмибитныйрежимработыиUSART_BRGH_HIGH,
51отвечаютза скорость передачи информации (HIGH – быстрая, LOW –
медленная) и за значение скорости.
2. В данном задании использовалось функция ReadUSART. Она
используется
получения
информации
с
компьютера
и
её
чтения.
ReadUSARTобъявляется:
chara;
voidmain(){
a = ReadUSART; …
.
С самого начало объявляется одно байтовая переменная а. В последствии
в основной программе (voidmain()) а присваивается значение ReadUSART,
тем самым мы можем задать определённые программы, которые будут зависеть
от входящих данных. Кпримеру, продолжимпрограмму предыдущую:
…While(1){
switch(a){
case(‘1’):
LATA = 1;
break;
case(‘2’):
LATA = 0;
break;
}}
12
Благодаря этой программе, при нажатии 1 светодиоды будут гореть, при
нажатии на 2 светодиоды будут гаснуть. Это будет работать так: при нажатии
на любую клавишу ReadUSARTбудет присваивать aзначение клавиши, в то
время как switch()проверяет значение а, и если а =значению в структуре
case(), то он будет исполнять код написанный под case().
Данное задание можно усложнить, например, чтобы был бегущий огонь
или поочередное включение крайних и средних диодов.
3. Для работы этой программы можно использовать WriteUSART, либо
putrsUSART. Эти операторы выполняют одну и туже операцию, но поразному. Для WriteUSARTтребуется прописывать его посимвольно, то есть:
WriteUSART(“H”);
WriteUSART(“i”);
.
Вотличие от WriteUSART,putrsUSART можно прописать строку, но
ему надо её задать с помощью romchar:
rom char i[] = “Buttom S1 pressed”;
putrsUSART(i);
Для работы кнопки достаточно всего лишь задать значение порта в цикл
while. Тем самым программа будет выглядеть так:
romchari[] = “ButtomS1 pressed”;
voidmain(){
while(1){
while(!PORTAbits.RA4){
putrsUSART(i);}
}}
13
//RA4
–
порткноки
1.3 Вывод по главе
Создав данную программу, контроллер был способен выполнять
определённые задачи. К этим задачам можно причислить:
— Включение и выключение диодов;
— Переключение двух режимов работы диодов: бегущий огонь,
переменное переключение с крайних к средним диодам;
— Посылание сигнала на ПК при нажатии кнопок на демо-плате
микроконтроллера. Сигнал являлся строкой «Кнопка S1/S3 нажата»;
Тем самым можно сказать, что практическое задание было выполнено
успешно.
14
ЗАКЛЮЧЕНИЕ
На практической работе студент:
— успешно выполнил поставленное ему практическое задание, которое
заключалось в программировании микроконтроллера;
— изучил теорию автоматов, программирование автоматов на с++;
— собрал материал по микроконтроллерам и их программированию;
— получены практические навыки программирования микроконтроллера;
Задачи практики успешно решены.
Цели практики успешно достигнуты.
15
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Описание микроконтроллера и его работы. [Электронный ресурс].
//Arduinoplus.
[сайт].
URL:
https://arduinoplus.ru/mikrokontrollery-chto-eto-
takoe/#i(дата обращения: 25.07.2019).
2. Определение
микроконтроллеров.
[Электронный
ресурс].
//Википедия.[сайт].URL:
https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0
%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%
B5%D1%80(дата обращения: 25.07.2019).
3. Общее устройство микроконтроллеров. [Электронный ресурс]. // Мир
микроконтроллеров.
[сайт]
URL:
https://microkontroller.ru/ustroystvo-
mikrokontrollerov-avr/obshhee-ustroystvo-mikrokontrollerov-avr/(дата обращения:
25.07.2019).
4. Интегрированная среда разработки MPLABIDE микроконтроллеров
семейства PIC. Учебное пособие Ю.М. Голембиовский. [Электронный ресурс].//
Dockplayer
[сайт].
[2011].URL:
https://docplayer.ru/27068827-Yu-m-
golembiovskiy-integrirovannaya-sreda-razrabotki-mplab-ide-mikrokontrollerovpicmicro-uchebno-metodicheskoe-posobie.html(дата обращения: 25.07.2019).
5. Официальный
сайт
среды
MPLAB.
[сайт]
URL:
https://www.microchip.com/mplab/mplab-x-ide(дата обращения: 25.07.2019).
6. Кафедра ЛТ10 «Автоматизация технологических процессов,
оборудование и безопасность производств» Мытищинского филиала МГТУ им.
Н. Э. Баумана (МГУЛ) [Электронный ресурс] // Мытищинский филиал МГТУ
им. Н. Э. Баумана [сайт]. [2019]. URL: https://mf.bmstu.ru/info/faculty/lt/caf/lt10/
(дата обращения: 26.07.2019).
16
ПРИЛОЖЕНИЕ А
В этом приложение находитсяготовая программа в среде MPLab .
17
18
19
Download