La técnica que uso es la unidad común de los cables a través de las ocho combinaciones de alta y baja (creo que he utilizado la secuencia 000 001 010 100 111 110 101 011, aunque no creo que realmente importa) y, para cada cable común de fase de la unidad el segmento de los cables de tal manera como para hacer al menos dos de los tres segmentos correcta. Es decir, si C2..C0 son el común de los alambres, y el S2..S0 son los valores deseados de los tres segmentos que conectan un particular segmento de alambre para C2..C0, el valor de salida debe ser alta si (C2 xor S2)+(C1 xor S1)+(C0 xor S0) es al menos 2.
Como un ejemplo, supongamos que uno quiere S0 ser oscuro y S1 y S2 a la luz (por lo que S2..S0 == 001). Las ocho fases, de la unidad de estado del segmento de cables, y el resultado de los estados de S2..S0, son como sigue (para cada segmento, S/N indica si es energizado; un asterisco indica si es el correcto estado):
Com Drv S2 S1 S0
000 0 N* N* N
001 0 N* N* S*
010 1 S N S*
100 1 N* S S*
111 1 N* N* N
110 1 N* N* S*
101 0 S N S*
011 0 N* S S*
Observe que cada segmento será en el estado correcto de 3/4 de tiempo. La lógica para generar la correcta estados es un poco molesto, pero para evitar el empantanamiento de mi controlador de interrupción, calculo que las primeras cuatro patrones de salida al establecer el contenido de la pantalla, así que mi controlador de interrupción sólo tiene a la salida de uno de los cuatro patrones, regular o complementado forma.
La única molestia que he observado con este método es que a bajas velocidades de barrido, cambiando el contenido de la pantalla a veces causa 'fantasma' en los segmentos que deben ser transparentes en los viejos y nuevos valores. Esto ocurre debido a que el segmento de mayo han pasado de ser incorrectamente energizados en el cuarto 'beat' de un marco, para ser incorrectamente energizados en el primer tiempo del siguiente cuadro'; las dos consecutivos energizado 'beats' causar que el segmento momentáneamente se vuelven visiblemente opaco. Para evitar este problema requiere el uso de una velocidad de barrido de dos veces tan rápido como lo contrario sería necesario para evitar el parpadeo; para minimizar el consumo de energía, mi aplicación cambia a una más rápida velocidad de exploración durante el uso activo, o una tasa más baja cuando se muestra una pantalla estática.