Die Modulation der Lichtschranke durch den µC zu machen ist eigentlich keine Schlechte Idee, und auch nicht so kompliziert. Einen PLL in Software braucht man dazu auch gar nicht. Es genügt eine Modulation der LED und ein einlesen des Signals vom Fototransistor über den AD wandler.
Jeweils Abwechslend für 1 oder 2 Wandlungen die LED einschalten und dann die Differenz der werte des AD wandlers messen. Für mehr unterdrückung ggf. noch die hauptsächliche Störfrequenz von 100 Hzachten.