AVR Atmega8 USART and ADC and PWM
Never ever write or read from a UART from within an interrupt handler. I assume the following happens:


Interrupt occurs because a new value is available
You start writing to the UART
A new interrupt occurs
The write to the UART is done, the interrupt has already been triggered and again you are in the interrupt routine.
Therefore your main loop will starve to death


What you should do:


If your Atmega has a hardware PWM, use that one to generate the PWM signal
In your interrupt routine, only set a flag that new data is available (store that in some variable) and write that data only in the main routine out to your UART