	LIST P=16F628A
	#INCLUDE "P16F628A.INC"
	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF &  _INTRC_OSC_NOCLKOUT  & _MCLRE_ON & _LVP_OFF

	CBLOCK	0X20
	TAR1
	TAR1_S	
	TAR2
	TAR1_M
	TAR2_S
	TAR2_M
	COUNT
	COUNT_S
	COUNT_M
	COUNT1
	COUNT2
	COUNT3
	WORK
	WORK2
	DISP
	SZAM1
	SZAM2
	SZAMOL1
	SZAMOL1_K
	SZAMOL1_K1
	SZAMOL2
	SZAMOL2_K
	SZAMOL2_K1
	SZAMOL3
	SZAMOL3_K
	SZAMOL3_K1
	FIGY
	FIGY5
	FIGY5_S
	FIGY5_M

	ENDC

	ORG	0

BEALLIT

	BSF	STATUS,5		;VÁLTÁS BANK1-RE
	BCF	STATUS,6
	CLRF	TRISA			
	MOVLW	B'10010001'	;PORTA 0. 4. 7. BITJE BEMENET
	MOVWF	TRISA
	
	MOVLW	B'11000000'	;PORTB 6 nyomáskapcsoló-  7 kézi indítás bemenet
	MOVWF	TRISB
	BCF	STATUS,RP1		;VISSZA VÁLTOK BANK0-RA
	BCF	STATUS,RP0
	BSF	CMCON,CM0		;PORTA DIGITÁLIS-RA ÁLLÍTOM
	BSF	CMCON,CM1
	BSF	CMCON,CM2
	CLRF 	PORTA	
	CLRF	PORTB
	BSF	PORTA,1	


;--------------------------------------------------------------------------------------------------
	
	
INITIAL	
			CALL	DISPINI		;KIJELZŐ INICIALIZÁLÁS INDÍTÁSA
			CALL	USRCHR
	
;welcome screen

NOP
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'S'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'y'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'3'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR

WSL2

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	

	CALL	VILL
	CALL	VILL
	CALL	VILL
	CALL	VILL

	CALL	IDOZIT

AUTOMOD	

	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'A'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'u'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	0xF5
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'6'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR


	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR	
	MOVLW	D'126'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'A'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'127'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR	
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR
	
	CALL	IDOZIT
	
INDUL

	BCF	PORTA,6	;Hibajelző LED kikapcsolása
	BCF	PORTA,3	;relé kikapcsolása



;---------------------------------------------------------------------------------------------------------------------------------------------------
;                           								Automata üzemmód
;---------------------------------------------------------------------------------------------------------------------------------------------------

HANDK
			
	BTFSC	PORTB,7
	GOTO	HANDGET

BEOLVAS

	CLRF	TAR1
	CLRF	TAR2
	CLRF	COUNT

	; SPI comm start

	BCF	PORTA,1		;CHIPSELECT ALACSONYRA ÁLLÍTÁSA
	BSF	PORTA,2		;ÓRAJEL FELFUT
	BTFSS	PORTA,0		;HA PORTA0 ÉRTEKE 1, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT, EZ A 15. BIT BEOLVAÁSÁA
	BCF 	TAR1,0	
	BTFSC 	PORTA,0		;HA PORTA0 ÉRTEKE 0, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT
	BSF 	TAR1,0
	BCF	PORTA,2 		;ÓRAJEL LEFUT

	NOP		
	

	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,7
	BTFSC	PORTA,0		
	BSF	TAR2,7
	BCF	PORTA,2 	

	NOP		

		
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,6
	BTFSC	PORTA,0		
	BSF	TAR2,6
	BCF	PORTA,2 	

	NOP			

	
	BSF	PORTA,2		
	BTFSS	PORTA,0	
	BCF	TAR2,5
	BTFSC	PORTA,0	
	BSF	TAR2,5
	BCF	PORTA,2 	
	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,4
	BTFSC	PORTA,0	
	BSF	TAR2,4
	BCF	PORTA,2 	

	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,3
	BTFSC	PORTA,0	
	BSF	TAR2,3
	BCF	PORTA,2 		
	NOP		

	
	BSF	PORTA,2	
	BTFSS	PORTA,0		
	BCF	TAR2,2
	BTFSC	PORTA,0	
	BSF	TAR2,2
	BCF	PORTA,2 	

	NOP		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,1
	BTFSC	PORTA,0	
	BSF	TAR2,1
	BCF	PORTA,2		

	NOP		
		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2,0
	BTFSC	PORTA,0		
	BSF	TAR2,0
	BCF	PORTA,2 		

	NOP			

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,1



