LIST	P=16F628A
#INCLUDE "P16F628A.INC"

__CONFIG _XT_OSC&_CP_OFF&_LVP_OFF&_WDT_OFF&_MCLRE_OFF
	CBLOCK		0x20
		VALT
		TEMPBIN
		IDOZIT
		IDOZIT2
		W2
		S2
		
	ENDC
	
		ORG		0
		GOTO		START
	
		ORG		4
		MOVWF	W2
		MOVFW	STATUS
		MOVWF	S2		
			
		BTFSC	INTCON,INTF
		GOTO	INT

		;IDŐ CSÖKKENTÉSE-TIMER1 	
		
		BCF		PIR1,TMR1IF
		BCF		STATUS,Z
		MOVFW	IDOZIT
		SUBLW	.1
		BTFSS	STATUS,Z
		GOTO	NEMVILL
		BTFSS	PORTA,0
		GOTO	BE
		BCF		PORTA,0
		GOTO	NEMVILL
BE		BSF		PORTA,0


NEMVILL	DECFSZ	IDOZIT2
		GOTO	IDO
		MOVLW	.4
		MOVWF	IDOZIT2
		DECFSZ	IDOZIT
		GOTO	IDO
		MOVLW	.3
		MOVWF	IDOZIT

		DECF	VALT
		GOTO	IDO

		;IDŐ VÁLTOZTATÁSA INT-TEL 

INT		BTFSC	PORTA,2
		GOTO	CSOKK

		;IDŐ NÖVELÉSE
		MOVFW	VALT
		BCF		INTCON,INTF
		BCF		STATUS,C
		SUBLW	.8
		BTFSS	STATUS,C
		GOTO	INTEND	
		INCF	VALT
		MOVLW	.3
		MOVWF	IDOZIT
		MOVLW	.4
		MOVWF	IDOZIT2
		GOTO	IDO

		;IDŐ CSÖKKENTÉSE

CSOKK	DECF	VALT
		MOVLW	.3
		MOVWF	IDOZIT
		MOVLW	.4
		MOVWF	IDOZIT2
	
		;IDOZITOK VISSZAÁLLÍTÁSA

IDO		MOVLW	.0
		MOVWF	TMR1L
		MOVLW	.0
		MOVWF	TMR1H
		
		MOVFW	S2
		MOVFW	W2
		
INTEND	RETFIE


START	BSF		STATUS,RP0
		MOVLW 	0x07
		MOVWF 	CMCON			  
		MOVLW	B'0000100'
		MOVWF	TRISA
		MOVLW	0x01
		MOVWF	TRISB
		BSF 	PIE1,TMR1IE
		BCF		STATUS,RP0
	
		;MEGSZAKÍTÁSOK / TIMER 1
		
		BCF		INTCON,INTF
		BSF		INTCON,INTE
		
		BSF		INTCON,PEIE
		BCF		PIR1,TMR1IF ;TIMER 1 TÚLCSORDULÁS JELZŐBIT NULLÁZÁSA
		BSF		T1CON,T1CKPS0
		BSF		T1CON,T1CKPS1
		CLRF	TMR1L
		CLRF	TMR1H
		BSF		T1CON,TMR1ON	;TIMER 1 ENGEDÉLYEZÉSE
		BSF 	INTCON,GIE
		

		MOVLW	.5
		MOVWF	VALT
		MOVWF	TEMPBIN

		MOVLW	.3
		MOVWF	IDOZIT
		MOVLW	.4
		MOVWF	IDOZIT2
	
		MOVLW	.0
		MOVWF	TMR1L
		MOVLW	.0
		MOVWF	TMR1H
		
		BSF		PORTA,0
		BCF		PORTA,1
		

UJRA	MOVFW	VALT		
		MOVWF	TEMPBIN
		BCF		STATUS,Z
		
		; 7 SZEGMESES
		MOVLW	.0
		SUBWF	TEMPBIN,0
		BTFSC	STATUS,Z
		GOTO	VEGE

		SUBLW	.1
		BTFSC	STATUS,Z
		GOTO	EGY
		MOVFW	TEMPBIN
		
		SUBLW	.2
		BTFSC	STATUS,Z
		GOTO	KETTO
		MOVFW	TEMPBIN

		SUBLW	.3
		BTFSC	STATUS,Z
		GOTO	HAROM
		MOVFW	TEMPBIN

		SUBLW	.4
		BTFSC	STATUS,Z
		GOTO	NEGY
		MOVFW	TEMPBIN

		SUBLW	.5
		BTFSC	STATUS,Z
		GOTO	OT
		MOVFW	TEMPBIN

		SUBLW	.6
		BTFSC	STATUS,Z
		GOTO	HAT
		MOVFW	TEMPBIN

		SUBLW	.7
		BTFSC	STATUS,Z
		GOTO	HET
		MOVFW	TEMPBIN

		SUBLW	.8
		BTFSC	STATUS,Z
		GOTO	NYOLC
		MOVFW	TEMPBIN

		SUBLW	.9
		BTFSC	STATUS,Z
		GOTO	KILENC
		MOVFW	TEMPBIN


EGY		MOVLW	B'01100000'
		MOVWF	PORTB
		GOTO 	UJRA

KETTO	MOVLW	B'10110110'
		MOVWF	PORTB
		GOTO	UJRA

HAROM	MOVLW	B'10011110'
		MOVWF	PORTB
		GOTO	UJRA

NEGY	MOVLW	B'11001100'
		MOVWF	PORTB
		GOTO	UJRA

OT		MOVLW	B'11011010'
		MOVWF	PORTB
		GOTO	UJRA

HAT		MOVLW	B'11111010'
		MOVWF	PORTB
		GOTO	UJRA

HET		MOVLW	B'00001110'
		MOVWF	PORTB
		GOTO	UJRA

NYOLC	MOVLW	B'11111110'
		MOVWF	PORTB
		GOTO	UJRA

KILENC	MOVLW	B'11011110'
		MOVWF	PORTB
		GOTO	UJRA
		
VEGE	BSF		PORTA,1
		BCF		INTCON,GIE
		MOVLW	B'10000000'
		MOVWF	PORTB
		GOTO	VEGE
		END
