; **** Encabezado ****
	list p=16F84A
	#include <P16F84A.inc>
	
__CONFIG  _CP_OFF & _XT_OSC & _WDT_OFF 	;Configuracion Fusibles Pic 

CONTADOR EQU 0CH

PulsadorM1 EQU	0
PulsadorM2 EQU  1


Reset ORG 0x00				;El programa comienza en la direccion 0 de memoria del programa
Inicio	
		bsf	STATUS,RP0		;Pone a 1 el bit 5 del STATUS. Acceso al Banco 1
		clrf	TRISB		;Las Lineas del Puerto B se configuran como Salidas
		movlw	b'00000011' 	; Las 2 líneas del Puerto A se configuran como entrada.
		movwf	TRISA		;Las Lineas del Puerto A se Configuran como Entradas
		bcf	STATUS,RP0		;Pone a 0 el bit 5 de STATUS. Acceso al Banco 0
	
		
Config_7Seg	
		movlw	.0
		call Binario_7Seg
		movwf	PORTB

Principal
		btfss	PORTA,PulsadorM1 		;Testeamos si esta a 1 logico(¿El Bit "PulsadorM1" del PuertoA esta en 1 Logico?)
		goto	Sumar		;Salta a la Etiqueta Sumar			
;PulsadorM2
		btfss	PORTA,PulsadorM2 ; Testeamos si esta a 1 logico (¿El Bit "PulsadorM2" del PuertoA esta en 1 Logico?)
		goto	Sumar2
		goto	Principal	;vuelve o salta a la etiqueta Principal
Sumar
		btfss	PORTA,PulsadorM1 	;Compara (o Lee) El puerto  de PORTA Pulsador M1 - 0
		goto	Sumar	
		incf	CONTADOR	;Incrementar "CONTADOR" en 1.
		movf	CONTADOR,W	;Lee la variable CONTADOR
		andlw	b'00001111'
		call 	Binario_7Seg	; LLAMA al display y Convierte a 7 Segmentos.
		movwf	PORTB		;El contenido W se visualiza en PORTB
		goto	Principal	;SAlta al BUCLE "Principal"
Sumar2
		btfss	PORTA,PulsadorM2 	;Compara (o Lee) El puerto  de PORTA Pulsador M2 - 1
		goto	Sumar2	
		incf	CONTADOR
		movf	CONTADOR,W	;Lee la variable CONTADOR
		andlw	b'00001111'
		call 	Binario_7Seg	; Convierte a 7 Segmentos.
		movwf	PORTB		;El contenido W se visualiza en PORTB
		goto	Principal	;SAlta al BUCLE "Principal"


Binario_7Seg

			addwf	PCL,F
			retlw	b'0111111'	; 0	
			retlw	b'0000110'	; 1	
			retlw	b'1011011'	; 2	
			retlw	b'1001111'	; 3	
			retlw	b'1100110'	; 4	
			retlw	b'1101101'	; 5	
			retlw	b'1111101'	; 6	
			retlw	b'0000111'	; 7	
			retlw	b'1111111'	; 8	
			retlw	b'1101111'	; 9	
			clrf	CONTADOR	; Si llega 10, se resetea contador
			retlw	b'0111111'	; 0
			

END