Прошу небольшой, ликбез!
Ситуация такая:
Есть МК pic12f1823 нога которого через резистор подключена на УЭ симистора.
На другую ногу подается 4В переменного напряжения для отслеживания нуля.
Насколько я понимаю семистр нужно включать (импульсами достаточными чтоб нарос ток удержания) в момент перехода через ноль, втаком режиме минимально энергопотребление и помехи.
Но на практике происходит следующее: программа работает чудесно до тех пор пока не подключаем симистр, при подключении в программе куска кода управления симистором, сама программ перестает работать как бы зависает!
В симистр включена лампока, если ее меняеш на светодиодную (светодиодная лампа на 220В, с малым потреблением) программа вообще отказывается работать.
Вот мой код.
Код: Выделить всё
if (lamp) { // включаем лампу
while (RA5==1) {} //когда переход через ноль вниз - даем импульс
RA4=1;
i=0; while (i<2)i++;
RA4=0;
while (RA5==0) {} //когда переход через ноль вверх - даем импульс
RA4=1;
i=0; while (i<2)i++;
RA4=0;
}
Что самое удивительное при включении этого кода перестает работать вся программа если отключаеш одну из строчек while (RA5==1) {} программа кое как работает на обычной лампочке, но не светодиодной!!!
Если тупо выдавать на симистр еденицу - все работает! (но вить это не верно!!!!!!!!!)