;	-------------------------------------- ÉRTÉKEK SZÁMÍTÁSA-------------------------------


	MOVFW	TAR2
	MOVWF	FIGY5

	CALL	KI


SZAMIT

	MOVLW	D'10'
	BSF		STATUS,0			;CARRY BIT 1-RE ÁLLÍTÁSA
	SUBWF	TAR2,F			;HA TAR2 ÉRTÉKE KISEBB 10-NÉL AKKOR UGRUNK KIIR-HEZ
	BTFSS	STATUS,0
	GOTO	KIIR
	INCF	COUNT
	GOTO	SZAMIT

	
KIIR

	MOVLW	D'10'	
	ADDWF	TAR2,F
	MOVLW	D'48'
	ADDWF	COUNT,F
	MOVLW	D'48'
	ADDWF	TAR2,F



ERRCORR		;max hőfok 60

	MOVLW	D'60' 
	BSF		STATUS,C
	SUBWF	FIGY5,W		
	BTFSS		STATUS,C
	GOTO		FAZIS_FIGY	
	BTFSC		STATUS,C
	GOTO		BEOLVAS

FAZIS_FIGY	; fáziskimaradás esetén kikapcsolja a szivattyút

	BTFSS		PORTA,7
	GOTO		AL_FAZIS
	GOTO 		FIGYI

VISSZA			;ha újra megvan a 3 fázis, akkor elindul a szivattyú
	
	CALL		IDOZIT
	CALL		IDOZIT
	CALL 		IDOZIT
	CALL		IDOZIT
	CALL		INDUL2
	GOTO		FAZIS_FIGY

FIGYI 		; túlmelegedés esetén kikapcsolja a szivattyút

	MOVLW	D'27'
	BSF		STATUS,C
	SUBWF	FIGY5,W		
	BTFSS		STATUS,C
	GOTO		NORM_UZEM	
	BTFSC		STATUS,C
	GOTO		ALWR

NYOMKAPCS
					
	BTFSS		PORTB,6
	GOTO		HANDK
	CALL		IDOZITKICSI
	GOTO		BEOLVAS2

;----------------------------------------------Eredmények kiírása-----------------------------------------------------------------


NORM_UZEM

	MOVLW	0x00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'S'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'y'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'3'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'h'
	MOVWF	DISP
	CALL		CHAR
      	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	
	
NORM_UZEM2

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'H'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'4'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'7'
	MOVWF	DISP
	CALL		CHAR
	MOVFW	COUNT
	MOVWF	DISP
	CALL		CHAR
	MOVFW	TAR2
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'5'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'C'
	MOVWF	DISP
	CALL		CHAR
	GOTO		NYOMKAPCS

ALWR	; túlmelegedés esetén kikapcsolja a szivattyút

	BCF		PORTA,3	;relé kikapcsolása
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	D'126'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'T'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'3'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'g'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'127'
	MOVWF	DISP
	CALL		CHAR

STOP_MSG

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'M'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'g'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'1'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	
	
	
BUTTON_PRESS	; csak akkor aktiválja ismét a szivattyút, ha hosszú gombnyomás történik

	CALL	VILL
	CALL	VILL
	CALL	VILL
	CALL	VILL
	CALL	VILL
	CALL	VILL
	CALL	VILL
	BTFSS	PORTA,4
	GOTO	BUTTON_PRESS
	CALL	IDOZIT
	CALL	IDOZIT
	GOTO	INDUL

AL_FAZIS	; fáziskimaradás esetén kikapcsolja a szivattyút

	CALL		IDOZITKICSI1
	BSF		PORTA,6	;LED bekapcsolása
	BCF		PORTA,3	;relé kikapcsolása
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'F'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR

STOP_MSG2

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'I'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'n'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'1'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'	
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR

	GOTO		VISSZA


;---------------------------------------------------------------------------------------------------------------------------------------------------
;                           								Kézi indítás
;---------------------------------------------------------------------------------------------------------------------------------------------------

HANDGET

	NOP
					
