bueno pues mira, haber para que le des otra ojeada
esta es la funcion que me hice para manejar 4 displays conectados a RB1-7 y los transistores de C0 a C3 (mas o menos como la imagen que te mostre en un otro post creo, sobre la conexion con transistores, en el mismo hilo del anterior link, creo
)
antes la definicion de los datos:
#byte port_b=6
unsigned int CONST LED [10]={0x7E,0x0C,0xB6,0x9E,0xCC,0xDA,0xFA,0x0e,0xfe,0xde}; // para catodo
//unsigned int CONST LED [10]={0x80,0xF2,0x48,0x60,0x32,0x24,0x04,0xF0,0x00,0x20}; // para anodo
void mux() // función de multiplexación
{
port_b=LED[unit]; // se despliega dato correspondiente a unidades
output_high(PIN_C0); // displays de anodo común, se activa anodo correspondiente
delay_us(250); // retardo para observación contínua
output_low(PIN_C0); // apagamos display, para pasar al siguiente
port_b=LED[dec]; // se despliega dato correspondiente a decenas
output_high(PIN_C1); // displays de anodo común, se activa anodo correspondiente
delay_us(250); // retardo para observación continua
output_low(PIN_C1); // apagamos display, para pasar al siguiente
port_b=LED[cen]; // se despliega dato correspondiente a centenas
output_high(PIN_C2); // displays de anodo común, se activa anodo correspondiente
delay_us(250); // retardo para observación contínua
output_low(PIN_C2); // apagamos display, para pasar al siguiente
port_b=LED[mil]; // se despliega dato correspondiente a los miles
output_high(PIN_C3); // displays de anodo común, se activa anodo correspondiente
delay_us(250); // retardo para observación continua
output_low(PIN_C3); // apagamos display, para pasar al siguiente
}
y bueno aca en mi ejemplo unit, dec, cen y mil son variables que teinen un valor diferente y ese valor eqeuivale a la posición el en arreglo led que corresponde al numero que se mostrara en el dislpay correspondiente
tb aclarar que el puerto C, o al menos los bits de C0 a C3 se inician en este caso en bajo (osea en '0' logico) se mantendran asi siempre y solo en la rutina del mux cambian de estado para habilitar el display correspondiente y otra vez vuleven al estado inicial
este codigo para displays de catodo comun, ya que para anodo cambia la liena comentada de arriba y se usaran transistores pnp, de lo cual tb hay un esquema en alguna parte, jeje
creo que en el mismo hilo de link que deje antes, porque lo vi no hace muhco tiempo, bueno un salute, espero te sirva