Тип работы:
Предмет:
Язык работы:


Управление TFT экраном с помощью STM32F7

Работа №38983

Тип работы

Дипломные работы, ВКР

Предмет

физика

Объем работы54
Год сдачи2019
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
105
Не подходит работа?

Узнай цену на написание


Введение 3
Глава 1. Описание дисплеев, используемых в качестве компонентов для приборных досок 5
Глава 2. Отладочный комплект STM32F746G-DISCO 7
2.1 Описание интерфейса LTDC 8
2.2 Функциональное описание интерфейса LTDC 11
2.3 Контроллер сенсорной панели FT5336 13
2.3.1 Устройство ёмкостных экранов (панелей) 13
2.3.2 Контроллер ёмкостной сенсорной панели FT5336 14
Глава 3. Программное обеспечение для контроллера STM32F746G-DISCO . 17
3.1 Общий обзор графических библиотек 17
3.2 Библиотека EmWin 18
3.2 Среда программирования микроконтроллера Keil uVision5 19
3.3 CubeMX 20
Глава 4. Реализация виртуальной приборной доски 23
4.1 Инициализация дисплея 23
4.2 Инициализация периферии 28
4.3 Создание графического макета виртуальной приборной доски 31
4.4 Финальная сборка виртуальной приборной доски 37
Заключение 42
Список использованных источников 43
Приложения

Для многих производителей мелкосерийных приборов достаточно дорого создавать собственную аппаратную приборную доску, состоящую из набора тумблеров, потенциометров, стрелочных индикаторов и семисегментных дисплеев. В настоящее время имеется тенденция заменять большую часть перечисленных выше элементов приборной доски на их изображение на графическом экране с датчиком касания. Все они в случае их реализации будут образовывать виртуальную приборную доску управления. Достаточно просто и дёшево реализовать такую виртуальную приборную доску на основе TFT экрана с емкостной сенсорной панелью в стиле пользовательского интерфейса компьютера. Использование такого экрана позволяет получить наибольшую гибкость в расположение элементов управления и минимум усилий при создании виртуальной приборной доски. Максимальную гибкость данному устройству придаст микроконтроллер (МК), который будет осуществлять связь между доской и электронной схемой прибора и программно управлять TFT экраном с емкостной сенсорной панелью. Это позволит очень быстро создавать интерфейс любой сложности и с любым количеством кнопок, не меняя ничего в электрической схеме. Также с микроконтроллером можно использовать бесплатно распространяемые графические библиотеки, которые еще больше упростят разработку интерфейса.
Вместо МК могли использоваться такие устройства как ПЛИС, БИС и другие, но программирование на них является более сложным и дорогостоящим для таких задач. Именно поэтому использование микроконтроллера будет более предпочтительным для данного устройства.
Целью выпускной квалификационной работы является разработка виртуальной приборной доски на примере регистратора каротажной станции на основе TFT экрана с сенсорной панелью.
Для достижения поставленной цели были выявлены следующие задачи:
1. Определить каким функционалом должна обладать виртуальная приборная доска для регистратора каротажной станции на основе анализа внутреннего устройства действующего регистратора с аппаратной приборной доской;
2. Создать макет графического интерфейса с продуманной эргономикой управления регистратором для каротажной станции;
3. Реализовать виртуальные амперметр и вольтметр на основе встроенных в МК АЦП;
4. Выбрать наиболее простое устройство, которое позволяет управлять экраном и реализовывать различные виды интерфейсов.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения выпускной квалификационной работы была изучена литература по современным сенсорным TFT дисплеям, графические библиотеки для МК, ориентированных на работу с дисплеями. Эта работа позволила создать виртуальную приборную доску для регистратора каротажной станции на современном сенсорном TFT дисплее (FT5336).
Также были решены следующие практические задачи:
• определен функционал, которым должна обладать виртуальная приборная доска для регистратора каротажной станции;
• создан макет графического интерфейса с продуманной эргономикой управления регистратором для каротажной станции на основе существующего прототипа приборной доски регистратора «Гектор»;
• реализован электрический интерфейс измерителей тока и напряжения, указывающий на режимы работы источника питания, который питает каротажный прибор;
• выбрано наиболее простое устройство, которое позволяет управлять экраном и реализовывать различные виды графических интерфейсов.



