Quote (Dmitry)
Цикл, в цикле опрашиваем ногу
Прерывание по переходу из 0 в 1
Quote (Dmitry)
наращиваем переменную-счетчик
Таймер-счетчик сам работает
Quote (Dmitry)
Нога сработала (зуб пришел) - значение счетчика переписываем в доп. переменную, счетчик сбрасываем.
Quote (brown)
Timer1=TMR0
Сброс TMR0=0
Timer2=Timer1
Quote (Dmitry)
И в этом же цикле условие - если счетчик превышает доп. переменную (т.е. предыдущее значение счетчика) более чем в 1,5 раза,то все - это дырка в зубьях.
Quote (brown)
IF Timer1>Timer2*2 Then Nimp=1 ; прерывание вызвано 1-м импульсом
Quote (Dmitry)
Ну не упадут обороты более чем в 1,5 раза за время интервала между зубьями
Я тоже так подумал Итог: теже яйца не много с другого бока! Ну и просили с прерываниями.