BEOLVAS3
	
	CLRF	TAR1_M
	CLRF	TAR2_M
	CLRF	COUNT_M

	; SPI comm start

	BCF	PORTA,1		;CHIPSELECT ALACSONYRA ÁLLÍTÁSA
	BSF	PORTA,2		;ÓRAJEL FELFUT
	BTFSS	PORTA,0		;HA PORTA0 ÉRTEKE 1, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT, EZ 
								;A 15. BIT BEOLVAÁSÁA
	BCF 	TAR1_M,0	
	BTFSC 	PORTA,0		;HA PORTA0 ÉRTEKE 0, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT
	BSF 	TAR1_M,0
	BCF	PORTA,2 		;ÓRAJEL LEFUT

	NOP		
	

	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,7
	BTFSC	PORTA,0		
	BSF	TAR2_M,7
	BCF	PORTA,2 	

	NOP		

		
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,6
	BTFSC	PORTA,0		
	BSF	TAR2_M,6
	BCF	PORTA,2 	

	NOP			

	
	BSF	PORTA,2		
	BTFSS	PORTA,0	
	BCF	TAR2_M,5
	BTFSC	PORTA,0	
	BSF	TAR2_M,5
	BCF	PORTA,2 	
	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,4
	BTFSC	PORTA,0	
	BSF	TAR2_M,4
	BCF	PORTA,2 	

	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,3
	BTFSC	PORTA,0	
	BSF	TAR2_M,3
	BCF	PORTA,2 		
	NOP		

	
	BSF	PORTA,2	
	BTFSS	PORTA,0		
	BCF	TAR2_M,2
	BTFSC	PORTA,0	
	BSF	TAR2_M,2
	BCF	PORTA,2 	

	NOP		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,1
	BTFSC	PORTA,0	
	BSF	TAR2_M,1
	BCF	PORTA,2		

	NOP		
		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_M,0
	BTFSC	PORTA,0		
	BSF	TAR2_M,0
	BCF	PORTA,2 		

	NOP			

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,1



;	-------------------------------------- ÉRTÉKEK SZÁMÍTÁSA-------------------------------


	MOVFW	TAR2_M
	MOVWF	FIGY5_M

	CALL	KI





SZAMIT3

	MOVLW	D'10'
	BSF		STATUS,0			;CARRY BIT 1-RE ÁLLÍTÁSA
	SUBWF	TAR2_M,F		;HA TAR2 ÉRTÉKE KISEBB 10-NÉL AKKOR UGRUNK KIIR-HEZ
	BTFSS		STATUS,0
	GOTO		KIIR3
	INCF		COUNT_M
	GOTO		SZAMIT3

KIIR3

	MOVLW	D'10'	
	ADDWF	TAR2_M,F
	MOVLW	D'48'
	ADDWF	COUNT_M,F
	MOVLW	D'48'
	ADDWF	TAR2_M,F



ERRCORR3		;max hőfok 60

	MOVLW	D'60' 
	BSF		STATUS,C
	SUBWF	FIGY5_M,W		
	BTFSS		STATUS,C
	GOTO		FAZIS_FIGY3	
	BTFSC		STATUS,C
	GOTO		BEOLVAS3

FAZIS_FIGY3	; fáziskimaradás esetén kikapcsolja a szivattyút

	BTFSS		PORTA,7
	GOTO		AL_FAZIS_3
	GOTO 		FIGYI3

VISSZA3		;ha újra megvan a 3 fázis, akkor elindul a szivattyú
	
	CALL		IDOZIT
	CALL		IDOZIT
	CALL 		IDOZIT
	CALL		IDOZIT
	CALL		INDUL2
	GOTO		FAZIS_FIGY3

FIGYI3		; túlmelegedés esetén kikapcsolja a szivattyút

	MOVLW	D'27'
	BSF		STATUS,C
	SUBWF	FIGY5_M,W		
	BTFSS		STATUS,C
	GOTO		IDEE3	
	BTFSC		STATUS,C
	GOTO		ALWR

AL_FAZIS_3	; fáziskimaradás esetén kikapcsolja a szivattyút

	CALL	IDOZITKICSI1
	BSF		PORTA,6	;LED bekapcsolása
	BCF		PORTA,3	;relé kikapcsolása
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'F'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR

STOP_MSG2_M

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'M'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'g'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'1'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR

	GOTO		VISSZA3


IDEE3

	CALL	IDOZITKICSI
	BSF	PORTA,3	;relé bekapcsolása
	
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'126'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'K'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'n'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'1'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'127'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR


	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'H'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'4'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'0'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'7'
	MOVWF	DISP
	CALL		CHAR
	MOVFW	COUNT_M
	MOVWF	DISP
	CALL		CHAR
	MOVFW	TAR2_M
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'5'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'C'
	MOVWF	DISP
	CALL		CHAR
		
