Problemas con Registro OCR1A

surbyte:
No sabemos como estan los pines conectados, si PIND tiene algun bit en 1, esto

 if(PIND==0x04)

jamas se cumplirá.

Deberías enmascararlo

Registro PIND para que sea igual a 0x04, tendría que SOLO el pin 2 estar en estado alto. Lo mismo con 0x08, excepto que ahí se refiere al pin 3. "Enmascararlo" vendría siendo algo como:

if (PIND & 0x04)