
 #define FOSC 16000000 
 #define F_CPU FOSC
 #define BAUD 9600
 #define MYUBRR FOSC/16/BAUD-1
 
 #include <avr/io.h>
 #include <util//delay.h>
 
 void USART_Init ( unsigned int ubrr)
 {
	 UBRR0H = (unsigned char)(ubrr>>8);
	 UBRR0L = (unsigned char)ubrr;
	 UCSR0B = (1<<RXEN0)|(1<<TXEN0);
	 UCSR0C = (3<<UCSZ00);
}

 unsigned char USART_Receive (void) //Empfang
 {
	 while ( !(UCSR0A & (1<<RXC0)));
	 return UDR0;
 }

 void USART_Transmit( unsigned char data )
 {
	 while ( !( UCSR0A & (1<<UDRE0)) )
	 ;
	 UDR0 = data;	 
 }

 int main(void)
 {
	 USART_Init (MYUBRR);
	 unsigned data=0;
	 unsigned line=1;
	 USART_Transmit(13);
	 USART_Transmit(10);
	 while(1)
	 {		 
		 USART_Transmit('A'+data);
		 data++;
		 if (data == 26)
		 {
			 USART_Transmit(13);
			 USART_Transmit(10);
				USART_Transmit(49-!(line & (1<<7)));
				USART_Transmit(49-!(line & (1<<6)));
				USART_Transmit(49-!(line & (1<<5)));
				USART_Transmit(49-!(line & (1<<4)));
				USART_Transmit(49-!(line & (1<<3)));
				USART_Transmit(49-!(line & (1<<2)));
				USART_Transmit(49-!(line & (1<<1)));
				USART_Transmit(49-!(line & (1<<0)));
			//line & (1<<7)?'1':'0'
			//USART_Transmit(line & (1<<7)?'1':'0');
			//USART_Transmit(line & (1<<6)?'1':'0');
			//USART_Transmit(line & (1<<5)?'1':'0');
			//USART_Transmit(line & (1<<4)?'1':'0');
			//USART_Transmit(line & (1<<3)?'1':'0');
			//USART_Transmit(line & (1<<2)?'1':'0');
			//USART_Transmit(line & (1<<1)?'1':'0');
			//USART_Transmit(line & (1<<0)?'1':'0');
			
			 USART_Transmit(' ');
			 line++;
			 data = 0;
			 
		 }
	 }
 }
 
 
 /* Ausgabe ist
00000001 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000010 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000011 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000100 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000101 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000110 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00000111 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001000 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001001 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001010 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001011 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001100 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001101 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001110 ABCDEFGHIJKLMNOPQRSTUVWXYZ
00001111 ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/