Петербургский Государственный Университет
Путей Сообщения
Кафедра «Электрическая связь»
Лабораторная работа №3
Выполнил:
студент гр. АТ-701
Грузинский С. В.
Проверил:
Фомин Д.В.
Санкт – Петербург
2011
Цель работы – изучение методов программной реализации последовательных схем (автоматов с памятью).
Граф переходов:
Рис.1
Составим по графу таблицу переходов (ТП) и таблицу выходов (ТВ):
ТП |
ТВ |
|||||
S |
x |
S |
x |
|||
0 |
1 |
0 |
1 |
|||
1 |
4 |
(1) |
1 |
0 |
1 |
|
2 |
5 |
(2) |
2 |
1 |
0 |
|
3 |
6 |
(3) |
3 |
0 |
0 |
|
4 |
(4) |
2 |
4 |
0 |
0 |
|
5 |
(5) |
3 |
5 |
1 |
0 |
|
6 |
(6) |
1 |
6 |
0 |
1 |
|
7 |
(7) |
2 |
7 |
1 |
0 |
Составим кодированные таблицу переходов (КТП) и таблицу выходов (КТВ):
КТП |
КТВ |
|||||||
S |
Y1Y2Y3 |
x |
S |
Y1Y2Y3 |
x |
|||
0 |
1 |
0 |
1 |
|||||
1 |
000 |
011 |
(000) |
1 |
000 |
0 |
1 |
|
2 |
001 |
100 |
(001) |
2 |
001 |
1 |
0 |
|
3 |
010 |
101 |
(010) |
3 |
010 |
0 |
0 |
|
4 |
011 |
(011) |
001 |
4 |
011 |
0 |
0 |
|
5 |
100 |
(100) |
010 |
5 |
100 |
1 |
0 |
|
6 |
101 |
(101) |
000 |
6 |
101 |
0 |
1 |
|
7 |
110 |
(110) |
001 |
7 |
110 |
1 |
0 |
|
8 |
111 |
~ |
~ |
8 |
111 |
~ |
~ |
Карты Карно :
Y1: Y2:
1 |
|||
1 |
1 |
||
~ |
~ |
||
1 |
1 |
1 |
1 |
||
1 |
1 |
||
1 |
~ |
~ |
|
1 |
|||
1 |
1 |
||
1 |
~ |
~ |
1 |
1 |
1 |
1 |
1 |
||
1 |
|||
~ |
~ |
||
1 |
1 |
Y3: z:
Система функции по картам Карно:
Y1=
Y2=
Y3=
Z=
Блок схема автомата Мили I рода
Рис.2
Алгоритм создания проекта «AutomtBool»
1. Открыть новый проект
2. Создать папку AutomatBool
3. Сохранить проект (кнопка Save all) в папке AutomatBool
4. Включение в проект дополнительных файлов:
Driver Data IO.сpp(Project->Add to Project->диск E->папка pcl836->в этой папке «тип файлов» выбрать:C++Builder(*cpp)->найти файл Driver Data IO и открыть его->закрыть листинг(close page)
Adsapi 32. lib(Project->Add to project->диск E->pcl836->тип файла:Library file(*.lib)->Adsapi32.lib открыть(закрыть листинг Close Page)
#include “DriverDataIO.h” (File->include Unit Hdr->в окне Use Unit появится файл DriverDataIO выделить его и нажать ОК->т.о. в файле реализации появиться строчка #include «DriverDataIO.h»)
# define BASE 0x100 (Базовый адрес платы PPA вручную)
5.Создание визуальных элементов
Label1(Входной набор)
Label2
Label3(Состояние автомата)
Label4
Label5(Выходная функция)
Label6
Button 1 (Пуск)
Timer
В свойствах таймера устанавливаю время срабатывания «100мс» и «false»
6. Cоздание обработчиков событий для элементов
Button 1
Timer,
А также для платы ППА:
Form Create( открытие платы PPA)
Form Destroy(закрытие платы PPA)
7. программирование файла реализации
8. Сохранение созданного проекта (кнопка Save all)
9. Запуск программы на выполнение(«Run» или F9)
10. Распечатка трёх файлов
- файла реализации
-заголовочного файла
-главного файла
Общий алгоритм работы приложения «AutomatBool»
Алгоритм работы программы «AutomatBool»
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.