Ich habe noch nie in Bascom programmiert und habe mir gerade mal nur den Sendecode angeschaut.
Das kann so nicht funktionieren.
Erstens: Wie ich schon zweimal erwähnt habe. Die Sende LED darf nicht dauernd leuchten. Du musst sie mit 36 kHz modulieren - sonst liefert dein TSOP Empfänger IMMER nur 0 zurück.

In den Sende routinen musst du nicht 500 ms warten (was sogar falsch ist) und du musst auch nicht dien PORTb.0 wieder auf Null zurück setzen.

Zur Modulation.

Code:
$regfile = "m8def.dat" 
$crystal = 12000000 

Dim Daten As Byte 
Dim A As Integer 

Config Portb = Output 

Mainloop: 
Daten = 170 
For A = 1 To 8 
If Daten.0 = 1 Then 
Gosub Send1 
Else 
Gosub Send0 
End If 
rotate Daten , Right , 1 
Waitms 500 
Next A 
Goto Mainloop 

Send1: 
Send = 1 
Goto Mainloop 

Send0: 
Send = 0 
Goto Mainloop 


Timer [der alle 1/ 72 000 s aufgerufen wird]:
if send = 1 Then
  if toggle = 0 Then
    toggle = 1
    PORTb.0 = 1
  else
    toggle = 0
    PORTb.0 = 0 
  end if
else
  Portb.0 = 0
end if
So etwa sollte die Senderoutine aussehen.

Ich schau mir gleich noch die Empfangsroutine an.

Grüße
Flite

EDIT: Ach ja: eine Startbedingung fehlt natürlich auch. Sonst empfängt dein Empfänger nachher immer nur müll ...