
- •1 Инструкция по технике безопастности
- •2 Методические указания по оформлению отчета к лабораторной работе
- •3 Лабораторная работа №4
- •3.1 Краткие теоретические сведения
- •3.1.1 Опрос двоичного датчика
- •3. 1. 2 Ожидание события
- •3.1.3 Ожидание импульсного сигнала.
- •3.1.4 Выделение и обработка отдельных бит информации
- •3.1.5 Формирование управляющего сигнала
- •3.1.6 Вывод управляющего слова на группу автономных устройств.
- •3. 1. 7 Формирование временной задержки малой длительности
- •3.1.8 Формирование последовательности импульсных сигналов с изменяемой длительностью и скважностью.
- •3.2 Задание на дом.
- •3.3 Контрольные вопросы
- •4 Краткие теоретические сведения
- •4.1 Цифровые индикаторы
- •4.2 Клавиатура
- •4.3 Мультиплексный режим работы цифрового индикатора
- •4.4 Сканирование клавиатуры и программное определение номера нажатой клавиши
- •4.5 Подпрограмма определения кода засветки Второй цифры в номере клавиши
- •4.6 Подпрограмма определения кода засветки первой цифры в номере клавиши
- •Программа, написанная в соответствии с алгоритмом, изображенным на рис.17, имеет вид (табл. 25):
- •4.7 Подпрограмма засветки индикаторов в мультиплексном режиме
- •4.8 Задание для домашней подготовки
- •Порядок выполнения работы
- •6 Контрольные вопросы
- •Литература
- •Содержание
- •2 Методические указания по оформлению отчета к лабораторной работе 1
- •3 Лабораторная работа №4 2
- •4 Лабораторная работа №5 24
3. 1. 2 Ожидание события
Все контроллеры работают в реальном масштабе времени и, следовательно, их функционирование должно определяться событиями, происходящими в объекте или в процессе управления. Чаще всего события в среде обитания контроллеров фиксируются с использованием двоичных датчиков, например: замыкание или размыкание путевого переключателя при позиционировании объекта управления.
Пусть требуется по ходу выполнения управляющей программы приостановить ее до тех пор, пока в результате процессов, происходящих в объекте управления не замкнется контакт К некоторого двоичного датчика .
Рисунок 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 |
возврат в "монитор" |