Funciona, pero a medias, es decir, solo muestra uno de los dígitos a la vez, no los 2, he probado a bajar y subir el relay para que parezca que estén a la vez los 2 dígitos encendidos a la vez, pero no lo consigo, a ver si me podéis ayudar o guiar un poco, gracias.
Cuando mencionas "relay", te debes de estar refiriendo a "Delay", en ese caso no debes de aumentarlo, sino reducirlo para que ambos dígitos aparenten estar encendidos al mismo tiempo.
200ms es mucho retardo para conseguir el efecto que buscas, bájalo a 20 ó 30ms, o ve probando reduciendo poco a poco hasta que ambos dígitos queden fijos en el display.
Y una cosa más, muy importante para que funcione bien. Debes de considerar y separar lo que es el
efecto de persistencia de los datos en el display, a lo que es la
velocidad de presentación. Son cosas totalmente distintas, y tal como lo estás programando, NO tienes el control de ambas.
Lo correcto, para crear el efecto de persistencia, es que lo programes usando un timer vinculado a una interrupción, y luego ya tranquilamente, sin problemas de retardo, alimentes, por ejemplo, un array o un par de variables, con los datos a visualizar.