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.
PORQUE NO Me funciona?
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: