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

3.1.1 Опрос двоичного датчика

На рис.2 показана схема подключения контакта двоичного датчика к входному порту МП - контроллера и схема алгоритма его опроса.

Рисунок 2 - Схема (а) и алгоритм (б) опроса двоичного датчика

Если контакт разомкнут, то на входе D2 присутствует сигнал 1, если он замкнут, то D2=0.

Необходимо в некоторой части управляющей программы контроллера опросить значение сигнала на входе D2 порта 2 и в зависимости от его значения передать управление на метку LAB1 или LAB2.

Фрагмент программы такого опроса следующий (табл.1):

Таблица 1

Адрес

Код

Метка

Мнемокод

Комментарий

INPKEY:

IN PORT2

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

ANI 04H

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

разрядов, кроме D2

JNZ LAB2

если D2 = 0, переход

по LAB2

LAB1:

иначе переход по LAB1

LAB2:

Пример:

Рассмотрим программу (табл.2), которая реагирует на нажатие клавиши "РГ" на клавиатуре учебного микропроцессорного комплекта (УМК). В данной программе именно эта клавиша играет роль датчика, который и опрашивается приведенной ниже программой. Поскольку опрос двоичного датчика не предполагает ожидания нажатия клавиши, т.е. если пользователь не успел нажать клавишу, то программа будет считать, что датчик был разомкнут. На практике в любом случае нельзя успеть нажать на эту клавишу. С этой целью в программе предусмотрена задержка. Подпрограмма задержки приведена в приложении.

Если клавиша нажата, то на первом индикаторе зажигается цифра "1", иначе - "0". Отсчет индикаторов начинается справа, крайний правый индикатор имеет порядковый номер - 0, крайний левый - 5.

Таблица 2

Адрес

Код

Метка

Мнемокод

Комментарий

0800

0E 2F

MVI C, 2FH

поместить в регистр С количество циклов

задержки

0802

CD A0 08

CALL PAUSE

вызов задержки, за время которой пользователю предлагается нажать

клавишу "РГ"

0805

DB FA

INKEY:

IN FAH

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

0807

E6 10

ANI 10H

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

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

D4 (10000000 B - 10H)

0809

C2 14 08

JNZ LAB1

переход по LAB1, если

клавиша РГ нажата

080C

2E 06

LAB2:

MVI L, 06Н

иначе код цифры "1" поместить в регистр L

080E

CD A9 08

CALL L&P

высветить на

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

0811

C3 19 08

JMP END

завершить программу

0814

2E 3F

LAB1:

MVI L, 3FH

код цифры "0"

поместить в регистр L

0816

CD A9 08

CALL L&P

высветить на

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

0819

FF

END:

RST

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