Conectar 2 display de 7 segmentos a puertos arduino uno

Hola, soy nuevo en arduino y pues necesito conectar 2 display de 7 segmentos a los puertos de arduino, no tengo permitido el uso de sentencias digitarRead(), digitalWrite(), pinMode(), tampoco puedo usar componentes auxiliares, debe ser directamente al arduino (es para una tarea) .

He podido conectar 1 display directamente al puerdo D, usando un display de Anodo Comun. Sin embargo para el pueto B no tengo suficientes pines (ya que solo son 6) para conectar los 7 pines del segmento asi que aun no logro hallar una manera de conectar el otro display y mostrar el contenido del array 'digitosD2'. Alguien tiene una idea como hacerlo, mi codigo es el siguiente:

byte digitosD1[9]={B00100100,B01000000,B01111001,B01111000,B01000000,B01000000,B00110000,B00010000,B01000000};

byte digitosD2[8]={B00100100,B01000000,B00100100,B01111001,B01000000,B00110000,B01000000,B00010000};

void setup() {
DDRD=B11111111;

}

void loop() {
// put your main code here, to run repeatedly:
for(int i=0; i<9; i++){
PORTD=digitosD1[i];
delay(500);

}

}

Hi @dannloa
¿Puede utilizar otros circuitos integrados externos?

RV mineirin

No, tampoco puedo utilizar circuitos integrados.

Okay, y el esquema del que surge ese código?
Coloca los segmentos de los Displays a 7 salidas a través de resistencias limitadoras.
Luego conecta el ANODO común o CATODO común del display a dos pines mas.
Entonces siempre que escribas en el puerto, iluminaras esos segmentos y habilitas el display que se encienda sea por LOW o HIGH según corresponda.
Debe ser una rutina tal que no use delay() porque si no tendras parpadeo y no veras el efecto multiplexado que significa que prendes un display, y luego el otro lo mantienes si quieres un milisegundo y luego lo apagas.
El efecto de prender y permanecer 1mseg y repetirlo hace que luzca como continuo.

Elimina ese

delay(500);

PD: La próxima usa el auto formato del IDE para que el código luzca con identación. Las buenas formas ayudan a que se lea mas cómodo.