16F873A help (Multiprexar)

El objetivo: multiplexar 4 displays de7segmentos (anodo común).

Buenas amigos, mi post es porque tengo un 16F873A y lo programo con algo que simule en proteus y corrio.

Código:
LIST P=16F873A
		INCLUDE <P16F873A.INC>

	    CBLOCK 20H
		DISPLAY0
		DISPLAY1
		DISPLAY2
		DISPLAY3
		ROTA
		CONT
		CONT2
        ENDC

        ORG 00

INICIO BSF STATUS,RP0
		MOVLW 06H
		MOVWF ADCON1             ;CONVERSIÓN DEL PUERTO A EN DIGITAL
		MOVLW B'00000000'        ;PUERTOB COMO SALIDA, PIN RB0 COMO ENTRADA
		MOVWF TRISB	  
		MOVLW B'00010000'	
		MOVWF TRISA		         ;PUERTOA COMO SALIDA,PIN RA4 COMO ENTRADA
		BCF STATUS,RP0

					
		MOVLW 01H
		MOVWF  DISPLAY0           
		MOVLW 02H
		MOVWF  DISPLAY1
		MOVLW 03H
		MOVWF  DISPLAY2
		MOVLW 04H
		MOVWF  DISPLAY3 
  
 		CLRF PORTA

AQUI	 MOVLW .8
		MOVWF ROTA
		
	    MOVLW DISPLAY0
		MOVWF FSR

UNO	    MOVLW 00H
		MOVWF PORTB

		MOVF ROTA,W
		MOVWF PORTA

		MOVF INDF,W
		CALL TABLA
		MOVWF PORTB
		
		CALL RETARDO
		BTFSC ROTA,0
		GOTO AQUI

		BCF STATUS,C
		RRF ROTA,F
		INCF FSR,F
		GOTO UNO



RETARDO MOVLW .10
		MOVWF CONT2
CICLO2  MOVLW .33
		MOVWF CONT
CICLO	DECFSZ CONT,F
		GOTO CICLO
		DECFSZ CONT2,F
		GOTO CICLO2
		RETURN


TABLA ADDWF PCL,F
	  NOP
	  RETLW B'10001100' ;LETRA C
	  RETLW B'10000010' ;LETRA U
	  RETLW B'10001100' ;LETRA C
	  RETLW B'11110010' ;NUMERO 1


	  END

PORQUE NO Me funciona?
 
Última edición por un moderador:
Atrás
Arriba