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

5.2.6 Типовые процедуры вывода данных

Формирование статического и импульсного управляющих сиг­налов выхода. К МП-контроллеру через выход D1 порта вывода 3 подключен исполнительный механизм, работающий по принципу включить/выключить. Программа формирования управляющего сиг­нала состоит из двух команд:

1)- включение исполнительного механизма:

ON:

MVI A, 02H

загрузка в аккумулятор

кода 00000010

OUT ОЗН

выдача управляющего байта в порт 3

2)- выключение исполнительного механизма:

OFF:

XRA А

; обнуление аккумулятора

OUT ОЗН

; выдача байта в порт 3

Выдача управляющего импульсного воздействия реализуется последовательным выполнением программ включения, временной за­держкой и отключением по программе:

UPDOUN:

MVI A, 04H

; формирование D2==1

OUT ОЗН

;вывод в порт 3

CALL DELAY

XRI A,04H

; инвертирование D2

OUT ОЗХ

;вывод в порт 3

Управляющее слово «включить» задается командой загрузки в аккумулятор непосредственного операнда (MVI), а команду «отключить» удобно

не загружать в аккумулятор, а формировать из предыдущего УС инвертированием соответствующего бита (XRI). Эту программу можно применять для управления группой станков. Длительность импульсного управляющего воздействия определяется временем выполнения вызываемой подпрограммы задержки DELAY.

Вывод УС на группу автономных - исполнительных механизмов. В случае, когда к нескольким выводам одного выходного порта МП-контроллера подсоединено несколько автономных станков, формируется не двоичное управляющее воздействие, а УС, имеющее формат байта, каждому разряду которого ставится в соответствие 1 или 0 в зависимости от того, какие исполнительные механизмы должны быть включены, а какие выключены. По командам логических операций формируются УС. Команда ANI применяется для сброса тех бит УС – которые в операнде (маске) заданы 0. Команда ORI применяется для установки в 1 определенный бит по маске и для упаковки УС. Командой XRI осуществляется инверсия отдельных бит УС (в соответствии с выражением 1+Х=Х), а также обнуление выходного порта (Х+Х=0). Примеры формирования УС, когда выходной порт МП-контроллера работает на группу станков (ДО...Л7), которые при­соединены к выходам (ДО...Д7) порта вывода 1. Для всех примеров программы, если это не оговаривается особо, будем считать, что копия последнего УС сохраняется в аккумуляторе МП.

Задача 1. Отключить станки LO, L5 и L7, не изменяя состояния остальных, управляемых из порта 1.

ANI

5EH

; установка в нуль Do, D5, Д7

; без изменения остальных бит

OUT

01Н

; выдача УС в порт 1

Задача 2. Включить станки L2, L3 и L4, не изменяя состояния остальных.

ORI

ICH

; наложение маски 00011100

OUT

01H

; выдача УС в порт 1

Задача 3. Выдать УС на станки. Управляющий байт для LO ... L3 хранится в младшей тетраде регистра В, а для L4 ... L7 в старшей тетраде регистра С.

MVI

A,O FH

; загрузка в А маски 00001111

ANA

В

; маскирование В

MOV

В, А

; сохранение в регистре В кода ООООХХХХ

MOV

А, С

ANI

OFO H

; наложение маски 11110000

ORA

В

; склеивание тетрад,

; т.е. формирование УС

OUT

01H

; выдача УС

Задача 4. Реализовать пульсирующую индикацию на выходе D5, не изменяя состояния остальных.

LOOP:

XRI

20H

; наложение маски 00100000

OUT

01H

; выдача УС в порт 1

CALL

DELA Y

JMP

LOOP

Командой CALL DELAY осуществляется вызов программы временной задержки необходимой длительности.

Формирование последовательности импульсных сигналов с изменяемыми длительностью и скважностью. Программное формирование последовательностей импульсных сигналов выполняют чередованием подпрограмм выдачи изменяемого значения (0 или 1) сигнала и параметризуемых подпрограмм временных задержек.