Программирование дискретного вывода микроконтроллера в среде KEIL uVISION5. ЛР1_Депутатова_Володин. Отчет по лабораторной работе 1 по дисциплине Микропроцессорные системы управления автономными электроэнергетическими системами
Скачать 402.21 Kb.
|
МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра САУ ОТЧЕТ по лабораторной работе №1 по дисциплине Микропроцессорные системы управления автономными электроэнергетическими системами Т ЕМА : Программирование дискретного вывода микроконтроллера в среде KEIL uVISION5 ВАРИАНТ №1 Студенты гр. 7493 Депутатова Д.И. Володин В.С. Преподаватель Леута А.А. Санкт-Петербург 2022 Цель работы Изучение основ работы в программной среде Keil uVision5, на примере реализации управления дискретными выводами микроконтроллера 1986BE91T. Постановка задач 1. Сконфигурировать программную среду Keil uVision5 для работы с микроконтроллером 1986BE91T. 2. Разработать программу, реализующую включение и выключение светодиодов в заданном порядке. Порядок включения и выключения светодиодов для варианта №1: 1-2-3-4-5 ив обратном порядке. 3. Загрузить, полученную программу в микроконтроллер и запустить е. На первом этапе работы необходимо сконфигурировать программную среду Keil uVision5, таким образом, чтобы реализуемый код был совместим с микроконтроллером 1986BE91T. Изображения окон конфигурации представлены на рисунках 1–3. Рисунок 1 - Конфигурация Debug Рисунок 2 – Настройка Debug Рисунок 3 - Выбор конфигурации памяти микроконтроллера На втором этапе работы необходимо реализовать алгоритм включения и выключения светодиодов в заданном порядке, а именно 1-2-3-4-5 ив обратном порядке. Для этого вначале был разработан алгоритм, который представлен на рисунке 4. Рисунок 4 - Алгоритм для реализации заданной последовательности включения и отключения светодиодов В соответствии свыше представленным алгоритмом разработана программа на языке C, листинг которой представлен ниже. // Курс МПС АУ ЭЭС // Лабораторная Работа №1 вариант 1 // Исполнители Депутатова Д.И., Володин В.С., гр 7493 // Дата выполнения // 1. Подключение заголовочных файлов тех библиотек, // которые непосредственно используются в данном файле исходного кода # include # include // 2. Определение функций задержки #define delay(T) for(i=2*T; i>0; i--) // 3. Объявление структуры, с помощью которой будет происходит // инициализация порта PORT_InitTypeDef PORTDInit; // 4. Объявление глобальной переменных счетчика для функции задержки int i; // 5. Главная функция программы int main() { RST_CLK_PCLKcmd(RST_CLK_PCLK_PORTD, ENABLE); //Вкл. тактования порта D PORTDInit.PORT_Pin= PORT_Pin_10 | Объявление ноже порта, которые PORT_Pin_11 | настраиваются PORT_Pin_12 | PORT_Pin_13 | PORT_Pin_14 ; PORTDInit.PORT_OE = PORT_OE_OUT; Конфигурация группы выводов как выход PORTDInit.PORT_FUNC = PORT_FUNC_PORT; Работа в режиме порта ввода-вывода PORTDInit.PORT_MODE = PORT_MODE_DIGITAL; Цифровой режим PORTDInit.PORT_SPEED = PORT_SPEED_SLOW; Низкая частота тактования пор PORT_Init(MDR_PORTD,&PORTDInit); Инициализация порта D объявленного while (1) { // структурой PORT_SetBits(MDR_PORTD, PORT_Pin_10); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_10); PORT_SetBits(MDR_PORTD, PORT_Pin_11); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_11); PORT_SetBits(MDR_PORTD, PORT_Pin_12); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_12); PORT_SetBits(MDR_PORTD, PORT_Pin_13); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_13); PORT_SetBits(MDR_PORTD, PORT_Pin_14); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_14); PORT_SetBits(MDR_PORTD, PORT_Pin_13); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_13); PORT_SetBits(MDR_PORTD, PORT_Pin_12); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_12); PORT_SetBits(MDR_PORTD, PORT_Pin_11); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_11); PORT_SetBits(MDR_PORTD, PORT_Pin_10); delay(0xFFFF); PORT_ResetBits(MDR_PORTD, PORT_Pin_10); } } На последнем этапе работы выше представленная программа была загружена в память микроконтроллера при помощи программатора. В результате выполнения программы формируется заданная последовательность включения и отключения светодиодов. Вывод в результате выполнения работы были изучены основы работы в программной среде Keil uVision5, на примере реализации управления дискретными выводами микроконтроллера 1986BE91T. В процессе достижения цели были получены навыки по конфигурации программной среды Keil uVision5, закреплены навыки составления блок-схем алгоритмов, а также разработана программа для реализации включения и отключения светодиодов в порядке 1-2-3-4-5 ив обратном направлении. |