[an error occurred while processing this directive] [an error occurred while processing this directive]
Пример
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено edrebol 10 апреля 2002 г. 06:45
В ответ на: Подскажите пожалуйста, как бороться с дребезгом клавиш, может у кого есть готовая программа на С? отправлено Shuric 09 апреля 2002 г. 08:43

Мне кажется, что после того как поймали "нажатие", нужно ждать когда время "отпускания" кнопки превысит какое-то значение. Всегда так делал.... никогда проблем не было:

movlw d'0'
subwf WAIT,Z
btfsc STATUS,Z
btfsc In_1
goto Pres_1

bsf Flag_1 ; Признак нажатия кнопки. После обработки нажатия необходимо сбросить
movlw d'100' ; Задержка, в зависимости от частоты опроса
movwf WAIT
Pres_1

btfss In_1
goto Pres_2 ; Если кнопка отпущена
movlw d'0' ; то уменьшаем WAIT
subwf WAIT,Z ; вплоть до 0
btfss STATUS,Z
decf WAIT,F
Pres_2

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru