AVR USART sending garbage
This line looks suspicious:


  UCSR0C = (1&lt;&lt;UCSZ01)|(1&lt;&lt;UCSZ00)|(USBS0&lt;&lt;1);


You probably want that to be:

UCSR0C = (1&lt;&lt;UCSZ01)|(1&lt;&lt;UCSZ00)|(1&lt;&lt;USBS0);