Ok, no hay problemas con el término "amor" creí que el predictivo te había traicionado.😁
En fin, a ver si comprendo.
Utilizas el ADC para leer una señal analógica y de ahí gobernar al TRIAC?
Bien, como dice Eduardo2, debes detectar el cruce por cero, por interrupción si?
Luego, al atender esa interrupción, debes PRESETEAR un temporizador con el valor recogido del ADC, y dicho TMR deberá disparar otra interrupción por desborde. Entonces cuándo se produzca dicha interrupción del temporizador debes disparar al TRIAC. El próximo evento será esperar el cruce por cero, y apagar la señal de disparo del TRIAC.
Y el ciclo se repite.
Cómo dice DOMINUS, sube el código y/o circuito para ver cómo seguir.