HAND_BUTT		;kéziben ha elengedem a gombot, akkor ugrik szivstop_3-ra, ha még nyomom vissza a handk-ra
			
	BTFSS	PORTB,7
	GOTO	SZIV_STOP3
	GOTO	HANDK	

SZIV_STOP3

	CALL	IDOZITKICSI
	
	BCF	PORTA,3	;relé OFF

	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'A'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'u'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	0xF5
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'6'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR


	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR	
	MOVLW	D'126'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'A'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'127'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR	
	MOVLW	D'176'
	MOVWF	DISP
	CALL		CHAR
	
	CALL	IDOZIT
	
	GOTO BEOLVAS


;---------------------------------------------------------------------------------------------------------------------------------------------------
;                           								Innentől szivattyúzás folyamatban
;---------------------------------------------------------------------------------------------------------------------------------------------------

BEOLVAS2	
	
	CLRF	TAR1_S
	CLRF	TAR2_S
	CLRF	COUNT_S

	; SPI comm start

	BCF	PORTA,1		;CHIPSELECT ALACSONYRA ÁLLÍTÁSA
	BSF	PORTA,2		;ÓRAJEL FELFUT
	BTFSS	PORTA,0		;HA PORTA0 ÉRTEKE 1, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT, EZ A 15. BIT BEOLVAÁSÁA
	BCF 	TAR1_S,0	
	BTFSC 	PORTA,0		;HA PORTA0 ÉRTEKE 0, AKKOR ÁTUGORJUK AZ ALATTA LÉVŐ SORT
	BSF 	TAR1_S,0
	BCF	PORTA,2 		;ÓRAJEL LEFUT

	NOP		
	

	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,7
	BTFSC	PORTA,0		
	BSF	TAR2_S,7
	BCF	PORTA,2 	

	NOP		

		
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,6
	BTFSC	PORTA,0		
	BSF	TAR2_S,6
	BCF	PORTA,2 	

	NOP			

	
	BSF	PORTA,2		
	BTFSS	PORTA,0	
	BCF	TAR2_S,5
	BTFSC	PORTA,0	
	BSF	TAR2_S,5
	BCF	PORTA,2 	
	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,4
	BTFSC	PORTA,0	
	BSF	TAR2_S,4
	BCF	PORTA,2 	

	NOP		

	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,3
	BTFSC	PORTA,0	
	BSF	TAR2_S,3
	BCF	PORTA,2 		
	NOP		

	
	BSF	PORTA,2	
	BTFSS	PORTA,0		
	BCF	TAR2_S,2
	BTFSC	PORTA,0	
	BSF	TAR2_S,2
	BCF	PORTA,2 	

	NOP		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,1
	BTFSC	PORTA,0	
	BSF	TAR2_S,1
	BCF	PORTA,2		

	NOP		
		
	
	
	BSF	PORTA,2		
	BTFSS	PORTA,0		
	BCF	TAR2_S,0
	BTFSC	PORTA,0		
	BSF	TAR2_S,0
	BCF	PORTA,2 		

	NOP			

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP

	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,2
	NOP
	NOP
	BCF	PORTA,2
	NOP
	NOP


	BSF	PORTA,1



;	-------------------------------------- ÉRTÉKEK SZÁMÍTÁSA-------------------------------


	MOVFW	TAR2_S
	MOVWF	FIGY5_S

	CALL	KI


SZAMIT2

	MOVLW	D'10'
	BSF		STATUS,0			;CARRY BIT 1-RE ÁLLÍTÁSA
	SUBWF	TAR2_S,F			;HA TAR2 ÉRTÉKE KISEBB 10-NÉL AKKOR UGRUNK KIIR-HEZ
	BTFSS	STATUS,0
	GOTO	KIIR2
	INCF	COUNT_S
	GOTO	SZAMIT2

	
KIIR2

	MOVLW	D'10'	
	ADDWF	TAR2_S,F
	MOVLW	D'48'
	ADDWF	COUNT_S,F
	MOVLW	D'48'
	ADDWF	TAR2_S,F



ERRCORR2		;max hőfok 60

	MOVLW	D'60' 
	BSF		STATUS,C
	SUBWF	FIGY5_S,W		
	BTFSS		STATUS,C
	GOTO		FAZIS_FIGY2	
	BTFSC		STATUS,C
	GOTO		BEOLVAS2

FAZIS_FIGY2	; fáziskimaradás esetén kikapcsolja a szivattyút

	BTFSS		PORTA,7
	GOTO		AL_FAZIS_2
	GOTO 		FIGYI2

