Сорри за тормознутую реакцию - времени совсем нет
Быстренько просмотрел код. В принципе все работать будет, но несколько мелких замечаний:
Согласен насчет маски 0x07 - надо еще сделать dec либо дописать 8 return-ов. А так обрезать таблицы не совсем корректно. Что если придем в процедуру с некорректным значением?
Вот это:
Код:
|
btfss KbdN,0 ; и смотрим, что с ней произошло
;call BtnRelease ; отпустилась
btfsc KbdN,0 ; или
call BtnPress ; нажалась |
чтоб враги не разобрались
![Улыбка](images/smilies/icon_smile.gif)
) работать будет, но я бы закомментил и
btfss KbdN,0 для красоты.
И о главном: задержки в 1000 раз больше, чем надо. Они там вводились для рассасывания паразитных токов в паразитных емкостях. 50 мкс - выше крыши!!! А так повиснем навсегда в прерывании. и так процедура не коротенькая!
А так в принципе все ОК!
Ну и для жителей форума, которые работают на асме, маленький подарок: набор макросов для организации задержек см в аттаче.
Прикрепленный файл:
5712773.zip