Conversor de Binario a Decimal en 7 Segmentos con PIC 16f877A

Muchachos Buenas Noches, Es Que Tengo Un Inconveniente Con Este Programa,
Me Toca Realizar Un Programa En Assembler Que Tengamos Un Dip-Switch De 4 Pines
En Una Entrada, Y Que Al Subir Uno , Este Muestre Su Valor En Decimal En Un 7
Segmentos, Es Decir Que Si En La Entrada "A" Que Es Donde Esta El Dip-Switch,
Este Activa El Pin 1 Y 3, Es Decir "1010" Este Muestre Un "5" En El 7 Segmentos
Esto Hay Que Hacerlo En Un Pic 16f877a En Mplab, Aquí Tengo Un Adelanto De
Lo Que Llevo Pero No Se Por Que El Proteus Lo Reconoce Todo Como Error Entonces A Ver Si Me Podrían Colaborar Viendo Donde Estaría El Error O Si Es Que
Tengo Algo Muy Mal, Gracias De Antemano

Anexo Del Adelanto:

list p=16f877A ; //list directive to define processor

#include <p16f877A.inc> ;//processor specific variable definitions

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

ORG 0
INICIO
BSF STATUS,5
BCF STATUS,6 ; RP1=0 CAMBIO AL BANCO 1
CLRF PORTA; INICIA LOS PUERTOS A
CLRF PORTB; INICIA LOS PUERTOS B
MOVLW B\'11110000\'; SE CONFIGURA LOS PUERTOS A UTILIZAR
MOVWF TRISTA; CONFIGURA EL PUERTO A COMO ENTRADA
MOVLW 0X00;
MOVWF TRISTB; CONFIGURA EL PUERTO B COMO SALIDA
BCF ESTATUS,5 ; RP0=0 CAMBIO AL BANCO 0

FUNCION

MOVF PORTA,W ;GUARDA LO DEL F EN \'W\'
ANDLW B\'00001111\'; SE QUEDA CON SOLO LOS BITS ESCOGIDOS
CALL Binario_a_Decimal
MOVWF PORTB; EL RESULTADO SE VISUALIZARA POR EL PUERTO B
GOTO FUNCION

; RUTINA DEL Binario_a_Decimal

Binario_a_Decimal ; TABLA PARA EL DISPLAY 7 SEGMENTOS
ADDWF PCL,F
TABLA RETLW 3Fh ; EL CODIGO 7 SEGMENTOS PARA EL # 0
RETLW 06h ; EL CODIGO 7 SEGMENTOS PARA EL # 1
RETLW 5Bh ; EL CODIGO 7 SEGMENTOS PARA EL # 2
RETLW 4Fh ; EL CODIGO 7 SEGMENTOS PARA EL # 3
RETLW 66h ; EL CODIGO 7 SEGMENTOS PARA EL # 4
RETLW 6Dh ; EL CODIGO 7 SEGMENTOS PARA EL # 5
RETLW 7Dh ; EL CODIGO 7 SEGMENTOS PARA EL # 6
RETLW 07h ; EL CODIGO 7 SEGMENTOS PARA EL # 7
RETLW 7Fh ; EL CODIGO 7 SEGMENTOS PARA EL # 8
RETLW 67h ; EL CODIGO 7 SEGMENTOS PARA EL # 9

END ...
 
Usa la opcion de pegar codigo para que se vea mejor tu codigo, porque solo se ve un desorden del macho, edita tu mensaje, ademas recuerda que debes configura los pines del PORTA como analogos o digitales, no veo que hagas eso, revisa, chauuuuuuuuuu
 
Atrás
Arriba