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

Программные способы борьбы с дребезгом контактов

При использ контактных дат сущ риск появления дреб контактов

В отетственных случаях для формирования бездребезгового сиг примен триггер либо компаратор с гистерезисом.

Программ спос борьбы с дреб контактов

  1. подсчет заданного числа совпадений сиг

  2. применение врем задержки

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

Блок-схема алгоритма такой процедуры

DBNC: MOV R3 , #N

DBNC1: JB P1.3 , DBNC

DJNZ R3 , DBNC1

RETI

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

DBNC: JB P1.3 , DBNC

CALL DELAY

RETI

Подсчет числа импульсов

В многих управляющих программах решается задача представляющая ожидания уставки событий, представленных последовательностью символов от дат. Сущ 2 типовые процедуры 1) подсчет числа импульсов между двумя событиями 2) подсчет числа имп за время

Подсчитать кол-во деталей на конвеере между началом пуска, ключ S-замкнут и окончанием, ключ S-разомкнут. Детали подсчитываются с помощью фотоэлектронного дат , присоединенного к входу таймера Т0. Сост ключа анализируется по входу Р1,3.

MOV TMOD , #00000100

MOV TH0 , #0

WAIT0: JB P1.3 , WAIT0

SETB TR0

WAITC: JNB P1.3 , WAITC

CLR TR0

MOV A , TH0

Если ТС устанолен на фунц таумер , то резул счета будет определять длит приода между двумя собятиями. Для Эл.мех сист такая задача решается для опред периода частоты вращ вала.

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

  1. прогр реализ врем интервала и подсчета числа имп

  2. прогр реализ врем интервала и аппаратный счет имп с помощью Т/С

  3. прогр реализ врем интервала и прогр подсчет имп

  4. прогр реализ врем интервала и аппаратный подсчет

  1. неэффективен

  2. 3- альтернативн и прим в простых контроллерах с одним таймером

  3. самый эффективный

ограниением для аппаратного способа явл скорость счета таймера кот зав от частоты шины данных МК, для МК51 длительность имп при счете =1мкс, для увелич длит аппаратных задержек осущ повторным запуск таймера с контролем числа включений. Расм пример (подсчет кол-ва имп за заданный интервал врем)

MOV R0 , #HIGI TIME

MOV R1 , #LOW TIME

MOV TMOD , #01010001B ;– настройка Т/С0-таймер, Т/С1-счетчик режим1

CLR A

MOV TH1 , #0

MOV TL1 , #0

MOV TH1 , R0

MOV TL1 , R1

MOV TCON , #50H ;– запуск таймеров и счетчиков

WAIT: JBC TF0 , EXIT

SJMP WAIT

EXIT: CLR TR0

CLR TR1

Во многих случаях контроллер связан не с одним датчиком ,а с группой автономных дат (логически не зависимые или взаимосвязанные , формирующие единый двоичный код ), при этом МК выполняет процедуру опроса дат и передает управление. Сравнение принятого кода с заданным может осуществляться операцией искл или , либо спец командой сравнения двух величин (CJNE).

MOV A , # CODE ; запись заданного кода

WAIT: CJNE A , P1 , WAIT ; сравнение кода с числом Р1