Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_i_otvety_MPT.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.94 Mб
Скачать

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

На рис. 24.1,а приведена схема подключения контакта К двоичного датчика к порту P1 микроконтроллера. Если контакт разомкнут, то на линии порта P1.0 присутствует сигнал логической единицы (P1.0 = 1), если контакт замкнут, то P1.0 = 0. Необходимо в некоторой части управляющей программы опросить значение сигнала на линии порта P1.0 и в зависимости от его значения передать управление фрагменту программы с меткой L1 (если P1.0 = 1) или по адресу, отмеченному меткой L2 (при P1.0 = 0).

На рис. 24.1,б приведена БСА программы, реализующей процедуру опроса двоичного датчика. Программа имеет символическое имя INPKEY (ввод ключа), которое используется в качестве метки начальной команды этой программы. Текст программы

INPKEY: JB P1.0, L1 ; Переход на метку L1, если P1.0 = 1,

; иначе выполнение очередной команды

L2: …………….. ; Начало фрагмента 2

…………….

L1: …………….. ; Начало фрагмента 1

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

Ожидание события

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

На рис. 24.2.а приведена схема подключения контакта К датчика к линии 1 порта P1, а на рис. 24.2,б – БСА программы. Программа имеет символическое имя WAIT_0 (ожидание 0-го уровня входного сигнала) и может быть использована основной управляющей программой МК многократно по команде CALL WAIT_0. Из БСА видно, что программа должна постоянно опрашивать значение сигнала на линии P1.1 до тех пор, пока оно не станет равным нулю (контакт датчика события замкнется), и в этом случае продолжить выполнение основной управляющей программы. Если переход к циклу ожидания события из основной программы осуществляется по команде CALL WAIT_0, то возврат в нее из процедуры WAIT_0 должен выполняться по команде RET.

Рис. 24.2. Схема (а) и алгоритм (б) ожидания замыкания контакта

Текст программы ожидания замыкания контакта (ожидание низкого уровня, логического нуля)

WAIT_0: JB P1.1, WAIT_0 ; Ожидание замыкания контакта

EXIT: …. (RET) ……. ; Выход из процедуры (возврат)

Другим частным случаем типовой процедуры ожидания события является ожидание размыкания контакта. На рис. 24.3, а приведена схема подключения нормально-замкнутого контакта К, а на рис. 24.3, б – БСА программы с символическим именем WAIT_1 (ожидание высокого уровня, логической единицы).

Рис. 24.3. Схема (а) и алгоритм (б) ожидания размыкания контакта

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

WAIT_1: JNB P1.2, WAIT_1 ; Цикл ожидания, если P1.2 = 0

EXIT: …..(RET) ……. ; Выход из процедуры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]