Das die Routine, so wie sie ist, funktioniert, wollt' ich nicht bezweifeln, das glaub ich schon.
Aber genau für dein Problem ist da kein Platz.

Wie ist eigentlich deine Anforderung: sind deine SCK & DTA Pins kreuz und quer irgendwo auf die Ports verteilt, oder sind die irgendwie gruppiert ?