Estoy programando mis primeros Pic. 16f877
Tengo la multiplicacion de 2 puertos de (B y C), la salida es el el puerto D.
Mi problema es cuando EL RESULTADO DE la multiplicacion sale mayor a 9 , por el display de 7 segmentos.
Cual es la programación para poder mostral la salida en display de 7segmentos.
ANEXO ES PROGRAMA DE MULTIPLICACION DE 2 PUERTOS B Y C
*************************************************
title "PIC16F877 counting program"
LIST P=16F877
INCLUDE "P16F877.INC"
ORG 0X00 ;reset vector
Goto Start
ORG 0X06
ENTB equ 0x22 ;Variable ocupada dirección 22
ENTC equ 0x23 ;Variable ocupada dirección 23
CONTA1 equ 0x24 ;Variable ocupada dirección 24
RESULD equ 0x26 ;Variable ocupada dirección 26
SUMA equ 0x27 ;Variable ocupada dirección 27
Start
clrw ;clear W register
clrf PORTB ;clear PORTB
clrf PORTC ;clear PORTB
clrf PORTD ;clear PORTD
clrf ENTB
clrf ENTC
clrf CONTA1 ;clr count
clrf SUMA ;clr count
clrf RESULD
CALL ENTRADAPORTB
CALL ENTRADAPORTC
CALL MULTIPLICADOR
CALL SALIDAPORTD
GOTO FIN
ENTRADAPORTB
BSF STATUS,RP0
BCF STATUS,RP1 ;configure PORTB as
MOVLW B"11111111" ;bit7-0 input,
MOVWF TRISB ;
BCF STATUS,RP0
BCF STATUS,RP1
MOVF PORTB,0 ;captura puerto B a registro W
MOVWF ENTB ;Envia los datos del registro W a ENTB
RETURN
ENTRADAPORTC
BSF STATUS,RP0
BCF STATUS,RP1 ;configure PORTC as
MOVLW B"11111111" ;bit7-0 input,
MOVWF TRISC ;
BCF STATUS,RP0
BCF STATUS,RP1
MOVF PORTC,0 ;captura puerto C a registro W
MOVWF ENTC ;Envia los datos del registro W a ENTC
RETURN
MULTIPLICADOR
Movf ENTC,0 ;Envia ENTC a registro W
movwf CONTA1 ;Envia los datos del registro W a CONTA1
CONTADOR
MOVF ENTB,0 ; captura los datos de ENTB al registro W
MOVWF SUMA
ADDWF SUMA,1 ; suma los datos de w y ENTB almacena W
movwf RESULD ; Mueve los datos del registro W a RESULD
Decfsz CONTA1,f ;Resta 1 al contenido de CONTA1
;Si el CONTA1 llega a cero: salta
;La instruccion de GOTO Contador
;Si CONTA1 no llega a cero; ejecuta
;La instruccion GOTO contadfor
goto CONTADOR ;loop
return
SALIDAPORTD
BSF STATUS,RP0
BCF STATUS,RP1 ;configure PORTD as
MOVLW B"00000000" ;bit7-0 output,
MOVWF TRISD ;
BCF STATUS,RP0
BCF STATUS,RP1
MOVF RESULD,0 ; captura los datos de Var1 al registro W
movwf PORTD ; display on Port D datos de W
RETURN
FIN
end