The Morse code generation simply starts/stops the sine wave. This results in audible clicks. The sine wave pulses should be shaped to reduce them.
A common way is to use a sine to shape the starts and ends of each dit/dah.
The ATmega48 appears to have the MUL family of instructions, so it shouldn't be too expensive to do a second wave table lookup and multiply the two together.