AUN NECESITAS AYUDA....
;*********************************************************
;***AQUI TAL VEZ UNA FORMA DE HACERLO .....
;*** OBTENER LA SUMA EN TRES REGISTROS
;*** 99 99. 99
;***
;*********************************************************
SUMA_BAJO EQU 0X20
SUMA_ALTO_1 EQU 0X21
SUMA_ALTO_2 EQU 0X22
;*********************************************************
;**** DECLARO LAS CONSTANTES
PRODUCTO_1 D´100´ ; PARA TENER ENCUENTA DECIMAS
PRODUCTO_2 D´75´
PRODUCTO_3 D´70´
PRODUCTO_4 D´85´
PRODUCTO_5 D´50´
PRODUCTO_6 D´75´
PRODUCTO_7 D´95´
PRODUCTO_8 D´75´
COMPARADOR D´100´
;*********************************************************
;DEFINO LOS PUERTOS
#DEFINE P_PRODUCTO_1 PORTC,0
#DEFINE P_PRODUCTO_2 PORTC,1
#DEFINE P_PRODUCTO_3 PORTC,2
#DEFINE P_PRODUCTO_4 PORTC,3
#DEFINE P_PRODUCTO_5 PORTC,4
#DEFINE P_PRODUCTO_6 PORTC,5
#DEFINE P_PRODUCTO_7 PORTC,6
#DEFINE P_PRODUCTO_8 PORTC,7
;*********************************************************
; CONFIGURO LOS PUERTOS
BSF STATUS,RP0
BSF P_PRODUCTO_1 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_2 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_3 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_4 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_5 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_6 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_7 ;CONFIGURO COMO ENTRADA
BSF P_PRODUCTO_8 ;CONFIGURO COMO ENTRADA
BSF STATUS,RP0
CLRF SUMA_ALTO
CLRF SUMA_BAJO
ORG 0X00
;*********************************************************
INICIO
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_1 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_1 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_2 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_2 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_3 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_3 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_4 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_4 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_5 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_5 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_6 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_6 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_7 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_7 ;HACE LA RUTINA DE SUMA
CALL RETARDO_10MSEG ; PARA EVITAR REBOTES
btfsc P_PRODUCTO_8 ; OPRIMIO EL PULSADOR
CALL SUMAR_PRODUCTO_8 ;HACE LA RUTINA DE SUMA
GOTO INICIO
;*********************************************************
RETARDO_10MSEG
.
.
.
RETURN
;*********************************************************
SUMAR_PRODUCTO_1
MOVWF P_PRODUCTO_1
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_1 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_2
MOVWF P_PRODUCTO_2
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_2 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_3
MOVWF P_PRODUCTO_3
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_3 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_4
MOVWF P_PRODUCTO_4
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_4 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_5
MOVWF P_PRODUCTO_5
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_5 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_6
MOVWF P_PRODUCTO_6
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_6 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_7
MOVWF P_PRODUCTO_7
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_7 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
SUMAR_PRODUCTO_8
MOVWF P_PRODUCTO_8
ADDWF SUMA_BAJO,F ;SUMA SUMA_BAJO CON P_PRODUCTO_8 Y EL RESULTADO QUEDA EN SUMA BAJO Y W
GOTO COMPROVAR_SUMAS
;*********************************************************
COMPROVAR_SUMAS ;COMPRUEBO QUE LOS REGISTROS NO SUPEREN EL VALOR DE 100
SUBWF COMPARADOR,0
BTFSC STATUS,C
RETURN
CLRF SUMA_BAJO
ADDWF SUMA_ALTO_1,F ; EN W SE TIENE EL VALOR DE LA RESTA....Y SE LO SUMO AL REG SUMA_ALTO_1
SUBWF COMPARADOR,0
BTFSC STATUS,C
RETURN
CLRF SUMA_ALTO_1
ADDWF SUMA_ALTO_2,F ; EN W SE TIENE EL VALOR DE LA RESTA....Y SE LO SUMO AL REG SUMA_ALTO_2
RETURN ; FINALMENTE RETORNO CON LA SUMA
;*********************************************************
;*********************************************************
.
.
;*** BIEN FALTARIAN OTRAS RUTINAS SENCILLAS PARA LA INTERFASE GRAFICA
;*** O CAMBIOS EN EL MONTAGE DE LOS PULSADORES PARA NO OCUPAR TANTOS
;*** PINES....
;***
;***YA ES ALGO TARDE... SI NECESITAS ALGOMAS ME DICES
;*** SALUDOS
END
;*********************************************************
;*********************************************************