Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ методичка исправл длин прилож.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
981.5 Кб
Скачать

3. 1. 2 Ожидание события

Все контроллеры работают в реальном масштабе времени и, следовательно, их функционирование должно определяться событиями, происходящими в объекте или в процессе управления. Чаще всего события в среде обитания контроллеров фиксируются с использованием двоичных датчиков, например: замыкание или размыкание путевого переключателя при позиционировании объекта управления.

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

На рис. 3 показана схема алгоритма такого опроса и подключение датчика к порту.

Рисунок 3 - Схема (а) и алгоритм ожидания события (б)

Из схемы алгоритма видно, что программа должна постоянно опрашивать значение сигнала на входе D6 порта 2 до тех пор, пока она не станет равным нулю (контакт датчика события будет замкнут), и в этом случае продолжить выполнение основной управляющей программы. Фрагмент программного опроса следующий (табл.3):

Таблица 3

Адрес

Код

Метка

Мнемокод

Комментарий

HUNT:

IN PORT2

ввод в аккумулятор из

порта 2

ANI 40H

маскирование всех,

разрядов кроме 6

JNZ HUNT

если D6=1 переход в цикл ожидания на метку HUNT

MVI A

иначе выполнить следующую команду

Пример:

В отличие от предыдущей программы данная программа (табл.4) после запуска высвечивает цифру "0" на индикаторе. Эта цифра будет светиться до тех пор, пока пользователь не нажмет клавишу "А", после чего на том же индикаторе высветится цифра "1". Она будет гореть ровно столько, чтобы человеческий глаз успел её рассмотреть. После чего программа прекратит свою работу.

Таблица 4

Адрес

Код

Метка

Мнемокод

Комментарий

0820

2E 3F

HUNT:

MVI L, 3FH

код цифры "0" поместить

в регистр L

0822

CD 90 08

CALL LIGHT

высветить на

индикаторе "0"

0825

DF FA

HUNT1:

IN FAH

чтение порта клавиатуры

0827

E6 20

ANI 20H

маскирование всех

разрядов кроме D5

(00100000B - 20H)

0829

C2 25 08

JNZ HUNT1

переход в цикл ожидания, если D5=0

082C

2E 06

MVI L, 06H

иначе высветить число "1"

082E

CD A9 08

CALL L&P

на индикаторе

0831

FF

RST

возврат в "монитор"