Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦСУ_КОНСПЕКТ_М1_2013.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
11.51 Mб
Скачать

3 Методы программного управления автоматикой

При управлении простыми процессами, например, автоматическими циклами, а также при анализе состояний с небольшим количеством переменных (3...8) целесообразно применение асинхронных автоматов. При этом функции управления могут иметь разные способы представления: булевые выражения, таблицы истинности, переключательные или комбинационные логические схемы, карты Карно, диаграммы Вейча, графы и т.д. Исходные сигналы автомата могут быть однобитными или многобитными.

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

3.1 Применение метода маскирования

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

Пусть .

Представим функцию в виде: ,

где Y1(x)=(–000– 1-1); Y2(x)=(–––– 110).

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

[x8 x7 x6 x5 x4 x3 x2 x1].

Поместим Y1(x) и Y2(x) в соседние ячейки памяти и подготовим маски для анализа вводимой информации.

Первая маска G должна закрыть все переменные, которые не несут условий:

  • для Y1(x) G1=(01110101)=75Н;

  • для Y2(x) G2=(00001110)=0СН.

Вторая маска (гамма) должна выделить единичные значения в Y.

Маски размещаются в памяти попарно:G1, 1, G2, 2.

Программная реализация автомата заключается в том, что на входной набор накладывается маска G1 с помощью операции ANI G1, а потом маска 1 операцией XRI 1. Если входной набор удовлетворяет условиям Y1(x), то в регистре флагов F микропроцессора устанавливается бит z=1 (нулевой результат) и осуществляется вывод значения функции F=1. Если условия не удовлетворены (z=0), то на входной набор накладывается другая пара масок Γ2 и G2 и проверяется условие z =1.

Функция может содержать несколько операций ИЛИ. Пусть, например, функция содержит две операции ИЛИ:

.

В этом случае потребуется представить ее в виде и получить три пары масок.

Для удобства выборки из памяти маски записываются попарно и последовательно: G1, Γ 1, G2 Γ 2,…Gn.... Γn.

Достоинство метода - программа универсальная, так как при изменении функции достаточно изменить маски.

Недостаток метода - при большом числе переменных и конъюнкций значительно увеличивается количество масок.

3.2 Метод бинарных программ (разложение в ряд Шеннона)

Метод бинарных программ основан на поочередном анализе каждой переменной. Результатом анализа является бинарное дерево решений. Для проведения анализа используются команды условных переходов. Наиболее удобно применение команд, связанных с анализом переносов, например, RRC – сдвиг вправо через бит переноса. Переменная, которая поступает в бит переноса С, подвергается бинарному анализу - определению значения 0 или 1. В зависимости от результата алгоритм разветвляется в двух направлениях, образуя логику решения.

Рассмотрим пример построения блок-схемы алгоритма анализа булевой функции, которые зависит от четырех переменных – x, y, z, w:

Пусть .

Анализ функции позволяет сделать вывод о том, что переменная во втором слагаемом не анализируется. В связи с этим принимаем следующий порядок анализа:

Здесь сначала анализируется x, потом y, дальше w и z.

Построим блок-схему алгоритма анализа логической функции в виде дерева решений. Для построения блок-схемы используем операции сдвига, и операцию анализа состояния бита переноса , которую обозначим на схеме цифрой 1. Схема алгоритма приведена на рисунке 3.1.

Рисунок 3.1 - Блок-схема алгоритма программной реализации логической функции

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