Dimmer com ATMega

Olá senhores,
Sou novato em AVR e estou tentando implementar um dimmer com TRIAC via ATMega16. Quanto ao circuito está tudo tranquilo. Estou fazendo a detecção de passagem pelo Zero (Zero crossing) através de uma ponte, e obtendo um sinal de 120Hz que, ligado na INT0 do ATMega, gera as interrupções de sincronismo para disparo do TRIAC. O disparo do triac, via optoacoplador MOC3021, estou tentando fazer através do PD5 (OC1A) para poder usar PWM e assim controlar o ângulo de fase.
Pois bem, minha dificuldade está em sincronizar a passagem pelo zero com a geração do PWM através do software. Utilizo o AVR Studio com WinAVR e GCC.
Alguém já fez algo parecido ou tem alguma dica para ajudar?
Valeu!
Sou novato em AVR e estou tentando implementar um dimmer com TRIAC via ATMega16. Quanto ao circuito está tudo tranquilo. Estou fazendo a detecção de passagem pelo Zero (Zero crossing) através de uma ponte, e obtendo um sinal de 120Hz que, ligado na INT0 do ATMega, gera as interrupções de sincronismo para disparo do TRIAC. O disparo do triac, via optoacoplador MOC3021, estou tentando fazer através do PD5 (OC1A) para poder usar PWM e assim controlar o ângulo de fase.
Pois bem, minha dificuldade está em sincronizar a passagem pelo zero com a geração do PWM através do software. Utilizo o AVR Studio com WinAVR e GCC.
Alguém já fez algo parecido ou tem alguma dica para ajudar?
Valeu!