реклама на сайте
подробности

 
 
> Дребезг контактов
Midas
сообщение Jul 1 2007, 11:52
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 25
Регистрация: 24-06-07
Пользователь №: 28 661



Здравствуйте smile.gif подскажите пожалуйста как боротся с дребезгом контактов(словесный алгоритм или пример на СИ)
Всем зарание большое спасибо!
Я использую прерывание по нажатию кнопки(INT2)

Сообщение отредактировал Midas - Jul 1 2007, 12:00
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
el34
сообщение Jul 1 2007, 11:58
Сообщение #2


инженер
****

Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064



обсуждалось многократно - поищите на форуме слова

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

или в гугле
debounce source


--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
Go to the top of the page
 
+Quote Post
LessNik
сообщение Jul 6 2007, 06:29
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118



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



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

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



Если собираешься использовать много кнопок, то ищи метод вертикальных счетчиков
Go to the top of the page
 
+Quote Post
badik
сообщение Jul 6 2007, 07:45
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 29-11-06
Из: Екатеринбург
Пользователь №: 22 890



Я пользую простой метод:

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

badik
Go to the top of the page
 
+Quote Post
nazar duma
сообщение Jul 7 2007, 19:49
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 4-06-07
Пользователь №: 28 172



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

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

что-то файл не прикрепляется.
Прикрепляю сейчас.
Прикрепленные файлы
Прикрепленный файл  KeyBounce.zip ( 813 байт ) Кол-во скачиваний: 86
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 23:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01912 секунд с 7
ELECTRONIX ©2004-2016