Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Дребезг контактов
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Midas
Здравствуйте smile.gif подскажите пожалуйста как боротся с дребезгом контактов(словесный алгоритм или пример на СИ)
Всем зарание большое спасибо!
Я использую прерывание по нажатию кнопки(INT2)
el34
обсуждалось многократно - поищите на форуме слова

debounce
дребезг
опрос

или в гугле
debounce source
LessNik
Цитата(Midas @ Jul 1 2007, 15:52) *
Здравствуйте smile.gif подскажите пожалуйста как боротся с дребезгом контактов(словесный алгоритм или пример на СИ)
Всем зарание большое спасибо!
Я использую прерывание по нажатию кнопки(INT2)



Если собираешься использовать много кнопок, то ищи метод вертикальных счетчиков

Цитата(Midas @ Jul 1 2007, 15:52) *
Здравствуйте smile.gif подскажите пожалуйста как боротся с дребезгом контактов(словесный алгоритм или пример на СИ)
Всем зарание большое спасибо!
Я использую прерывание по нажатию кнопки(INT2)



Если собираешься использовать много кнопок, то ищи метод вертикальных счетчиков
badik
Я пользую простой метод:

// Обработка прерывания - Клавиатура
NewKey=0;
for (i=0;i<200;i++) DelayUs(200); - задержка n*200мкс, выбрать по вкусу.
Затем читаю новое NewKey

badik
nazar duma
Здравствуйте.
Познакомьтесь с книгой Левенталя. Если мне память не изменяет "Программирование микроконтроллеров". Год издания 1985 или 1986.
Суть метода состоит в том, что процессор считает число проходов через нажатую клавишу.
Левенталь определяет число проходов равное 63 ( для удобства программирования ).
Если счетчик набрал 63 прохода, то значит клавиша нажата. Если нет, то система считает что идет дребезг.

В прикрепленном файле этот алгоритм реализован для 4 кнопок. Посмотрите. Если есто вопросы пишите.

что-то файл не прикрепляется.
Прикрепляю сейчас.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.