Доброго времени суток. Решил в качестве обучения сделать свой простенький контроллер освещения ступеней лестницы. Он будет попроще чем конструкция в блоге (
http://www.getchip.net/posts/105-kontro ... -lestnicy/ ). Во первых он базируеться на Тини2313 (в корпусе SOIC легче паять чем Мегу88), во вторых у него только 2 датчика (для упрощения разварачивания всей конструкции и написания программы). Тоесть он "более тупой", чем конструкция из блога, и предназначен для незаргуженных трафиком лесниц (например на мансардный этаж, или типа того). Ступени подключены к Портам B и D. Датчики к Порту А. В качестве датчиков, я пока (на этапе тестирования на макетке) использую обычные тактовые кнопки с подтяжкой к плюсу питания и прижатием к земле при нажатии. В будущем предусматриваеться использование только цифровых датчиков, так как у Тини2313 нет аналоговых пинов. Датчик освещения планирую прикрепить к выводу ресет, тогда при достаточном уровне освещенности он будет прижимать ресет к земле, и контроллер будет в постоянно сброшен (не работать). При понижении уровня освещенности, датчик будет отпускать ресет и контроллер будет работать в обычном режиме. Так я экономлю ноги контроллера, и мне впритык всего хватает. Програма уже частично написана (занято 29% памяти) и функционирует, я собираюсь только добавить таймер ложного срабатывания (так как датчиков только 2, и я не веду подсчет людей в зоне, то мне надо реализовать такую защиту от бесконечной работы в случае ошибки). Программу на Алгоритм Билдере писал первый раз, до этого немного писал на ассемблере, поэтому возможны неоптимальности в коде. Короче сейчас вылез такой косяк: при срабатывании датчика 1, примерно в 10% случаев лестница ведет себя так, как будто сработал датчик 2 и наоборот. Тоесть эффекты бегут навстречу человеку, и ему надо опять возвращаться и заставлять сработать тот же датчик, чтобы эффект прекратился (такой у меня алгоритм, сработал датчик - идет еффект пока не сработает 2 датчик, прерывания на это время запрещены). Повторяю, в 90 % случаев все ок, и только в 10% (тоесть иногда) возникает такой ляп, в чем может быть дело, помогите. Исходник прилагаю.