VISSZA2		;ha újra megvan a 3 fázis, akkor elindul a szivattyú
	
	CALL		IDOZIT
	CALL		IDOZIT
	CALL 		IDOZIT
	CALL		IDOZIT
	CALL		INDUL2
	GOTO		FAZIS_FIGY2

FIGYI2		; túlmelegedés esetén kikapcsolja a szivattyút

	MOVLW	D'27'
	BSF		STATUS,C
	SUBWF	FIGY5_S,W		
	BTFSS		STATUS,C
	GOTO		IDEE	
	BTFSC		STATUS,C
	GOTO		ALWR

AL_FAZIS_2	; fáziskimaradás esetén kikapcsolja a szivattyút

	CALL	IDOZITKICSI1
	BSF		PORTA,6	;LED bekapcsolása
	BCF		PORTA,3	;relé kikapcsolása
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'F'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'k'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'd'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR

STOP_MSG2_S

	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'M'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'g'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'1'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR

	GOTO		VISSZA2


IDEE
	
	BSF	PORTA,3	;relé bekapcsolása
	
	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'S'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'i'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'y'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'3'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'z'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	's'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR


	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	'F'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'o'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'y'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'm'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'b'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'n'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVFW	COUNT_S
	MOVWF	DISP
	CALL		CHAR
	MOVFW	TAR2_S
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'5'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'C'
	MOVWF	DISP
	CALL		CHAR
	
NYOMKAPCS2
					
	BTFSS		PORTB,6
	GOTO		SZIV_STOP
	GOTO		BEOLVAS2

SZIV_STOP

	CALL	IDOZIT
	
	BCF	PORTA,3	;relé OFF

	MOVLW	0X00
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'T'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'a'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'r'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'2'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'y'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR


	MOVLW	0X40
	MOVWF	DISP
	CALL		ADDRESS
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'F'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	D'239'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'l'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	't'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'v'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'e'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	'!'
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	MOVLW	' '
	MOVWF	DISP
	CALL		CHAR
	
	CALL	IDOZIT
	CALL	IDOZIT
	
	GOTO BEOLVAS





	

;--------------------------------------------------KIJELZŐ KEZELÉS-----------------------------------------------


ADDRESS	

	MOVF	DISP,W		;KEZDŐ POZÍCIÓ
	MOVWF	WORK
	BSF	WORK,7
	SWAPF	WORK,F
	MOVLW	B'00001111'
	ANDWF	WORK,F
	CALL	BIT2PIN
	MOVF	WORK,W
	MOVWF	PORTB
	CALL	TICK

	MOVF	DISP,W
	MOVWF	WORK
	MOVLW	B'00001111'
	ANDWF	WORK,F
	CALL	BIT2PIN
	MOVF	WORK,W
	MOVWF	PORTB
	CALL	TICK
	RETURN



CGADDR						;input in DISP
	movf	DISP,W
	movwf	WORK
	bcf	WORK,7
	bsf	WORK,6
	swapf	WORK,F
	movlw	B'00001111'
	andwf	WORK,F
	call	BIT2PIN
	movf	WORK,W
	movwf	PORTB
	call	TICK

	movf	DISP,W
	movwf	WORK
	movlw	B'00001111'
	andwf	WORK,F
	call	BIT2PIN
	movf	WORK,W
	movwf	PORTB
	call	TICK
	return

CHAR	MOVF	DISP,W		;KARAKTER KIÍRÁS
	MOVWF	WORK
	SWAPF	WORK,F
	MOVLW	B'00001111'
	ANDWF	WORK,F
	CALL	BIT2PIN
	BSF	WORK,4
	MOVF	WORK,W
	MOVWF	PORTB
	CALL	TICK

	MOVF	DISP,W
	MOVWF	WORK
	MOVLW	B'00001111'
	ANDWF	WORK,F
	CALL	BIT2PIN
	BSF	WORK,4
	MOVF	WORK,W
	MOVWF	PORTB
	CALL	TICK
	RETURN

