Пояснение: ножка контроллера аналогична D-триггеру на моей схеме: как ножка контрооллера с определенной частотой опрашивается в программном цикле, так и триггер тактовым генератором G_KF "опрашивает" состояние своего входа D1, функция
Код
Pf = ~Pi
реализуется тем что мы берем с триггера инвертированный сигнал trig_neg. Если не вдаваться в интегралы и сложные формулы, то по простому данная схема - есть "цифровой операционный усилитель" включенный по схеме инвертирующего усилителя, где отрицательная обратная связь получается за счет фильтрации импульсного сигнала RC цепочкой. Получаемый цифровой сигнал (импульсы различной длительности на trig_out) -если его отфильтровать (выход out) -повторяет с некоторой точностью входной сигнал. Это же значение можно получить так: если за 1000 тактов выход trig_pos находился в состоянии "1" 400 раз, то напряжение на выходе out (а значит и на измеряемом входе) равно 400/1000*5 = 2 В (5 это Vmax-Vmin). В контроллере же это делается просто -в цикле от 1 до 1000 считаем сколько раз входная ножка была в "единице", потом делим на 1000 и умножаем на 5 (или проще говоря на напряжение питания контроллера).