hallo dino dieter, hier ist eine änderung,
setzen von bit0 und bit1 wurde zusammengefasst.
halbbit-routinen wurden geschaffen.
es kann der ganze code gesendet werden "send_code(toggle,addresse,commando)".
läuft auf dem AVR16 8mhz 100%.

Code:
#include <avr/io.h> 
#include <avr/interrupt.h> 
#include <avr/signal.h> 
#include <string.h> 
#include <stdint.h> 


//89ms pause
void ms_89(void)
{
	uint32_t zaehler;

	for (zaehler=0; zaehler<118666; zaehler++) 
	asm volatile("nop");
}

void halbbit_high(void)
{
	uint16_t i,zaehler;
	
	//890us Impuls mit 36kHz senden
	//Bei 28us Periodendauer ergibt das 32 Impulse
	for(i=0; i<32; i++)
	{
		PORTB=1;
		for (zaehler=0; zaehler<18; zaehler++) 
		asm volatile("nop");		
		PORTB=0;
		for (zaehler=0; zaehler<18; zaehler++) 
		asm volatile("nop");		
	}
}
	
void halbbit_low(void)
{
	uint16_t zaehler;
	
	//890us Pause
	for (zaehler=0; zaehler<1186; zaehler++) 
	asm volatile("nop");	
}	
	
//Eine 0 oder 1 senden
void Send_Bit(uint8_t code)
{
	if (code==0)
	{
		halbbit_high();
		halbbit_low();
	}
    else
	{
		halbbit_low();
		halbbit_high();
	}
}


void send_code(uint8_t toggle, uint8_t address, uint8_t command)
{
	uint8_t mask,i;
	
	Send_Bit(1); //Erstes Startbit=1
	Send_Bit(1); //Zweites Startbit=1

	//Togglebit
	if(toggle==0)
	{
		Send_Bit(0);
	}
	else
	{
		Send_Bit(1);
	}  

	//5 Bit Addresscode
	mask=0x10; //Beginn bei MSB
   
	for(i=0; i<5; i++)
    {
     if(address&mask) //Send 1
      {
       Send_Bit(1);
      }
     else //Send 0
      {
       Send_Bit(0);
      }
      
     mask>>=1;   //Nächstes Bit
    }


	//6 Bit Kommandocode
	mask=0x20; //Beginn bei MSB
   
	for(i=0; i<6; i++)
    {
     if(command&mask) //Send 1
      {
       Send_Bit(1);
      }
     else //Send 0
      {
       Send_Bit(0);
      }
     mask>>=1;  //Nächstes Bit
    }

	//Übertragung komplett
	PORTB=0; //IR-LED abschalten
	ms_89(); // warte 89ms
}


int main(void)
{
	DDRB=1;
	uint8_t command,i;
	command=37;
	
	for (i = 14; i < command; i++)
	{
		send_code(1,27,i); // toggle, addresse, commando
	}	
}
wer andere programmvorschläge für die erleichterung hat kann diese noch reinbringen.