[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Мне кажется, что после того как поймали "нажатие", нужно ждать когда время "отпускания" кнопки превысит какое-то значение. Всегда так делал.... никогда проблем не было:
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