Um ihn in den BEtriebsmodus 2 zu bekommen musst du Pin4 mit GND verbinden.
Liess dir mal die Anleitung dazu durch!

Hier mal mein Code, bedenke aber das die Pausenzeiten "passend gemacht" sind.
Läuft dein Asuro wirklich auf 8MHz?

Code:
uint16_t getAbstand(uint8_t sensor)
{
  uint16_t abstand = 0;          // abstand in cm
    
  DDRC |= (1<<sensor);          // sensor Pin auf Ausgang
  PORTC |= (1<<sensor);         // sensor Pin auf high setzen
  
  _delay_us(4);                // 20 mikrosek. warten
  
  PORTC &= ~(1<<sensor);        // sensor Pin auf low setzen (ist noch als Ausgang konfiguriert)
  DDRC &= ~(1<<sensor);         // sensor Pin auf Eingang setzen
  
  while(!(PINC & (1<<sensor))); // auf Sensorantwort warten (Eingang wird high)
  
  while(PINC & (1<<sensor))     // warten bis Signalende bis Eingang low wird
  {                  
    _delay_us(1);              // 58 mikrosec. warten entspricht 1cm entfernung
    abstand++;                  // Anzahl der cm erhöhen
  }
     
  return abstand;               // gemessenen Abstand zurückgeben
} 

/////////////////////////////////////////////////////////////////////////////
// Main-Funktion
/////////////////////////////////////////////////////////////////////////////
main()
{
	uint16_t x = 0;
	char ausgabe[10]="\0";
	
 	lcdInit();
 	lcdString("X ");
 	x = getAbstand(5);
 	itoa((x/22), ausgabe, 10);
 	
 	lcdString(ausgabe);
 	lcdString("cm");
 	
 	while (true)  	// Mainloop-Begin
 	{
 	

 	} // Mainloop-Ende