АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Устранение дребезга контактов

Читайте также:
  1. Диагностика и устранение неисправностей
  2. Создание копии списка контактов
  3. Устранение неисправностей, выявляемых при загрузке Windows
  4. Устранение низкочастотных вибраций.
  5. Физическое устранение бездомных собак

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

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

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

Временная задержка (в пределах 1-20 мс) подбирается экспериментально для каждого типа датчиков и реализуется подпрограммой DELAY.

 

WAITC: JB P1.3, WAITC;ожидание замыкания контакта датчика

ACALL DELAY;вызов подпрограммы задержки

JB P1.3, WAITC;повторная проверка на замыкание контакта

 

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

В случае ожидания импульсного сигнала с учетом подавления переходного процесса программа будет выглядеть:

 

WAITC: JB P1.3, WAITC;ожидание замыкания контакта датчика

ACALL DELAY;вызов подпрограммы задержки

JB P1.3, WAITC;повторная проверка на замыкание контакта

WAITO: JNB P1.3, WAITO;ожидание размыкания контакта датчика

ACALL DELAY;вызов подпрограммы задержки

JNB P1.3, WAITO;повторная проверка размыкания контакта

 

 


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.)