Jeje esos problemas tambien los sufri yo en su momento, haber los problemas pueden venir por dos caminos: software(tu programa) o por hardware(resistencias conectadas al 7seg,al transistor,etc) ; Un tiempo de retraso para cambiar de un display a otro y que el ojo humano no note la conmutacion de displays oscila entre 10-20 ms, todo esto con los componentes adecuados conectados(resistencias,etc) asi deberas jugar con estos valores de tiempo y con las resistencias y transistor que tengas puesto para una optima visualizacion. Lo ideal es que pongas tu programa aqui para ver como va y asi comentar pero vamos la idea de tu programa seria algo asi:
declaracion del pic a utilizar
declaracion de tabla de 7seg (del 0 al 9) ; tab7seg[8]=0xff, tab7seg[7]=...
declaracion de indices (i ,j) para apuntar a tab7seg y saber que digito mostrar
vector de interrupcion del timer0
funcion de interrupcion del timer0 que sera llamada segun programemos el timer
->Aqui modificaremos los indices de visualizacion de los digitos
->Restauramos el timer0 para que pueda volver a desbordarse
fin funcion interrupcion
inicio programa
iniciar valores(portb como salida, iniciar el timer0, etc....)
bucle
->Aqui 1º 7seg encendido , 2º 7seg apagado
->Visualizar digito apuntado por indice i en 1º 7seg
->pausa oscila entre 10-20 ms
->Aqui 1º 7seg apagado , 2º 7seg encendido
->Visualizar digito apuntado por indice j en 2º 7seg
->pausa oscila entre 10-20 ms
vuelve a bucle (bucle infinito)
fin programa
Vamos la idea en lenguaje C es bastante facilito, ademas de aqui te pikas y haces un reloj como hice yo con alarma y temperatura y todo!!!jeje, recuerda que para desbordarse el timer debes configurarlo correctamente con la siguiente formula:
Temporizacion = Tcm· Prescaler· (256- Carga TMR0) ; Tcm= 4· 1/f ,f=frecuencia del oscilador, en tu caso 4MHz -> Tcm=4· 1/4 =1 us.
Prueba a bajar el valor de las resistencias y modifica el valor de 10 a 20 ms hasta que consigas el ajuste, yo con 15 ms lo consegui creo recordar, prueba a quitar los transistores o cambiarlos por otros o por resistencias haber que tal, aunque lo ideal son los transistores asi que busca unos adecuados y jugando con todo haber si lo consiges como hice yo!!!jeje si no ya te paso el codigo mio y le hechas un vistazo, suerte y a programar!!!
