hola estoy tratando de hacer una simulacion en proteus de como multiplexar dos display de 7 segmentos segui los pasos que dice el libro pero al simularlo lo unico que hace es repetir el numero que tiene el primer display osea debe mostrar el numero 57 y solo muestra el 5 no se cual es el error
INCLUDE <P16F873.INC>
LIST P=16F873, R = HEX
REG1 EQU 20H
R12 EQU 21H
VALOR1 EQU 22H
VALOR2 EQU 23H
ORG 0X00
GOTO INICIO
ORG 0X05
INICIO MOVLW .0
TRIS PORTB ;CONFIGURAR EL PERTO B TODO COMO SALIDA.
MOVLW .0
TRIS PORTC ;CONFIGURA EL PUERTO C COMO SALIDA.
MOVLW .7 ;CARGA W CON 7.
MOVWF VALOR2 ;LLEVA 7 A VALOR 2.
MOVLW .5 ;CARGA W CON 5.
MOVWF VALOR1 ;LLEVA 5 A VALOR 1.
LOOP1 MOVF VALOR1,W ;LLEVA VALOR 1 A W.
CALL TABLA ;LLAMA A TABLA PARA ENCONTRAR EL VALOR 7 SEGMENTOS DEL NUMERO 5.
MOVWF PORTB ;LLEVA EL VALOR 7 SEG AL PUERTO B.
MOVLW .0
MOVWF PORTC ;HABILITA EL TRANSISTORCORRESPONDIENTE A VALOR1 (RC0)
CALL RETARDO
MOVF VALOR2,W ;LLEVA VALOR 2 A W.
CALL TABLA ;CONVIERTE VALOR 2 A CODIGO 7SEGMENTOS.
MOVWF PORTB ;SACA AL PUERTO B EL VALOR 2.
MOVLW .0
MOVWF PORTC ;HABILITA EL TRANSISTOR DE VALOR2 (RC1).
CALL RETARDO
GOTO LOOP1
RETARDO MOVLW .255 ;RETARDO DE 1 mS APROX.
MOVWF R12
REP DECFSZ R12,F
GOTO REP
TABLA ADDWF PCL,F ; PCL + W
RETLW B'00111111' ; CODIGO PARA EL 0
RETLW B'00000110' ; CODIGO PARA EL 1
RETLW B'01011011' ; CODIGO PARA EL 2
RETLW B'01001111' ; CODIGO PARA EL 3
RETLW B'01100110' ; CODIGO PARA EL 4
RETLW B'01101101' ; CODIGO PARA EL 5
RETLW B'01111100' ; CODIGO PARA EL 6
RETLW B'00000111' ; CODIGO PARA EL 7
RETLW B'01111111' ; CODIGO PARA EL 8
RETLW B'01100111' ; CODIGO PARA EL 9
MOVLW .255
MOVWF REG1
RET1 DECFSZ REG1,F
GOTO RET1
RETURN
END ;FIN DEL PROGRAMA