Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.07.2008, 13:51
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
Дребезг контактов
Привет Всем!
Приведите пожалуйста листинг на асм против дребезга контактов.Смысл его не втом ли, что необходимо после опроса состояния кнопки установить задержку на время цикла дребезга(вот только какое ето время?)?
|
|
|
|
24.07.2008, 13:55
|
|
Гражданин KAZUS.RU
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
|
Опрашивай кнопку два раза с задержкой гдето 300-400 мс, если состояние пина нулевое, то кнопка активирована.
|
|
|
|
24.07.2008, 16:01
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
вы имели ввиду что опрос состояния кнопки должен производиться не раннее чем через 300мс?
И еще:
-Что если в тексте программы у меня разрешены несколько видов прерываний, и в момент сработки одного из прерываний(1-е прерывание)и переходом на подпрограмму обработки прерывания происходит 2-е прерывание уже друго типа(например переполнеение ТМR0)?
Мои варианты:
1)если конечно такое возможно; то в случае, если прерывания разрешены внутри подпрограммы прерывания, то следующее прерывание произойдет,если нет то нет.
|
|
|
|
24.07.2008, 16:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Во время обработки прерывания ВЕЗДЕ работа другого прерывания запрещена. Если сработает второе прерывание, то взовьется его флаг (взвейтесь, соколы, орлами)и усе. Исключения могут быть при обработке 2 - х уровневых прерываний, но...это рассматривать не будем.
|
|
|
|
25.07.2008, 00:51
|
|
Прописка
Регистрация: 01.11.2006
Сообщений: 199
Сказал спасибо: 0
Сказали Спасибо 15 раз(а) в 13 сообщении(ях)
|
Re: Дребезг контактов
Сообщение от Boris_Britva
|
Привет Всем!
Приведите пожалуйста листинг на асм против дребезга контактов.Смысл его не втом ли, что необходимо после опроса состояния кнопки установить задержку на время цикла дребезга(вот только какое ето время?)?
|
Помеха от срабатывания, например, контакторов иногда превышает дребезг контактов. Способ борьбы - набивание счетчика за время большее (раза в ~3) чем продолительность помехи и затем, по результату анализа счетчика, - принятие решения.
|
|
|
|
25.07.2008, 05:47
|
|
Частый гость
Регистрация: 03.06.2005
Сообщений: 44
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Вот несколько вариантов:
1 При изменении состояния кнопки ждать пока оно не вернется в исходное.
2 Давить дребезг на аппаратном уровне (например при помощи триггера).
3 Использовать кнопки не дающие дребезга (например основанные на оптопаре).
|
|
|
|
25.07.2008, 08:17
|
|
Прописка
Регистрация: 10.04.2008
Адрес: Тольятти
Сообщений: 241
Сказал спасибо: 1,414
Сказали Спасибо 83 раз(а) в 39 сообщении(ях)
|
Re: Дребезг контактов
Сообщение от Boris_Britva
|
Привет Всем!
Приведите пожалуйста листинг на асм против дребезга контактов.Смысл его не втом ли, что необходимо после опроса состояния кнопки установить задержку на время цикла дребезга(вот только какое ето время?)?
|
Я делаю так - вдвигаю бит порта, на котором кнопка, в регистр с частотой опроса кнопки, а в основном цикле программы проверяю регистр на 0 или 0xFF - нажата/не нажата. Получается просто, дешево и надежно. Надо только правильно частоту опроса выбрать. У меня обычно 20-30 миллисекунд - хватает, чтобы оперативно подавить дребезг и не опоздать на быстрое нажатие/отпускание кнопки.
|
|
|
|
25.07.2008, 09:13
|
|
Вид на жительство
Регистрация: 02.02.2006
Сообщений: 472
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 10 сообщении(ях)
|
Не совсем по теме,но очень близко к ней
https://kazus.ru/articles/350.html
__________________
Наука умеет много гитик!
|
|
|
|
25.07.2008, 11:17
|
|
Временная регистрация
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
|
действительно не по теме)Ведь имея микроконтроллер нужно постараться обойтись без всяких других вспомогательных устройчтв,как можно выгоднее задействовав мощ МК
|
|
|
|
25.07.2008, 13:57
|
|
Вид на жительство
Регистрация: 02.02.2006
Сообщений: 472
Сказал спасибо: 2
Сказали Спасибо 12 раз(а) в 10 сообщении(ях)
|
Сообщение от Boris_Britva
|
действительно не по теме)Ведь имея микроконтроллер нужно постараться обойтись без всяких других вспомогательных устройчтв,как можно выгоднее задействовав мощ МК
|
Имелось ввиду,что в статье есть блок-схема и времена,необходимые,по их,компетентному,мнению для устранения дребезга.Кто мешает реализовать это на МК.
__________________
Наука умеет много гитик!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:51.
|
|