Hallo Anubisbot!
Das Problem habe ich auch gehabt und mit einem Schieberegister 74xx166 gelöst. Im Code ist ein Schaltplan und dazugehöriges Unterprogramm (DataRec) für PIC´s. Die 8 Bits werden zuerst mit Load parallel in den Schieberegister geladen, mit dem Clock vom PIC seriell in DTmp7 eingelesen und danach in A6 kopiert. Es werden 3 I/O Pins vom PIC benötigt: _PLE (Load), _CKI (Clock) und _DTI (Data).
MfG
Code:
                         D D D D D D D D
                         7 6 5 4 3 2 1 0

                         V V V V V V V V
                         | | | | | | | |
                         | | | | | | | |
                         | | | | | | | |
                       .-----------------.
                       | 1 1 1 1 5 4 3 2 |
                       | 4 2 1 0       15|-------> _PLE   zum PIC
                       |                7|-------> _CKI
                       | 74xx166     6 13|-------> _DTI
                       '-----------------'
                                     |
                                    ===
                                    GND

DataRec		call	DatLoad
		call	DatRec
		movf	DTmp7,0
		movwf	A6
		return		
DatLoad		bcf	_CKI
		bcf	_PLE
		bsf	_CKI
		bcf	_CKI
		bsf	_PLE
		return
DatRec		movlw	7
		movwf	DTmp1
SRec		call	CopyDTI
		rlf	DTmp7,1
		bsf	_CKI
		bcf	_CKI
		decfsz	DTmp1,1
		goto	SRec
		call	CopyDTI
		return
CopyDTI		bcf	DTmp7,0
		btfsc	_DTI
		bsf	DTmp7,0
		return