vit007 писал(а):собрал внешнюю подтяжку и все правильно заработало, сп Gudd-Head и DX168B
теперь немного о птицах...Код: Выделить всё
sbis PIND, PIND7
rjmp EVENT_00
объясните как работает первая строка... понятно что значение 7 пина вводим, а куда...
в инструкции работы порта на ввод?
потому что так
in temp, PinD - вроде записываем состояние порта в рег.
вроде одно и тоже, но как-то не понятно...
сам sbis, где хранит решение... и вообще сам процесс программы подвисает на ожидание? (хочется сделать "без этого вот этого не будет")
и вот rjmp косвенный (непонятен смысл) переход. всегда его использовал для банального прыжка программы, а тут получается какая-то связь sbis...
"ни чего не понимаю!"
DX168B, если испоьзуем вн. подтяжку порта, то лучше кн. вешать на один порт, а вывод на др. порт, чтоб не нарушать...
Не в обиду будет сказано, но как ламер ламеру поделюсь своим пониманием что такое sbis. как вы понимаете она смотрит определенный бит определенного порта. точнее она проверяет какой уровень на порту (высокийй или низкий). никуда его не закидывает, просто проверяет. Так вот, если бит в порту установлен (лог.1), то следующая команда пропускается), соответственно, если там лог.0, то следующая команда выполняется. вот вам и взаимосвязь со следующей rjmp (хотя это может быть что угодно).
кстати команда sbic это тоже самое, но наоборот: пропускает если лог.0 и выполняет если лог.1
