Wie es genau in C aussehen muss kann ich dir nicht sagen...
Bei Bascom würde es so ablaufen...
Code:
...

Config Pind.2 = Input                                        'Am Atmega8 der Int0-Pin

...
Config Timer1 = Timer , Prescale = 8                    ' Timer konfigurieren und Takt einstellen
Config Int0 = Change                                        ' Interrupt bei >wechselnder Flanke< des Echosignal starten
On Int0 Interuproutine_Name                              ' Bei Interrupt zu InteruptSubroutine springen
Enable Int0                                                     ' Wenn auf Echo gewartet wird wechselt Echo-Signal auf High
Enable Interrupts                                             ' Interrupts global aktivieren
...
SPRUNGMARKE_A
Hauptprogramm
blabla
Hauptprogramm
...

Interuptroutine_Name:                                                ' Interrupt startet bei Signalwechsel am Int0-Pin
   If Pind.2 = 1 Then                                                  ' Wenn Pin zu High wechselt ...
     Goto SPRUNGMARKE_A                                          ' Oder z.b. eine Variable setzen, die im Main immerwieder abgefragt wird
    End if
Return
Gruss, Joe