Автоматическая система управления объектом

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

°ть:

.Абсолютное время (час, месяц, число, год, минуты, секунды).

2.Дифференцированное или относительное время, которое понимается как интервал времени.

Зная время можно решать задачи:

.Запуск программы в определенный момент или по истечению определенного времени.

2.Циклический запуск программы через определенный промежуток времени.

.Установка времени выполнения подпрограммы.

.Контроль времени выполнения подпрограммы.

 

Взаимодействие УМК с периферийными внешними устройствами

 

Ввод информации с двоичных датчиков.

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

 

 

Процедура ожидания замыкания датчика или контакта

 

Выход на подпрограмму

Рисунок 28. Блок-схема процедуры ожидания замыкания датчика

 

WAITC: JB P1.3,WAITC

_ _ _ _ _ _

Выход на подпрограмму управления

LCALL CONTROL

Состояние контакта определяется командой JB, которая возвращает на метку WAITC, если контакт разомкнут. При замкнутом ключе S переход на подпрограмму.

Процедура ожидания размыкания контакта.

Выполняется по аналогичному алгоритму и реализуется командой JNB/

WAITC: JNB P1.3,WAITC

_ _ _ _ _ _ _ _

выход на подпрограмму управления.

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

 

 

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

WAITC: JB P1.3,WAITC

WAITC: JNB P1.3

Длительность импульса не должна быть меньше времени ожидания в цикле tи > 2 мкс. Если необходимо зафиксировать положительный импульс эти процедуры необходимо поменять местами.

Отметим, что механические контакты имеют свойство - дребезг, т.е. многократное замыкание и размыкание цепи при нажатии. Т.о. нет четкого перехода из одного состояние в другое.

Существуют следующие способы исключения дребезга контактов:

1.Аппаратный.

2.Программный.

Аппаратными способами являются:

1.Использование интегрирующего конденсатора, который ставится параллельно контактору.

 

 

2.Использование триггеров.

 

 

Программными способами являются:

1.Подсчет заданного число совпадений сигналов. Состоит в многократном считывании сигнала. Подсчитывание удачных опросов (которые подтверждают надежное замыкание контактов) ведется программным счетчиком. Если после нескольких удачных опросов встречается неудачный, то подсчет начинается заново. Контакты считаются надежно замкнутыми, если последовательно идет N удачных подсчетов, где N = 5 - 100.

 

вывод

Рисунок 33. Блок-схема алгоритма подсчета заданного числа совпадений сигналов

 

M1: MOV R3,#N - загрузка счетчика

M2: JB P1.3,M1 - начать счет заново

DJNZ R3,M2 - проверка окончания цикла

_ _ _ _ _

вывод

2.Использование временной задержки.

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

 

Рисунок 34. Блок-схема алгоритма использования временной задержки

 

M1: JB P1.3,M1DELAY1

_ _ _ _ _

Выход

Время задержки подбирается экспериментально, иначе tред = 250 мкс

Опрос группы двоичных датчиков.

Иногда в системах управления контроллер связан не с одним, а с группой датчиков, которые могут быть автономными (логически независимыми) внутренне*** взаимосвязанными, т.е. формирующими единый двоичный код.

В первом случае состояние всех датчиков (если они присоединены к одному порту) читается одной командой в виде байта состояния и записывается в АЗУ, в ячейку с битовым доступом, с последующим анализом отдельных битов.

MOV 20H,P120.0, CONTROL120.1, CONTROL2 20.2,.

_ _ _ _ _ _

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

а) Использование команды "исключающее ИЛИ":

M1: MOV A,#CODE - загрузка заданного кода

XRL A,P1 - сравнение заданного кода с полученным

Если совпадают сигналы логической единицы "1", или логического нуля "0", то результатом является "0". В других случаях единица.

 

 

 

____

 

 

б) Сравнение вариантов

M1: MOV A, #CODE

CJNE A,P1,M1

Примечание: Число датчиков не должно превышать восьми.

Опрос матрицы датчиков.

Такая задача возникает, когда число датчиков много больше числа входов контроллера.

Рассмотрим подключении е клавиатуры из 64 контактов, подключенных к УМК в виде матрицы 8х8.

 

P0 - на чтение информации.

P1 - на вывод информации.

 

Сигнал на выходе порта P1 последовательно сканируе