9 Schieberegister Seriell oder Parallel beschreiben, was ist schneller?

Genau.

Ein minimalbeispiel:

#define CLOCK 13
#define LATCH 10
#define DATA_IN 12
#define DATA_OUT 11

void setup(void) {
  pinMode(LATCH,OUTPUT); // CS/LATCH _muss_ als output definiert sein, bevor das spi modul als master aktiviert wird.
  pinMode(DATA_OUT,OUTPUT);
  pinMode(CLOCK,OUTPUT);
  pinMode(DATA_IN,INPUT);
  setup_hardware_spi();
}

void loop(void) {
  digitalWrite(LATCH,LOW);
  spi_transfer(255);
  // usw.
  digitalWrite(LATCH,HIGH);
}

void setup_hardware_spi(void)
{
	byte clr;
	/* enable SPI as master */
	SPCR |= (_BV(SPE) | _BV(MSTR));
	/* clear registers */
	clr = SPSR;
	clr = SPDR;
	/* set prescaler to fosc/2 */
	SPCR &= ~(_BV(SPR1) | _BV(SPR0));
	SPSR |= _BV(SPI2X);
        /* LSB first */
        SPCR |= _BV(DORD); // comment for MSB first
}

byte spi_transfer(byte data)
{
	SPDR = data;		// Start the transmission
	while (!(SPSR & _BV(SPIF))) {}; // Wait for the end of the transmission
	return SPDR;	
}