Wie sind den die LEDs genau angeschlossen? Befindet sich noch ein Treiber dazwischen?
Oder hast du sie zwischen Vcc und Port angschlossen. Dann würden sie ja bei Low-Pegel leuchten.

Wenn ich das richtig verstanden habe liefert dir der Empfänger ein einzelnes Signal an P1.7. Und du möchtest die Impulslänge auswerten.
Wenn das so ist probier es mal so:
Code:
.equ lednull, P5.0
.equ ledeins, P5.1
.equ dcf77, P1.7

;--------------------------------------------------------------------
test:
  jnb  dcf77,$         /auf signalanfang warten
  call  wait150        /test ob lang oder kurz
  jb   dcf77,eins     /ist es noch da war es wohl ne eins
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/hier war es eine null
  clr  lednull           /eine empfangene null anzeigen
  setb ledeins        /fals eine eins angezeigt wurde löschen
jmp test
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
eins:
  clr  ledeins          /eine empfangene eins anzeigen
  setb lednull         /fals eine null angezeigt wurde löschen
  jb  dcf77,$          /auf Impulsende warten
jmp test
;---------------------------------------------------------------------
wait150:
  mov  r7,#XX      /tacktfrequenzabhängig
  mov  r6,#XX      /selbst ausrechnen
wait150a:
  djnz  r7,$
  djnz  r6,wait150a
ret
;----------------------------------------------------------------------