Bei 1.78 ms nützt ein Timer nichts mehr.
Wenn die Sache überhaupt Erfolg haben soll, muss dein Programm ständig den Pin DCD abfragen.
Bei jedem Wechsel des Zustand muss der Wert eines hochauflösenden Zählers in einem Array oder Liste gespeichert werden.
Delphi-Quellcode:
type
TDCDEvent = record
bitvalue : boolean;
counter : Int64;
end;
var
DCDevents : array[0..14] of TDCDEvent;
Nachdem man 14 Mal den High-Zustand gesehen hat, kann man raus aus der Routine und muss das Array auswerten.
Ich würde das Array erst mal als
CSV-Datei speichern und manuell auswerten, um zu sehen, ob man daraus überhaupt einen RC5-Code erkennen kann.