    LIST p=16f1787
    #INCLUDE "p16f1787.inc"
AUX EQU 0x70
	ORG 0
	call 	Config_Tec
	call	Config_7Seg
CICLO	
	call 	Pres_Tec
	movf 	WREG, W
	btfss 	STATUS, Z
	goto 	CICLO
	call 	Deco_Tec
	movwf 	AUX
	incf 	AUX,F
	btfsc 	STATUS, Z
	goto 	CICLO
	call 	Deco_7Seg
	BANKSEL PORTD
	movwf 	PORTD
	GOTO 	CICLO


Config_Tec
	BANKSEL TRISB
	movlw	b'11110001'
	movwf   TRISB
	bcf 	OPTION_REG,7
	BANKSEL WPUB
	movlw 	0xFF
	movwf	WPUA
	BANKSEL ANSELB
	clrf 	ANSELB
	return

Config_7Seg
	BANKSEL TRISD
	movlw	b'10000000'
	movwf 	TRISD
	BANKSEL ANSELD
	clrf 	ANSELD
	return

Pres_Tec
	BANKSEL PORTB
	clrf 	PORTB
	btfss 	PORTB,RB7
	retlw 	0x0
	btfss 	PORTB,RB6
	retlw 	0x0
	btfss 	PORTB,RB5
	retlw 	0x0
	btfss 	PORTB,RB4
	retlw 	0x0
	retlw   0xFF

Deco_Tec
	BANKSEL PORTB
	movlw b'11110111'
	movwf PORTB
	btfss PORTB,RB7
	retlw 0x1
	btfss PORTB,RB6
	retlw 0x4
	btfss PORTB,RB5
	retlw 0x7
	btfss PORTB,RB4
	retlw 0xA
	movlw b'11111011'
	movwf PORTB
	btfss PORTB,RB7
	retlw 0x2
	btfss PORTB,RB6
	retlw 0x5
	btfss PORTB,RB5
	retlw 0x8
	btfss PORTB,RB4
	retlw 0x0
	movlw b'11111101'
	movwf PORTB
	btfss PORTB,RB7
	retlw 0x3
	btfss PORTB,RB6
	retlw 0x6
	btfss PORTB,RB5
	retlw 0x9
	btfss PORTB,RB4
	retlw 0xB
	retlw 0xFF



Deco_7Seg
	brw
	retlw 0x3F
	retlw 0x06
	retlw 0x5B
	retlw 0x4F
	retlw 0x66
	retlw 0x6D
	retlw 0x7C
	retlw 0x07
	retlw 0x7F
	retlw 0x67
	retlw 0x63
	retlw 0x5C

    END


