Как то надо было следить за переменными по USART на ATMEGA48PA, в результате прочтения даташитов был получен следующий код:
/*
 * UART48.cpp
 *
 * Created: 15.09.2014 19:35:04
 *  Author: Serhiy
 */
#include <avr/io.h>
#define F_CPU 1000000L
#include<util/delay.h>
void MyUartInit()
{
   UBRR0 = 12; //из таблицы в даташите для 9600бод и частоты 1МГц
   UCSR0A|= 1<<U2X0;//из той же таблицы
   UCSR0B|= 1<<TXEN0;//включаем передатчик
}
void printInt(int i)//для вывода чисел 0-99
 {
  if(i<10)
  {
    i+=48;
    UDR0=i;
    while(!(UCSR0B&(1<<TXEN0)))
    {   }
  }
  else if(i<100)
  {
   UDR0=(i/10)+48;
   while(!(UCSR0B&(1<<TXEN0)))
   {   }
 
   UDR0=i-((i/10)*10)+48;
   while(!(UCSR0B&(1<<TXEN0)))
    {   }
  }
 }
int main(void)
{
  MyUartInit();
  
   while(1)
   {
     printInt(87);
     _delay_ms(1000);
   }
}
