Also erst mal musst du das ganze verzögern.
Sonst läuft das viel zu schnell ab.

Dann musst du bei sende 1 implementieren, dass die LED mit 36 kHz moduliert wird. Sonst gibt der TSOP immer 0 zurück.

Was dir jetzt noch fehlt ist ein Startbefehl, der vor dem ganzen gesendet wird. Dieser muss eindeutig sein, darf also während der Übertragung nicht nochmals auftreten.

Wenn du nun am Empfänger diesen empfängst, musst du nur soviele us warten, wie du beim Senden auch wartest und dann den Status des TSOPs abfragen.

Also gewissermaßen:

Startbefehl erkannt.
for 1 to 8
Wenn TSOP = 1 Dann
empfang.0 = 1
else
empfang.0 = 0
rotate empfang, left, 1
warte XX us
next

So etwa sollte die empfangsroutine aussehen.
Am besten lässt sich sowas natürlich mit einem Speicheroszi überprüfen, aber ich denke, sowas besitzt du nicht ...

Grüße
Flite