Свежие обсуждения
Микроконтроллеры

Еще раз про дребезг при нажатия кнопки

1 2 5

Просто Zandy чего-то недосказал...

 

петр1: Просто Zandy чего-то недосказал...
Ну, если бы я все рассказывал, то это была бы повесть, ну может, новелла...
............
Люди даже по 0.5 сек. обыкновенные кнопки обрабатывают!!! Вот запас, так запас! Если интересно, могу дать ссылку на печатную книгу.

 

Видимо, следует задаться, например, минимальной длительностью нажатия, равной 50 мс. Или пусть даже 10 мс. А всё, что меньше - считать помехами и не обрабатывать. Слишком короткие импульсы ловить тоже плохо - помехоустойчивость пострадает. На антидребезг, ИМХО, достаточно 50-200 мс, можно даже меньше, но за это время желательно опросить кнопку хотя бы 4...8 раз, и если ВСЕ результаты опроса окажутся одинаковы - это и будет означать, что кнопка нажата.
Если есть доступ к запоминающему осциллографу - дык и поиграть полезно с подключенной к нему тестируемой кнопочкой, всё будет видно.

 

Zandy,
а вы действительно чего-то недосказали.
Вы хотите:
1. либо реализовать банальный антидребезг против нервного юзверя (чтобы приравнять его к юзверю нормальному),
2. либо распознать факт присутствия нервного юзверя (с целью его игнорирования)

Оба случая решаются чисто алгоритмически, где время дребезга особого значения не имеет (поскольку это время в несколько раз меньше времени реакции человека).
Только в последнем, 2-м , случае ваш вопрос Каково самое короткое время нажатия на кнопку правомерен. Но, увы, ответ на него неоднозначен....

Если хочется сделать "по-науке" (т.е. вначале все рассчитать, а потом -- реализовать), то лучше всего поступить так, как советует picmaniac -- поиграться с осциллографом (не обязательно запоминающим) -- делов-то на 5 минут ! Хотя, мне кажется, проще подобрать соответствующую константу в процессе отладки устройства.......

 

На секундомере электронных часов нажать Пуск - Стоп, меньше 10 мс практически не получается...

 

А по прерываниям - по изменению состояния в пиках на порту В разве нельзя? Там же аппарато сделано. Если было -то флаг ....

 

Сколько раз в секунду можно нажать кнопку? Более 5 раз в секунду не получится...-))

 

Vlad_Petr: Более 5 раз в секунду не получится...-))
Взял калькулятор, взял часы. Результат 86 нажатий за 10 сек. С учетом того, что в конце частота падает. Без тренировок... Не в расцвете сил...
Может в Гинесс позвонить?

 

Crot2: На секундомере электронных часов нажать Пуск - Стоп, меньше 10 мс практически не получается...
у меня выходило 0,06...0,15 с (часы/секундомер Montana, действующие).

З.Ы. В одной секунде 100 или 1000 мс?

Allex: Взял калькулятор, взял часы. Результат 86 нажатий за 10 сек.
78 нажатий

 

Сергей К: З.Ы. В одной секунде 100 или 1000 мс?

А сколько МИЛИграмм в грамме ? Или МИЛИлитров в литре ?