Matrice di led

Salve a tutti,
Che voi sappiate, è possibile creare una matrice 3x3 bicolore sfruttando l'antiparallelo tra 2 led?

Nel caso non fosse possibile, vi espongo il problema:
Il problema sorge perchè ho una matrice 3x6 (bicolore ovviamente). Ho provato ad utilizzare i digitalWrite per controllarla, Se provo gli incroci manualmente funziona perfettamente, ma ad altissime frequenze ho problemi di transizione di stato: se voglio accendere un led rosso, nel momento della transizione di stato mi si accende molto fiaccamente un led blu. Quindi alla fine ottengo un led rosso acceso, e una fioca lucina blu dall'altra parte della matrice.
Ho trovato la soluzione al problema proprio qui, su questo sito. L'utente ha risolto utilizzando il PortManipulation.
Il problema del portmanipulation, è chè può settare come output un massimo di 8 pin. ma per la matrice 3x6 ovviamente mi servono 9 bit..
E' vero che potrei utilizzare sia il portmanipulation D, sia il portmanipulation B per lavorare con 13 pin. Ma non avrei lo stesso problema di transizione di stato?

grazie in anticipo

Port manipulation è solo il termine inglese di manipolazione, accesso diretto alle porte del microcontrollore, non indica le porte in sé.
Le porte logiche si chiamano PORTA, PORTB, PORTC ecc...

Ogni porta pilota 8 pin, quindi ogni porta è "larga" 8 bit, per cui 1 byte.
Se devi manipolare più di 8 bit, ovviamente andrai a pilotare 2 porte per 13 bit (2 porte = 2 byte = 16 bit = 16 pin).

Detto questo, quanto sarebbe la tua "altissima frequenza"?