Un enfoque viable es usar una cadena de cuatro registros de desplazamiento de 8 bits (por ejemplo, 74HC595) para controlar todos los segmentos, y usar la resistencia limitadora de corriente del mismo tamaño para cada segmento (importante: cada segmento tiene su propia resistencia).
Luego simplemente cambie el patrón de 32 bits apropiado desde el AVR para el valor que está tratando de representar. Eso disociará los requisitos de alimentación de la pantalla LCD de las restricciones de fuente actuales del PIN del AVR. También reducirá la utilización de pines AVR a tres pines (datos, reloj, cierre).
En términos de complejidad del software, todo lo que necesita es una tabla para asignar valores de dígitos a patrones de bits. Si mantiene el cableado consistente entre los dígitos, eso es solo una tabla de búsqueda de 10 entradas (si solo está mostrando números de base 10 antiguos). El protocolo de comunicación del registro de desplazamiento no podría ser mucho más simple: abra el pestillo, el reloj en los bits de datos, cierre el pestillo y son capaces de un funcionamiento confiable a velocidades mucho mayores que las que puede lograr con los AVR, de modo que puede simplemente mover Los cables lo más rápido posible en el software. Si desea reducir la potencia, posiblemente puede lograr PWM cambiando en 0x0000 durante el ciclo de apagado y también utilizando interrupciones de temporizador para garantizar la consistencia del ciclo de trabajo, por ejemplo.
Lo último, estas cosas son baratas y vienen en paquetes DIP si eso es importante para ti.