USRCHR			;egyedi karakter
	clrf	DISP
	call	CGADDR

	movlw	0x02	;é
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x1F
	movwf	DISP
	call		CHAR
	movlw	0x10
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x02	;í
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x0C
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x02	;á
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x01
	movwf	DISP
	call		CHAR
	movlw	0x0F
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x0F
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x02	;ú
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x13
	movwf	DISP
	call		CHAR
	movlw	0x0D
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x05	;ő
	movwf	DISP
	call		CHAR
	movlw	0x0A
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x07	;celsius jel
	movwf	DISP
	call		CHAR
	movlw	0x05
	movwf	DISP
	call		CHAR
	movlw	0x07
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	movlw	0x02	;ó
	movwf	DISP
	call		CHAR
	movlw	0x04
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x11
	movwf	DISP
	call		CHAR
	movlw	0x0E
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR


	movlw	0x00	;balra igazított kettős pont
	movwf	DISP
	call		CHAR
	movlw	0x18
	movwf	DISP
	call		CHAR
	movlw	0x18
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x18
	movwf	DISP
	call		CHAR
	movlw	0x18
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR
	movlw	0x00
	movwf	DISP
	call		CHAR

	return


DISPINI	CLRF	PORTB
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	CALL	DELAYLO
	MOVLW	B'000011'		;TO 8BIT
	MOVWF	PORTB
	CALL	DELAYLO
	CALL	TICKLNG
	CALL	DELAYLO
	MOVLW	B'000000'		;DUMMY
	MOVWF	PORTB
	CALL	DELAYLO
	CALL	TICKLNG
	CALL	DELAYLO
	
	MOVLW	B'000010'		;TO 4BIT
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'000010'		;INI 1/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'001000'		;INI 2/2
	MOVWF	PORTB
	CALL	TICKLNG	

	MOVLW	B'000000'		;DISP 1/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'001100'		;DISP 2/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'000000'		;MOV 1/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'000110'		;MOV 2/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'000000'		;CLR 1/2
	MOVWF	PORTB
	CALL	TICKLNG
	MOVLW	B'000001'		;CLR 2/2
	MOVWF	PORTB
	CALL	TICKLNG
	RETURN

BIT2PIN	CLRF	WORK2
	BTFSC	WORK,0
	BSF	WORK2,0
	BTFSC	WORK,1
	BSF	WORK2,1
	BTFSC	WORK,2
	BSF	WORK2,2
	BTFSC	WORK,3
	BSF	WORK2,3
	MOVF	WORK2,W
	MOVWF	WORK
	RETURN

DELAY	CLRF	COUNT1
	CLRF	COUNT2			
	MOVLW	D'254'		
	MOVWF	COUNT1		
	MOVLW	D'0'		
	MOVWF	COUNT2			

L3	INCFSZ	COUNT2,F
	GOTO	L3
	INCFSZ	COUNT1,F
	GOTO	L3
	RETURN

DELAYLO	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	RETURN

TICK	CALL	DELAY
	BSF	PORTB,5
	CALL	DELAY
	BCF	PORTB,5
	CALL	DELAY
	RETURN

TICKLNG	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	BSF	PORTB,5
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	BCF	PORTB,5
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	CALL	DELAY
	RETURN


	
IDOZIT

	CLRF SZAMOL1
	CLRF SZAMOL2
	CLRF SZAMOL3
	MOVLW D'25'
 	MOVWF SZAMOL3
 	DECFSZ SZAMOL1,F
 	GOTO $-1
 	DECFSZ SZAMOL2,F
 	GOTO $-3
 	DECFSZ SZAMOL3,F 
 	GOTO $-5
	RETURN



IDOZITKICSI

	CLRF SZAMOL1_K
	CLRF SZAMOL2_K
	CLRF SZAMOL3_K
	MOVLW D'10'
 	MOVWF SZAMOL3_K
 	DECFSZ SZAMOL1_K,F
 	GOTO $-1
 	DECFSZ SZAMOL2_K,F
 	GOTO $-3
 	DECFSZ SZAMOL3_K,F 
 	GOTO $-5
	RETURN


IDOZITKICSI1

	CLRF SZAMOL1_K1
	CLRF SZAMOL2_K1
	CLRF SZAMOL3_K1
	MOVLW D'2'
 	MOVWF SZAMOL3_K1
 	DECFSZ SZAMOL1_K1,F
 	GOTO $-1
 	DECFSZ SZAMOL2_K1,F
 	GOTO $-3
 	DECFSZ SZAMOL3_K1,F 
 	GOTO $-5
	RETURN

VILL

	BSF	PORTA,6
	CALL	IDOZITKICSI1
	BCF	PORTA,6
	CALL	IDOZITKICSI1
	RETURN

INDUL2

	BCF	PORTA,6	;Hibajelző LED kikapcsolása
	BCF	PORTA,3	;relé kikapcsolása
	
	RETURN


KI	MOVLW	B'00000000'
	MOVWF	RCSTA
	RETURN
	END