Программирование типовых процедур управления и контроля в МП-системе с МП ВМ80: ожидание события, опрос двоичного датчика, формирование управляющего сигнала, формирование временных интервалов

Страницы работы

Содержание работы

33.Программирование типовых процедур управления и контроля в МП-системе с МП ВМ80: ожидание события, опрос двоичного датчика, формирование управляющего сигнала, формирование временных интервалов.

Ожидание события – это ожидание изменения сигнала от датчика. Программа зацикливается, пока не пройдёт изменение. Вариант 1: ожидание перехода сигнала, т.е. изменение из 0 в 1 или наоборот; вариант 2: ожидание импульсного сигнала, например в предыжущем примере происходит ожидание низкого уровня:


Wait_L: in port

Ani 00000010B

Jnz Wait_L

Ret



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

Ожидание положительного импульса:

Wait_H: in port

Ani 00000010B

Jz Wait_H

Wait_L: in port

Ani 00000010B

Jnz Wait_L

ret

Ожидание отрицательного импульса. Выполняется аналогично, Wait-ы меняются местами. В данной программе существует ограничение на длительность импульса >10 мс. Если короче – то ставят триггер. При опросе контактных датчиков возникает явление называемое дребезгом контактов. Чем легче контакт тем больше дребезг. Время дребезга зависит от контактов 2..5 мс. Бороться с дребезгом можно аппаратными методами. Для этого используют либо RS триггеры, либо триггеры Шмидта.


Программно: а) подсчет числа многократных переходов дребезга; б) При срабатывании контакта выполнение программы задерживается на время большее, чем время дребезга. tЗД> tДР. После задержки данные поступают от контакта датчика к МП. tЗД=10¸20 мс. для герконовых переключателей.

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




Opros:   in port

Ani 00000010b

Jnz met1

Met2:    …..

Met1:    …..


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



VKL:     mvi a,00000010b

Out port

….

OTKL:   mvi a,00h

Out port


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


Mvi a,02h

Out port               вывод D1=1

Sta mem               запоминание сост. порта в яч. mem

…                         вывод 1 в разряд D4

lda mem               чтение состоян. выходов порта

ori 00010000b

out port                вывод D4=1

sta mem               запоминание сост-я выходов

…                         вывод D4 в 0

lda mem               чтение сост. выходов

ani 11101111b

out port                вывод D4=0

sta mem

…                         инвертирование D4


lda mem

xri 00010000b

out port                инверсия D4

sta mem


Порт вывод. Посл. Порт. А

КР580ВВ55А

in p a     чтение состоян.

выходов порта PA           ori 00000010b

out  PA  вывод D1=1


Одиночные импульсы:

      

Impuls:  mvi a,02h

Out port

Call delay            задержка

Mvi a,00h

Out port


Периодические последовательности импульсов.

meandr: mve a,02h

out port

call delay

xra a

out port

call delay

jmp meandr.

Meandr: xri a,02h

Out port

Call delay

jmp meandr.


Формирование временных задержек осуществляется аппаратно (с помощью таймеров) и программно. Программный метод заключается в том, что определенные участки программы выполняются многократно. Недостаток программного метода при формировании временных задержек МП полностью отключается от управления и контроля. Поэтому этот метод эффективен при коротких задержках. Для формирования задержек большой длительности используют таймеры, в частности КР580ВИ53.

Похожие материалы

Информация о работе