1. Um1907 User manual. Discovery kit for STM32F7 Series with STM32F746NG MCU [Электронный ресурс]. URL:
https://www.st.com/content/ccc/resource/technical/document/user_manual/f0/14/c 1/b9/95/6d/40/4d/DM00190424.pdf/files/DM00190424.pdf/jcr:content/translations /en.DM00190424.pdf. - (18.06.2019).
2. AN4861 Application note. LCD-TFT display controller (LTDC) on STM32 MCUs. [Электронный ресурс]. URL:
https://www.st.com/content/ccc/resource/technical/document/application_note/gro up0/25/ca/f9/b4/ae/fc/4e/1e/DM00287603/files/DM00287603.pdf/jcr:content/transl ations/en.DM00287603.pdf. - (18.06.2019).
3. Свободная энциклопедия Википедия [Электронный ресурс].
URL: https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BD%D1%81%D0 %BE%D 1%80%D0%BD%D 1%8B%D0%B9_%D 1%8D%D0%BA%D 1%80%D0 %B0%D0%BD. - (18.06.2019).
4. EmWin Graphic Library with Graphical User Interface.
[Электронный ресурс]. URL:
https://www.segger.com/downloads/emwin/UM03001 . - (18.06.2019).
5. Матюшов Н.В. Начало работы с микроконтроллерами STM8 / Н.В. Матюшов - М. : СОЛОН-ПРЕСС, 2016. - 208 с.
Приложение 1 - Листинг программы для графической вкладки интерфейса «Контроль»
static const GUI_WIDGET_CREATE_INFO _aDialogCreate_control[] = {
{ WINDOW_CreateIndirect, "Control", ID_WINDOW_0_control, 0,0, 480, 272, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "123.4 V", ID_TEXT_0_control, 20, 10, 197, 60, 0, 0x64, 0 },
{ TEXT_CreateIndirect, "123 mA", ID_TEXT_1_control, 260, 10, 200, 60, 0, 0x64, 0 },
{ TEXT_CreateIndirect, "Instrument Selection", ID_TEXT_2_control, 10, 91, 180, 30, 0, 0x64, 0 },
{ RADIO_CreateIndirect, "Radio", ID_RADIO_0_control, 15, 123, 210, 42, 0, 0x1402, 0 },
{ TEXT_CreateIndirect, "Power source selection", ID_TEXT_3_control, 10, 168, 220, 30, 0, 0x64, 0 },
{ RADIO_CreateIndirect, "Radio", ID_RADIO_1_control, 15, 193, 210, 42, 0, 0x1402, 0 },
{ TEXT_CreateIndirect, "Current depth:", ID_TEXT_4_control, 210, 70, 160, 30, 0, 0x64, 0 },
{ TEXT_CreateIndirect, "1234 m", ID_TEXT_5_control, 220, 98, 140, 30, 0, 0x64, 0 },
{ BUTTON_CreateIndirect, "Set the initial depth", ID_BUTTON_0_control, 190, 128, 180, 30, 0, 0x0, 0
},
{ TEXT_CreateIndirect, "Magnetic tag", ID_TEXT_6_control, 220, 216, 140, 30, 0, 0x64, 0 },
{ BUTTON_CreateIndirect, "ON", ID_BUTTON_1_control, 385, 180, 85, 62, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "*", ID_TEXT_red_control,420, 145, 85, 62, 0, 0x0, 0 },
{ TEXT_CreateIndirect, "*", ID_TEXT_green_control,285, 180, 85, 62, 0, 0x0, 0 },
};
static void _cbDialog_control(WM_MESSAGE * pMsg) {
WM_HWIN hItem; int NCode; int Id;
switch (pMsg->MsgId) { case WM_INIT_DIALOG: hItem = pMsg->hWin;
WINDOW_SetBkColor(hItem, GUI_MAKE_COLOR(0x00C0C0C0)); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_0_control);
TEXT_SetTextAlign(hItem, GUI_TA_HCENTER | GUI_TA_VCENTER);
TEXT_SetText(hItem, "123.4 V");
TEXT_SetFont(hItem,&GUI_FontArial32j);// GUI_FONT_32B_ASCII); hItem = WM_GetDialogItem(pMsg->hWin, ID_TEXT_1_control);
TEXT_SetText(hItem, "123 mA");

Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