Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы по МПРС.doc
Скачиваний:
14
Добавлен:
01.05.2014
Размер:
133.63 Кб
Скачать

Лабораторная работа №5.

Цель работы:

Создать в редакторе TAB таблицу, которая моделирует переходный процесс произвольно взятого объекта (взять примерно 30 точек). Каждому следующему элементу таблицы соответствует значение на выходе моделируемого объекта.

По оси Х отложено время, по другой оси – значение выхода объекта.

Создать программу, в которой моделируется объект, заданный в таблице. По положительному фронту, поступающему с модуля ввода дискретных сигналов, объект запускается, и выход объекта последовательно считывается из таблицы, записывается в каком-либо регистре и отображается в окне отладчика.

Рисунок переходного процесса:

Таблица данных:

TABL

2,4,5,7,9,11,13,16,18, 20,23,25,26,27,28,30, 31,32,34,35,37,39,41, 42,43,44,44,44,44,44

Принцип обнаружения фронтов:

Сохраняется флаг с предыдущим значением сигнала, затем сравнение.

Текст программы:

00000 LDAA T D64

00001 BEQ N1 00006

00002 CLR F 500

00003 CLR F 501

00004 CLR R 0502

00005 -----------------------------------------

00006 N1 LDAA F 501

00007 SK0

00008 JMP M3 00022

00009 LDAA N I 020

00010 PRS F 500

00011 EORA F 500 ;обнаружение фронта

00012 CMPA # 001

00013 BEQ M1 00016

00014 RST F 500

00015 JMP M2 00036

00016 M1 SET F 501

00017 JSR T TABL ;инит таблицы

00018 STAB R 0505 ;B- общее число

00019 STX R 0503 ;резервирование Х

00020 LDAB # 000

00021 -----------------------------------------

00022 M3 LDAA T D92 ;каждую 1сек. Считывание с табл.

00023 BEQ M2 00036

00024 LDX R 0503

00025 CMPB R 0505 ;проверка на переполнение

00026 SK1

00027 JMP M4 00033

00028 ABX ;получение адреса следующего значения в ТАБЛ

00029 LDAA X 000

00030 STAA R 0502

00031 INCB

00032 JMP M2 00036

00033 M4 CLR F 501

00034 -----------------------------------------

00036 M2 END

Лабораторная работа №6.

Цель работы:

Установить корректно часы. Секунды подать на дискретный выход. Создать программу, которая в определенное время включит двигатель. Двигатель должен проработать 10 сек и выключиться. После этого индикатор должен мигать с частотой 1 сек.

Текст программы:

00000 T00 0010"00 ;сет таймера 10сек.

00001 JSR INIT 00032 ;установка часов.

00002 M1 LDAA R 0981

00003 STAA O 030 ;вывод секунд

00004 LDAA F 500

00005 BNE M2 00019 ;проверка запуска движка

00006 LDAA R 0983

00007 SUBA # $ 02

00008 BNE M3 00031 ;проверка часов запуска

00009 LDAA R 0982

00010 SUBA # $ 00

00011 BNE M3 00031 ;проверка минут запуска

00012 LDAA R 0981

00013 SUBA # $ 05

00014 BNE M3 00031 ;проверка секунд запуска

00015 SET S D00 ;запуск таймера

00016 SET F 500 ;запуск движка

00017 SET O 031

00018 JMP M3 00031

00019 M2 LDAA F 501

00020 SUBA # 000

00021 BNE M4 00029

00022 LDAA T D00

00023 SUBA # 000 ;проверка останов таймера

00024 BEQ M3 00031

00025 SET F 501

00026 CLR O 031

00027 CLR S D00

00028 JMP M3 00031

00029 M4 LDAA T D82

00030 STAA O 032 ;вывод сигнала 1 сек (0,4/0,6)

00031 M3 END

00032 INIT LDAA T D64

00033 BEQ M6 00048

00034 CLR S D86 ;тоже присутствует в MINI

00035 CLR S D85

00036 LDAA # $ 00

00037 -----------------------------------------

00038 STAA R 0980

00039 STAA R 0981

00040 STAA R 0982

00041 STAA R 0984

00042 LDAA # $ 02

00043 STAA R 0983

00044 -----------------------------------------

00045 CLR F 500

00046 CLR F 501

00047 SET S D85

00048 M6 RTS

00049 -----------------------------------------

10