Файл: Отчет по практическому заданию 1 по дисциплине Микропроцессорные информационноуправляющие системы.docx
Добавлен: 03.02.2024
Просмотров: 146
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Петербургский государственный университет путей сообщения
Императора Александра I»
(ФГБОУ ВО ПГУПС)
Факультет «Автоматизация и интеллектуальные технологии»
Кафедра «Автоматика и телемеханика на железных дорогах»
Специальность 23.05.05 Системы обеспечения движением поездов
Специализация Автоматика и телемеханика на железнодорожном транспорте
Отчет по практическому заданию № 1
по дисциплине «Микропроцессорные информационно-управляющие системы»
«Изучение основ интегрированной среды разработки языка программирования C++ Builder 5»
| Обучающийся | дата | |
| Преподаватель | Отметка о зачете, подпись, дата | должность, Ф.И.О. |
-
Краткое описание лабораторной установки
-
устройство включения питания лабораторной установки «Пилот»; -
устройство бесперебойного питания компьютера (УПС); -
промышленный компьютер; -
монитор; -
клавиатура; -
манипулятор «мышь»; -
блок ввода /вывода дискретных и аналоговых сигналов; -
осциллограф.
-
плата PCL-836, которая содержит БИС программно и аппаратно управляемого интервального таймера; -
плата 5600, содержащая программно управляемый БИС для ввода и вывода дискретных сигналов (параллельный, периферийный адаптер ППА); -
плата 5720, содержащая БИС программно управляемого аналогово-цифрового преобразователя для работы с однополярными аналоговыми сигналами; -
плата PCL-818, содержащая программно управляемые БИС аналогово-цифрового и цифро-аналогового преобразователей для работы с биполярными сигналами; -
плата Realtex RTL 8019 (AS) ISA, содержащая сетевой адаптер для включения лабораторной установки в локальную вычислительную сеть.
-
Этапы разработки проекта «Pause»
| Name | Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
| Caption | Отображаемый текст |
| Font | Шрифт, используемый для отображения текста. Уточняющие свойства определяют шрифт (Name), размер (size), стиль (style) и цвет символов (Color) |
| Color | Цвет фона области вывода текста |
| Visible | Позволяет скрыть текст (false) или сделать его видимым (true) |
| Name | Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
| Caption | Текст на кнопке |
| Enabled | Признак доступности кнопки. Если значение свойства равно true, то кнопка доступна. Если значение свойства равно false, то кнопка недоступна– например, в результате щелчка на кнопке, событие Click не возникает |
| Name | Имя компонента. Используется для доступа к компоненту |
| Interval | Период генерации события OnTimer. Задается в миллисекундах |
| Enabled | Разрешение работы. Разрешает (значение true) или запрещает (значение false) генерацию события OnTimer |
6. Занести текст «Входная переменная» в заголовок компонента Label1, для чего в окне Инспектора объектов изменить текст свойства Caption (по умолчанию – «Label1»);7. Занести текст «Пуск» в заголовок компонента Button1, для чего в окне Инспектора объектов изменить текст свойства Caption (по умолчанию – «Button1»);8. Аналогично занести текст «Закрыть» в заголовок компонента Button2;9. Установить необходимые свойства для компонента Timer1, включая время срабатывания по заданному варианту:
-
изменить свойство Enabled (разрешение), которое по умолчанию имеет вид true, на false, тем самым запрещая работу Timer1; -
изменить свойство Interval (интервал), которое по умолчанию имеет 1000 мс, на значение 2000 мс.
-
Блок-схемы алгоритмов проекта в целом и функции Timer1.Timer
Рис. 1 – блок-схема алгоритма проекта «Пауза»Рис. 2 – блок-схема алгоритма функции Timer1.Timer
-
Программные листинги заголовочного, головного файлов и файла реализации проекта
//------------------------------------------------------------------------------
class TForm1: public TForm // объявление класса формы TForm1
{
_published: // IDE-managed Components
TLabel*Label1;
TLabel*Label2;
TButton*Button1;
TButton*Button2;
TTimer*Timer1;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
// закрытый раздел класса, где могут помещаться объявления типов
// переменных, функций, включаемых в класс формы, но недоступных
// для других модулей
private: // User declarations
// открытый раздел класса, где могут помещаться объявления типов
// переменных, функций, включаемых в класс формы и доступных
// для других модулей
public: // User declarations
__fastсall TForm1(TComponent* Owner); // объявление конструктора формы
};
//------------------------------------------------------------------------------
// ранее объявленный объект Форма включён по умолчанию в пакетный
// исходный файл
extern PACKAGE TForm1 *Form1;
//------------------------------------------------------------------------------
#endif // директива условной компиляции препроцессора
Код файла реализации:
PauseUnit1.cpp 30.11.22 19:45:54
1: //------------------------------------------------------------------------------
2:
3: #include
4: // визуальных компонентов
5: #pragma hdrstop // директива перепроцессора указывает компилятору
6: // конец списка общих файлов
7: #include "PauseUnit1.h" // директива перепроцессора подключает в файл
8: // реализации заголовочный файл
9: //------------------------------------------------------------------------------
10: #pragma package(smart_init) // директива перепроцессора указывает
11: // компилятору последовательность
12: // инициализации пакетов такой, какая
13: // устанавливается взаимными ссылками
14: // использующих их модулей
15: #pragma resource "*.dfm" // директива перепроцессора указывает
16: // компилятору, что для формы надо
17: // использовать файл .dfm с тем же именем,
18: // что и имя данного файла
19: TForm1 *Form1; // объявление указателя *Form1 для объекта формы
20: // TForm1
21: unsigned short int y; // объявление переменной "y" как беззнакового,
22: // короткого, целого числа
23: //-----------------------------------------------------------------------------
24: // Объявление конструктора формы и функции конструктора формы
25: __fastcall TForm1::TForm1(TComponent* Owner)
26: : TForm(Owner)
27: {
28: y=0; // начальное значение переменной y
29: }
30: //-----------------------------------------------------------------------------
31:
32:
33: // Объявление наличия кнопки Button1 (Пуск)
34: void__fastcall TForm1::Button1Click(TObject *Sender)
35: {
36: Timer1->Enabled=true; // Разрешение работы таймера
37:
38: }
39: //-----------------------------------------------------------------------------
40:
41: // Объявление наличия кнопки Button2 (Закрыть)
42: void__fastcall TForm1::Button2Click(TObject *Sender)
43: {
44: Close(); // Закрытие формы и завершение приложения
45:
46: }
47: //-----------------------------------------------------------------------------
48:
49: // Объявление наличия таймера Timer1
50: void__fastcall TForm1::Timer1Timer(TObject *Sender)
51: }
52: y=y; // Инвертирование y
53: y=y&0x01; // Выделение разряда D0 переменной y
54: // Вывод значения переменной "y" на форму
55: Label2->Caption="y="+AnsiString(y);
56: // Окрашивание переменной "y" в красный цвет
57: Label2->Font->Color=clRed;
58: }
59: //-----------------------------------------------------------------------------
Вывод
В ходе выполнения практического занятия была освоена методика разработки программных приложений в интегрированной среде разработки C++ Builder 5. Были изучены функции и свойства некоторых основных компонентов C++ Builder 5, таких как Label, Button, Timer. На основе полученных навыков создан проект Pause, реализующий вывод значения переменной на Форму через определённый промежуток времени, задаваемый компоненту Timer (Таймер). Из создаваемых программой автоматически 6 файлов рассмотрены подробно 3: заголовочный, головной и файл реализации. В работе приведены коды вышеуказанных файлов, полученные после сохранения проекта. Также приложены блок-схемы алгоритмов, реализованных в данной работе.