;
; Digitális áram és feszültség figyelő, egy relés kimenettel, túláram figyelővel, továbbá kimenet ki-be kapcsoló tasterral
; A program HD44780 processoros, 2x16 karakteres LCD modulhoz iródott
; Lehetőség van egyszerű áram és feszültség mérésre, vagy áram határos relés kimenetelű mérésre
; 
; Irta: Lassú László 2013
;

		list	P=PIC12F675
		include  "P12F675.INC"

	__CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

; GPIO0 = analog bemenet: feszültség / LCDin4
; GPIO1 = analog bemenet: áram / LCDin5 / egyszerű vagy relés mód jamper
; GPIO2 = analog bemenet: Max. áram beállitás /LCDin6 / ON-OFF taster
; GPIO3 = tasterok közös bemenet
; GPIO4 = LCDin7
; GPIO5 = E / RS / relé Tranzisztoros késleltetéssel kombinálva
  
        CBLOCK 0x20 

	ES1B;	0x20	;E=ELSÖ, S=SOR, 1B= ELSÖ BETÜ
	ES2B;	0x21
	ES3B;	0x22
	ES4B;	0x23
	ES5B;	0x24
	ES6B;	0x25
	ES7B;	0x26
	ES8B;	0x27
	ES9B;	0x28
	ES10B;	0x29
	ES11B;	0x2A
	ES12B;	0x2B
	ES13B;	0x2C
	ES14B;	0x2D
	ES15B;	0x2E
	ES16B;	0x2F
	;	0x30
	MS1B;	0x30	;M=MÁSODIK, S=SOR, 1B= ELSÖ BETÜ
	MS2B;	0x31
	MS3B;	0x32
	MS4B;	0x33
	MS5B;	0x34
	MS6B;	0x35
	MS7B;	0x36
	MS8B;	0x37
	MS9B;	0x38
	MS10B;	0x39
	MS11B;	0x3A
	MS12B;	0x3B
	MS13B;	0x3C
	MS14B;	0x3D
	MS15B;	0x3E
	MS16B;	0x3F
	ES2BA;	IDEIGLENES KARAKTEREK
	ES3BA;	
	ES5BA;

		BETUMOD			;ÉPPEN FELDOLGOZANDO KARAKTER REG. FELDARABOLVA
   		ADC_lo
    	ADC_hi
		AMP404			;40 AMPER 4 AMPER VÁLTOZÓ. HA 0-40A, HA 1-4A
		LOVALT
        T1 
        T2 
		T3
		T4
		KIREN			;KARAKTEROK KIRAKÁSÁNAK MEGSZAKITÁS VÁLTOZOJA
		MAXHI			;MAXIMUM AMP RÖGZIÉS
		MAXLO			;MAXIMUM AMP RÖGZIÉS
		AMPHI			;ÁRAM RÖGZIÉS
		AMPLO			;ÁRAM RÖGZIÉS
		KESL			;MÉRÉS KÉSLELTETÉS
		ONOFF			;KI BE KAPCSOLÁS VÁLTOZO RELÉHEZ
		KAPCS			;HA A KIMENET VÁLTOZO AKTIV
		OVERL			;TULTERHELÉS BIT
		MOD				;RELE / EGYSZEÜ ÜZEM
		IDEIG			;TRISIONAK ELÖKÉSZITETT ADAT GOMBOKNÁL
        ENDC 



    BCF		STATUS,RP0	 ;Bank 0
    CLRF   	GPIO			 ;Init GPIO
    MOVLW   b'00000111'	 ;Set GP<2:0> to
    MOVWF   CMCON		 ;digital IO - Komparátor kikapcsolása
    BSF   	STATUS,RP0	 ;Bank 1
    CLRF   	ANSEL		 ;Digital I/O - Összes láb dihitális módra állítása
    banksel TRISIO
    MOVLW   b'00001000'	 ;Set GP<3:2> as inputs
    MOVWF   TRISIO		 ;and set GP<5:4,1:0> as outputs
    BCF   	STATUS,RP0	 ;Bank 0


;---- KEZDETI LCD BEÁLLITÁSOK -------

		BCF		KAPCS,0			;RELE KIMENET VÁLTOZÓ TÖRLÉS
		BSF		ONOFF,0			;RELE KIMENET AKTIV
		BSF		GPIO,5			;LCD VEZÉR KIMENET ALAPHELYZETBE
		BCF		KIREN,0			;KARAKTER KIRAK MIND
		BCF		OVERL,0
		MOVLW   d'4' 			;MÉRÉS TULTERHELÉS AKTIIVÁLÁS KÉSLELTETÉS ÉRTÉKE
        MOVWF   KESL
		CALL	SZUNET			;VÁRAKOZÁS AZ LCD BEINDULÁSRA
		CALL	SZUNET
		CALL	SZUNET

		CALL	TORLES			;KIMENETEK TÖRLÉSE


START
    	MOVLW   b'00100010'	 	;LCD 4 BITES MODRA VÁLTÁS 4
		MOVWF   BETUMOD
		CALL	KOZBEN

		MOVLW   B'00101000'	 	;LCD 4 BITES MODRA VÁLTÁS 5
		CALL	LCDCONF

    	MOVLW   b'00001100'	 	;LCD  
		CALL	LCDCONF

		CALL 	IMPULS
 		MOVLW   B'00000001'		; TÖRLÉS
		CALL	LCDCONF

		CALL 	IMPULS
 		MOVLW   B'10000000'		; 
		CALL	LCDCONF
		CALL 	SZUNET
		
		CALL	KEZSZ



;----------------------------
;---- PROGRAM GERINC -------
;----------------------------

GERINC 
		BTFSC	MOD,0			;EGYSZERÜ VAGY RELÉS MOD
		GOTO	EGYSZ			;HA EGYSZERÜ
		CALL	ANALVOLT		;FESZÜLTSÉG ANALIZÁLÁS
  		MOVFW   ES2BA			;FESZ. ÉRTÉKEK BEIRÁSA
  		MOVWF   ES2B
  		MOVFW   ES3BA
  		MOVWF   ES3B
  		MOVFW   ES5BA
  		MOVWF   ES5B
		MOVLW   b'10000000'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	KIRAK
		INCF	KESL
		CALL	GOMB
;-----------------------------

		CALL	ANALAMP
  		MOVFW   ES2BA			;ÁRAM ÉRTÉKEK BEIRÁSA
  		MOVWF   ES11B
		BTFSC	AMP404,0		;ÁRAM ERÖSSÉG VÁLTÁS
		GOTO	TIZED5
		MOVFW   ES3BA
		MOVWF   ES12B			;SZÁZAD AMPER BEIRÁS
		MOVLW   b'00101100'	 	;,
   		MOVWF   ES13B
		GOTO	EZRED

TIZED5	MOVFW   ES3BA
		MOVWF   ES13B			;TIZED AMPER BEIRÁS
		MOVLW   b'00101100'	 	;,
   		MOVWF   ES12B

EZRED	MOVFW   ES5BA
  		MOVWF   ES14B
		MOVLW   b'10001001'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	AMPER			;BEÁLLITOTT ÉRTÉKEK KIIRÁSA

		CALL	GOMB
		INCF	KESL

;---------------------
		CALL	ANALMAX
  		MOVFW   ES2BA			;MAX ÁRAM ÉRTÉKEK BEIRÁSA
  		MOVWF   MS12B
		BTFSC	AMP404,0		;ÁRAM ERÖSSÉG VÁLTÁS
		GOTO	TIZED6
  		MOVFW   ES3BA
  		MOVWF   MS13B
		MOVLW   b'00101100'	 	;,
  		MOVWF   MS14B
		GOTO	EZREDA

TIZED6	MOVFW   ES3BA
		MOVWF   MS14B			;TIZED AMPER BEIRÁS
		MOVLW   b'00101100'	 	;,
   		MOVWF   MS13B

EZREDA	MOVFW   ES5BA
  		MOVWF   MS15B
		MOVLW   d'4' 			;MÉRÉS KÉSLELTETÉS 
        MOVWF   KESL
MAXTOV	MOVLW   b'11001011'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	MAXA			;BEÁLLITOTT ÉRTÉKEK KIIRÁSA
		CALL	GOMB
		CALL	HASONL			;KÜLDÉS MAX AMPER OSSZEHASONLITÁSRA

		GOTO	GERINC
;----- GERINC VÉGE ------------
;------------------------

EGYSZ	CALL	ANALVOLT
  		MOVLW   b'00100000'	 ;_
   		MOVWF   ES1B
  		MOVFW   ES2BA			;FESZ. ÉRTÉKEK BEIRÁSA
  		MOVWF   ES2B
  		MOVFW   ES3BA
  		MOVWF   ES3B
  		MOVFW   ES5BA
  		MOVWF   ES5B
		MOVLW   b'10000000'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	KIRAK

	;	INCF	KESL
		CALL	GOMBE
;-----------------------------

		CALL	ANALAMP
  		MOVLW   b'00100000'	 ;_
   		MOVWF   ES10B
  		MOVFW   ES2BA			;ÁRAM ÉRTÉKEK BEIRÁSA
  		MOVWF   ES11B
		BTFSC	AMP404,0		;ÁRAM ERÖSSÉG VÁLTÁS
		GOTO	TIZED5E
		MOVFW   ES3BA
		MOVWF   ES12B			;SZÁZAD AMPER BEIRÁS
		MOVLW   b'00101100'	 	;,
   		MOVWF   ES13B
		GOTO	EZREDE

TIZED5E	MOVFW   ES3BA
		MOVWF   ES13B			;TIZED AMPER BEIRÁS
		MOVLW   b'00101100'	 	;,
   		MOVWF   ES12B

EZREDE	MOVFW   ES5BA
  		MOVWF   ES14B
		MOVLW   b'10001001'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	AMPER			;BEÁLLITOTT ÉRTÉKEK KIIRÁSA

		CALL	GOMBE

		GOTO	GERINC

;---------- GOMBOK ------------------
; -    GOMB 2 RELE KI BE  FLIP FLOP -

GOMB
; ------- GOMB 3 --------
		CALL	TORLES			;KIMENETEK TÖRLÉSE
		BSF		GPIO,1			;EZ A LÁBAT FIGYELJE A GPIO3
		BTFSS	GPIO,3
		GOTO	GOMB4
		BSF		MOD,0

		RETURN
GOMB4	BCF		MOD,0

;--------------------------
GOMB5	CALL	TORLES			;KIMENETEK TÖRLÉSE
		BSF		GPIO,2			;EZ A LÁBAT FIGYELJE A GPIO3
		BTFSC	KAPCS,0
		GOTO	GPNEM
		BTFSS	GPIO,3
		GOTO	FOLYTA
		BSF		KAPCS,0
		INCF	ONOFF,F			;MEGFORDITJA A VÁLTOZÓT
		GOTO	FOLYTB
FOLYTA	BCF		KAPCS,0

		BTFSC	ONOFF,0
		GOTO	KIAKT			;KÜLDÉS KIIRÁS ON
		BTFSC	OVERL,0
		GOTO	FOLYTB

    	MOVLW   b'01000110'	; F
   		MOVWF   MS6B
   		MOVWF   MS7B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES10B
   		MOVWF   ES1B

;---- 40 AMPER - 4 AMPER VÁLTÁS. GPIO4 ---
;     ki van kapcsolva 

FOLYTB	MOVLW   b'11000101'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF

		CALL	ONOFV
		CALL	TORLES			;KIMENETEK TÖRLÉSE
		BSF		GPIO,4			;EZ A LÁBAT FIGYELJE A GPIO3
		BCF		AMP404,0			;VÁLTOZO TÖRLÉS
	;	BTFSC	GPIO,3			;HA A BEMENET AKTIV		(itt aktivál)
	;	BSF		AMP404,0			;VÁLTOZO AKTIVÁL	(itt aktivál)
		RETURN

GOMBE
; ------- GOMBE 3 --------
		CALL	TORLES			;KIMENETEK TÖRLÉSE
		BSF		GPIO,1			;EZ A LÁBAT FIGYELJE A GPIO3
		BTFSS	GPIO,3			;MÉG MINDÉG EGYSZERÜ MODBAN VAN E
		GOTO	GOMBE4			;HA NEM
		BSF		MOD,0
		CALL	TORLES
		BCF		KIREN,0			;ENGEDÉLYEZI AZ EGÉSZ LCD KIIRÁST
		CALL	VOLTAMP			;VOLT AMPER KIIRÁS
		CALL	FOLYTB			;EGYSZEÜ MODBAN IS FIGYELJE AZ ÁRAM TIPUST
		RETURN
GOMBE4	BCF		MOD,0			;KIKAPCSOLJ AZ EGYSZERÜ MODOT
		BCF		KIREN,0
		CALL	BEKAP			;KIIR OUT:
		BSF		KIREN,0

		RETURN


;---- MAX ÉS MÉRT ÁRAM SZÁMITÁS -----

HASONL							;ELSÖ KKARAKTER HASONLITÁS
		MOVFW	MAXHI			;W BE RAKÁS
		SUBWF	AMPHI			;KIVONÁS W BÖL
		BTFSC	STATUS,Z		;0 ÉRTÉK VIZSGÁLÁS
		GOTO	HASTOV			;HA IGEN
		BTFSC	STATUS,C		;TULCSORDULÁS ÉRTÉK VIZS..
		GOTO	TULTERH			;HA IGENMÁSODIK SZÁMJEGY HASONLITÁS
		RETURN

HASTOV	MOVFW	MAXLO			;MÁSODIK SZÁMJEGY HASONLITÁS
		SUBWF	AMPLO			;KIVONÁS W BÖL
		BTFSC	STATUS,Z
		RETURN
		BTFSC	STATUS,C
		GOTO	TULTERH	
		RETURN
;----- TULTERHELÉS --------

TULTERH	MOVLW    d'4'			;TULTERHELÉS MIATT
		MOVWF	T4				;KIMENET KIKAPCSOLÁS KÉSLELTETÉS
TULT	CALL	KIRAK
		DECFSZ  T4,f 
		GOTO	TULT

		BCF		ONOFF,0			;TULTERHELÉS. KIKAPCSOLJA A KIMENETET
		BSF		OVERL,0			;AKTIVÁLJA A TULTERHELÉS VÁLTOZOT
		BCF		KIREN,0			;ENGEDÉLYEZI AZ EGÉSZ LCD KIIRÁST
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES10B
   		MOVWF   ES1B
		CALL	TULTKI
		BSF		KIREN,0			;TILTJA AZ EGÉSZ LCD KIIRÁST



		RETURN
; ------------------------

;
GPNEM	BTFSC	GPIO,3	
		GOTO	FOLYTB
		GOTO	FOLYTA

;-      KIIRÁS ON

KIAKT  	MOVLW   b'01001110'	; N
   		MOVWF   MS6B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS7B
    	MOVLW   b'01111110'	 ;nyil
   		MOVWF   ES10B
   		MOVWF   ES1B
		BTFSS	OVERL,0
		GOTO	FOLYTB
		BCF		KIREN,0
		CALL	BEKAP
		BSF		KIREN,0
		BCF		OVERL,0
		GOTO	FOLYTB

;---  BÁJTOK KÓDOLÁSA LCD-NEK   ---

LCDCONF							;KIMENET MEGADÁS
		MOVWF	BETUMOD			;BYT ELSÖ FELÉNEK KIRAKÁSA
		BTFSC	BETUMOD,4
		BSF		GPIO,0
		BTFSC	BETUMOD,5
		BSF		GPIO,1
		BTFSC	BETUMOD,6
		BSF		GPIO,2
		BTFSC	BETUMOD,7
		BSF		GPIO,4
		CALL	LCDBE

KOZBEN	BTFSC	BETUMOD,0		;BYT MÁSODIK FELÉNEK KIRAKÁSA
		BSF		GPIO,0
		BTFSC	BETUMOD,1
		BSF		GPIO,1
		BTFSC	BETUMOD,2
		BSF		GPIO,2
		BTFSC	BETUMOD,3
		BSF		GPIO,4			
		CALL	LCDBE
		RETURN

;------ BETÜ KIIRÁS --------

KIIRAS							;KARAKTER MEGADÁS
		MOVWF	BETUMOD			;BETÜ ELSÖ FELÉNEK KIRAKÁSA
		BTFSC	BETUMOD,4
		BSF		GPIO,0
		BTFSC	BETUMOD,5
		BSF		GPIO,1
		BTFSC	BETUMOD,6
		BSF		GPIO,2
		BTFSC	BETUMOD,7
		BSF		GPIO,4
		CALL	KIRAS

		BTFSC	BETUMOD,0		;BETÜ MÁSODIK FELÉNEK KIRAKÁSA
		BSF		GPIO,0
		BTFSC	BETUMOD,1
		BSF		GPIO,1
		BTFSC	BETUMOD,2
		BSF		GPIO,2
		BTFSC	BETUMOD,3
		BSF		GPIO,4
		CALL	KIRAS

		RETURN


KIRAS	BCF		GPIO,5			;KARAKTER KIMENET ENGED
		CALL 	BETIMP			;KARAKTER KIMENET IDÖZITÖ
		BTFSC	ONOFF,0			;RELE KIMENET ENGEDÉLYT MEGNÉZ
		CALL	KIID			;HA IGEN
		BSF		GPIO,5
		MOVLW    d'1' 			;IDÖ MEGADÁS A KÜLSÖ KONDIKNAK
		MOVWF   T3
		CALL 	DELC			;KÜLDÉS
		CALL	TORLES			;KIMENETEK TÖRLÉSE
		RETURN 	

KIID	MOVLW    d'1' 
		MOVWF   T3
		CALL 	DELC
		RETURN

;----- BETÜ ADATAINAK KITOLÁSA AZ IC-RE ----------------

LCDBE	BCF		GPIO,5			;LCD BEÁLLITÁS KIMENET ENGED
		CALL 	IMPULS			;LCD BEÁLLITÁS KIMENET IDÖZITÖ
		BSF		GPIO,5
		MOVLW    d'1' 			;IDÖ MEGADÁS A KÜLSÖ KONDIKNAK 
		MOVWF   T3
		CALL 	DELC			;KÜLDÉS
		CALL	TORLES			;KIMENETEK TÖRLÉSE

VISZ	RETURN 

;----- IDÖZITÖK ------

SZUNET	MOVLW    d'80' 
        MOVWF   T3
DELC	MOVLW    d'40' 
        MOVWF   T1
DEL1C   MOVLW    d'10' 
        MOVWF   T2 
DEL2C	NOP
		NOP

		DECFSZ  T2,f 
        GOTO    DEL2C
        DECFSZ  T1,f 
        GOTO    DEL1C
        DECFSZ  T3,f 
        GOTO    DELC 
		RETURN
;--------------------------------------------

IMPULS	MOVLW    d'40' 			
        MOVWF   T3
VISSZ   DECFSZ  T3,f 
        GOTO    VISSZ
		RETURN
;----------------------------------


BETIMP	MOVLW    d'250' 
        MOVWF   T3
VISA    DECFSZ  T3,f 
        GOTO    VISA
		RETURN

;-----  KIMENETEK TÖRLÁSE ------

TORLES	BCF		GPIO,0	
		BCF		GPIO,1
		BCF		GPIO,2	
		BCF		GPIO,4
		RETURN

;------- ANALOG RÉSZ ----------
; -----  ADC OLVASÁS

ANALOG
 		CALL	IMPULS
 		CALL	IMPULS
     	BANKSEL ADCON0
     	BSF     ADCON0,1    	;CONVERZIO INDITÁS
 		CALL	IMPULS
WaitADC:
    	BTFSS   PIR1,ADIF
     	GOTO    WaitADC         ;VÁR AZ ADC BEFELYEZÉSRE
GetADC1:
		CALL	IMPULS
    	BANKSEL ADRESH
     	MOVF    ADRESH, W    	;MAGAS BYTE OLVAS 2 BIT
     	MOVWF   ADC_hi
     	BANKSEL ADRESL
     	MOVF    ADRESL, W    	;ALACSONY BYTE OLVAS 8 BIT
     	MOVWF   ADC_lo
		CALL	IMPULS
     	BANKSEL PIR1
     	BCF     PIR1,ADIF    	;CONVERZIO TÖRLÉS
   		CLRF  	ANSEL		 	;Digital I/O - Összes láb dihitális módra állítása
    	CLRF    ADCON0
     	CLRF    ADRESH
     	CLRF    ADRESL
 		BSF   	STATUS,RP0	 	;Bank 1
    	MOVLW   b'00001000'	 	;KIMENET BEÁLLITÁS
    	MOVWF   TRISIO	
    	BCF   	STATUS,RP0	 	;Bank 0
     	RETURN

;--------- TIZES ANALIZÁLÁS ÉS VÁLOZÓ BEÍRÁSA ----------
ANALAMP
 		BSF   	STATUS,RP0	 	;Bank 1
    	MOVLW   b'00001011'	 	;
    	MOVWF   TRISIO		 	;
     	BCF   	STATUS,RP0	 	;Bank 0
		MOVLW   b'00000010'     ;ADC AN1 BEMENET
     	MOVWF   ANSEL	
		MOVLW   b'10000101'     ;ADC AN1 BEMENET
     	MOVWF   ADCON0	
		CALL	IMPULS			
		CALL	ANALOG
		MOVFW	ADC_hi
		MOVWF	AMPHI
		MOVFW	ADC_lo
		MOVWF	AMPLO
		GOTO	ANALIZ
ANALMAX
 		BSF   	STATUS,RP0	 	;Bank 1
    	MOVLW   b'00001111'	 	;Set GP<3:2> as inputs
    	MOVWF   TRISIO		 	;and set GP<5:4,1:0> as outputs
     	BCF   	STATUS,RP0	 	;Bank 0
		MOVLW   b'00000100'     ;ADC AN2 BEMENET
     	MOVWF   ANSEL	
		MOVLW   b'10001001'     ;ADC AN2 BEMENET
     	MOVWF   ADCON0	
		CALL	IMPULS			
		CALL	ANALOG
		MOVFW	ADC_hi
		MOVWF	MAXHI
		MOVFW	ADC_lo
		MOVWF	MAXLO
		GOTO	ANALIZ

ANALVOLT
 		BSF   	STATUS,RP0	 	;Bank 1
    	MOVLW   b'00001011'	 	;
    	MOVWF   TRISIO		 	;
     	BCF   	STATUS,RP0	 	;Bank 0
		MOVLW   b'00000001'     ;ADC AN1 BEMENET
     	MOVWF   ANSEL
		MOVLW   b'10000001'     ;ADC AN0 BEMENET
     	MOVWF   ADCON0	
		CALL	IMPULS					;
		CALL	ANALOG

;-------------------------
; -----  SZÁMOLÁS ---------


ANALIZ 	MOVLW   b'00110000'		;nullázás
   		MOVWF   ES2BA			;
		MOVFW	ADC_hi			;ANALOG BEMENET HI BEIRÁS
		ADDWF	ES2BA,1			;
;---- EGYES  ANLIZÁLÁS-----

		MOVFW	ADC_lo			;ANALOG BEMENET LO BEIRÁS
   		MOVWF   LOVALT

		MOVLW   d'25' 
        MOVWF   T3	
VISSZA	MOVLW   b'00110000'		;nullázás
   		MOVWF   ES3BA			;
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA			;HA NEM NULLA
		MOVLW	b'00110000'		;HA NULLA
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZA

		MOVLW   d'26' 
        MOVWF   T3	
VISSZ7	DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA7			;HA NEM NULLA
		NOP
		MOVLW	b'00110001'		;HA 1
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA7	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ7
		MOVLW   d'25' 
        MOVWF   T3	
VISSZ6	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA6			;HA NEM NULLA
		MOVLW	b'00110010'		;HA 2
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA6	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ6
		MOVLW   d'26' 
        MOVWF   T3	
VISSZ5	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA5			;HA NEM NULLA
		MOVLW	b'00110011'		;HA 3
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA5	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ5
		MOVLW   d'25' 
        MOVWF   T3	
VISSZ4	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA4			;HA NEM NULLA
		MOVLW	b'00110100'		;HA 4
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA4	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ4

		MOVLW   d'26' 
        MOVWF   T3	
VISSZ3	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA3			;HA NEM NULLA
		MOVLW	b'00110101'		;HA 5
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA3	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ3
;---------------
		MOVLW   d'25' 
        MOVWF   T3	
VISSZ2	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA2			;HA NEM NULLA
		MOVLW	b'00110110'		;HA 6
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA2	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ2
;-----------------
		MOVLW   d'26' 
        MOVWF   T3	
VISSZ1	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA1			;HA NEM NULLA
		MOVLW	b'00110111'		;HA 7
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA1	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ1
;-----------------
		MOVLW   d'25' 
        MOVWF   T3	
VISSZ0	
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVA0			;HA NEM NULLA
		MOVLW	b'00111000'		;HA NYOLC
   		MOVWF	ES3BA			;EGYES KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVA0	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZ0
;-----------------
		MOVLW   d'26' 
        MOVWF   T3	
VISSZB
		DECFSZ	LOVALT,f		;KIVONÁS
		GOTO	TOVAB			;HA NEM 8
		MOVLW	b'00111001'		;HA KILENC
   		MOVWF	ES3BA			;KÜLDÉSE VÁLTOZÓBA
		GOTO	TIZED
TOVAB	DECFSZ	T3,f			;VISSZASZÁMOLÁS
		GOTO	VISSZB

	;	RETURN		
;--------- TIZED---------------------

TIZED	MOVLW   b'00110000'		;nullázás
   		MOVWF   ES5BA			;
	
		DECFSZ	T3,f
		GOTO	TIZE11
		GOTO	TIZ0
TIZE11	DECFSZ	T3,f
		GOTO	TIZ01
		GOTO	TIZ0
TIZ01	DECFSZ	T3,f
		GOTO	TIZE1 
TIZ0	MOVLW	b'00111001'		;HA KILENC
   		MOVWF	ES5BA
		RETURN

TIZE1	INCF	T3,F
		DECFSZ	T3,f
		GOTO	TIZE21
		GOTO	TIZ1
TIZE21	DECFSZ	T3,f
		GOTO	TIZE22
		GOTO	TIZ1
TIZE22	DECFSZ	T3,f
		GOTO	TIZE2
TIZ1	MOVLW	b'00111000'		;HA NYOLC
   		MOVWF	ES5BA
		RETURN
TIZE2	
		DECFSZ	T3,f
		GOTO	TIZE31
		GOTO	TIZ2
TIZE31	DECFSZ	T3,f
		GOTO	TIZE3
TIZ2	MOVLW	b'00110111'		;HA HÉT
   		MOVWF	ES5BA
		RETURN
TIZE3	
		DECFSZ	T3,f
		GOTO	TIZE41
		GOTO	TIZ3
TIZE41	DECFSZ	T3,f
		GOTO	TIZE42
		GOTO	TIZ3
TIZE42	DECFSZ	T3,f
		GOTO	TIZE4
TIZ3	MOVLW	b'00110110'		;HA HAT
   		MOVWF	ES5BA
		RETURN
TIZE4		
		DECFSZ	T3,f
		GOTO	TIZE51
		GOTO	TIZ4
TIZE51	DECFSZ	T3,f
		GOTO	TIZE5
TIZ4	MOVLW	b'00110101'		;HA ÖT
   		MOVWF	ES5BA
		RETURN
TIZE5
		DECFSZ	T3,f
		GOTO	TIZE61
		GOTO	TIZ5
TIZE61	DECFSZ	T3,f
		GOTO	TIZE62
		GOTO	TIZ5
TIZE62	DECFSZ	T3,f
		GOTO	TIZE6
TIZ5	MOVLW	b'00110100'		;HA NÉGY
   		MOVWF	ES5BA
		RETURN

TIZE6	;	INCF	T3,F	
		DECFSZ	T3,f
		GOTO	TIZE71
		GOTO	TIZ6
TIZE71	DECFSZ	T3,f
		GOTO	TIZE72
		GOTO	TIZ6
TIZE72	DECFSZ	T3,f
		GOTO	TIZE7

TIZ6	MOVLW	b'00110011'		;HA HÁROM
   		MOVWF	ES5BA
		RETURN

TIZE7
		DECFSZ	T3,f
		GOTO	TIZE81
		GOTO	TIZ8
TIZE81	DECFSZ	T3,f
		GOTO	TIZE82
		GOTO	TIZ8
TIZE82	DECFSZ	T3,f
		GOTO	TIZE8
TIZ8	MOVLW	b'00110010'		;HA KETTÖ
   		MOVWF	ES5BA
		RETURN
TIZE8		
		DECFSZ	T3,f
		GOTO	TIZE91
		GOTO	TIZ9
TIZE91	DECFSZ	T3,f
		GOTO	TIZE92
		GOTO	TIZ9
TIZE92	DECFSZ	T3,f
		GOTO	TIZE9
TIZ9	MOVLW	b'00110001'		;HA EGY 
   		MOVWF	ES5BA
		RETURN

TIZE9
		DECFSZ	T3,f
		GOTO	TIZE01
		GOTO	TIZ09
TIZE01	DECFSZ	T3,f
		GOTO	TIZE0
TIZ09	MOVLW	b'00110000'		;HA NULLA
   		MOVWF	ES5BA
		RETURN

;----------
TIZE0	CALL	KIRAK
		RETURN


;-------- KEZDÖ SZÖVEG ---------
KEZSZ	MOVLW   b'01000010'	 ;B
   		MOVWF   ES1B	
    	MOVLW   b'01001111'	 ;o
   		MOVWF   ES2B
    	MOVLW   b'01001111'	 ;o
   		MOVWF   ES3B
    	MOVLW   b'01010100'	; T
   		MOVWF   ES4B
    	MOVLW   b'00111010'	 ;:
   		MOVWF   ES5B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES6B
    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES7B
		MOVLW   b'00100000'	 ;_
   		MOVWF   ES8B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES9B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES10B	
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES11B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES12B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES13B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES14B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES15B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES16B

    	MOVLW   b'01000010'	 ;B
   		MOVWF   MS1B	
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS2B
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS3B
    	MOVLW   b'01010100'	; T
   		MOVWF   MS4B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS5B
    	MOVLW   b'01010110'	 ;V
   		MOVWF   MS6B
    	MOVLW   b'01000101'	; E
   		MOVWF   MS7B
    	MOVLW   b'01010010'	; R
   		MOVWF   MS8B
    	MOVLW   b'01010011'	 ;S
   		MOVWF   MS9B
    	MOVLW   b'01001001'	 ;I
   		MOVWF   MS10B	
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS11B
    	MOVLW   b'01001110'	; N
   		MOVWF   MS12B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS13B
    	MOVLW   b'00110010'	; 2
   		MOVWF   MS14B
    	MOVLW   b'00101110'	 ;.
   		MOVWF   MS15B
    	MOVLW   b'00110001'	; 1
   		MOVWF   MS16B
 		MOVLW   b'10000000'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES8B
		CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES9B
		CALL	KIRAK

    	MOVLW   b'01001001'	 ;I
   		MOVWF   MS1B	
    	MOVLW   b'01010010'	; R
   		MOVWF   MS2B
    	MOVLW   b'01010100'	; T
   		MOVWF   MS3B
    	MOVLW   b'01000001'	 ;A
   		MOVWF   MS4B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS5B
    	MOVLW   b'01001100'	; L
   		MOVWF   MS6B
    	MOVLW   b'01000001'	 ;A
   		MOVWF   MS7B
    	MOVLW   b'01000011'	; C
   		MOVWF   MS8B
    	MOVLW   b'01011010'	 ;Z
   		MOVWF   MS9B
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS10B	
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS11B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS12B
    	MOVLW   b'00110010'	 ;2
   		MOVWF   MS13B
    	MOVLW   b'00110000'	; 0
   		MOVWF   MS14B
    	MOVLW   b'00110001'	; 1
   		MOVWF   MS15B
    	MOVLW   b'00110011'	; 3
   		MOVWF   MS16B

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES10B
		CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES11B
	;	CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES12B
		CALL	KIRAK
	;	CALL	KIRAK
	;	CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES13B
		CALL	KIRAK

    	MOVLW   b'01001001'	 ;I
   		MOVWF   MS1B	
    	MOVLW   b'01010000'	; P
   		MOVWF   MS2B
    	MOVLW   b'00111010'	 ;:
   		MOVWF   MS3B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS4B
    	MOVLW   b'00110001'	; 1
   		MOVWF   MS5B
    	MOVLW   b'00111001'	; 9
   		MOVWF   MS6B
    	MOVLW   b'00110010'	 ;2
   		MOVWF   MS7B
    	MOVLW   b'00101110'	 ;.
   		MOVWF   MS8B
    	MOVLW   b'00110001'	; 1
   		MOVWF   MS9B
    	MOVLW   b'00110110'	; 6
   		MOVWF   MS10B	
    	MOVLW   b'00111000'	; 8
   		MOVWF   MS11B
    	MOVLW   b'00101110'	 ;.
   		MOVWF   MS12B
    	MOVLW   b'00110000'	; 0
   		MOVWF   MS13B
    	MOVLW   b'00101110'	 ;.
   		MOVWF   MS14B
    	MOVLW   b'00110001'	; 1
   		MOVWF   MS15B
    	MOVLW   b'00110011'	; 3
   		MOVWF   MS16B

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES14B
		CALL	KIRAK
	;	CALL	KIRAK
	;	CALL	KIRAK
	;	CALL	KIRAK
	;	CALL	KIRAK


    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES15B
		CALL	KIRAK
	;	CALL	KIRAK
	;	CALL	KIRAK

    	MOVLW   b'00101110'	 ;.
   		MOVWF   ES16B
		CALL	KIRAK
	;	CALL	KIRAK
;		CALL	KIRAK
	;	CALL	KIRAK
		CALL	KIRAK



;-------- KEZDÖ KIIRÁS BETÁPLÁLÁSA -------

    ;	MOVLW   b'01111110'	 ;nyil
   	;	MOVWF   ES1B	
    ;	MOVLW   b'00110000'	 ;0
   	;	MOVWF   ES2B
    ;	MOVLW   b'00110000'	 ;0
   	;	MOVWF   ES3B
    	MOVLW   b'00101100'	 ;,
   		MOVWF   ES4B
    ;	MOVLW   b'00110000'	 ;0
   	;	MOVWF   ES5B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES6B
    	MOVLW   b'01010110'	 ;V
   		MOVWF   ES7B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES8B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES9B
   ; 	MOVLW   b'01111110'	 ;nyil
   	;	MOVWF   ES10B	
    ;	MOVLW   b'00110000'	 ;0
   	;	MOVWF   ES11B
		BTFSC	AMP404,0
		GOTO	TIZEDA

    	MOVLW   b'00110000'	 ;0			TIZED AMPER BEIRÁS
   		MOVWF   ES12B
    	MOVLW   b'00101100'	 ;,
   		MOVWF   ES13B
TIZEDB ;	MOVLW   b'00110000'	 ;0
   	;	MOVWF   ES14B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   ES15B
    	MOVLW   b'01000001'	 ;A
   		MOVWF   ES16B

BEKAP	MOVLW   b'01101111'	 ;o
   		MOVWF   MS1B	
    	MOVLW   b'01110101'	 ;U
   		MOVWF   MS2B
    	MOVLW   b'01110100'	; T
   		MOVWF   MS3B
    	MOVLW   b'00111010'	 ;:
   		MOVWF   MS4B
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS5B

    	;MOVLW   b'00100000'	 ;_
   		;MOVWF   MS7B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS8B
    	MOVLW   b'01101101'	; M
   		MOVWF   MS9B
    	MOVLW   b'01100001'	 ;A
   		MOVWF   MS10B	
    	MOVLW   b'01111000'	 ;X
   		MOVWF   MS11B
    ;	MOVLW   b'01001101'	; M
   	;	MOVWF   MS12B
    ;	MOVLW   b'01010000'	; P
   	;	MOVWF   MS13B
    	MOVLW   b'00101100'	 ;,
   		MOVWF   MS14B
    ;	MOVLW   b'01010010'	;R
   	;	MOVWF   MS15B
    	MOVLW   b'01000001'	 ;A
   		MOVWF   MS16B
		CALL	KIRAK
		BTFSC	OVERL,0
		GOTO	TULTE
		BSF		KIREN,0			;KARAKTER KIRAK RÉSZBEN
		GOTO	GERINC

TIZEDA	MOVLW   b'00101100'	 ;,			SZÁZAD AMPER BEIRÁS
   		MOVWF   ES12B
    	MOVLW   b'00110000'	 ;0
   		MOVWF   ES13B
		GOTO	TIZEDB

;-----------------------
TULTKI 	MOVLW   b'01001111'	 ;O
   		MOVWF   MS1B	
    	MOVLW   b'01010110'	 ;V
   		MOVWF   MS2B
    	MOVLW   b'01000101'	; E
   		MOVWF   MS3B
    	MOVLW   b'01010010'	;R
   		MOVWF   MS4B
    	MOVLW   b'01001100'	; L
   		MOVWF   MS5B
    	MOVLW   b'01001111'	 ;O
   		MOVWF   MS6B
    	MOVLW   b'01000001'	 ;A
   		MOVWF   MS7B
    	MOVLW   b'01000100'	 ;D
   		MOVWF   MS8B
    	MOVLW   b'00100001'	; !
   		MOVWF   MS9B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS10B	
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS11B
		GOTO	TULTE

;---- VOLT AMPER KIIRÁS ---

VOLTAMP	MOVLW   b'11000000'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF
		CALL	IMPULS
  		MOVLW   b'00100000'	 ;_
   		MOVWF   MS1B	
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS2B
    	MOVLW   b'01010110'	 ;V
   		MOVWF   MS3B
    	MOVLW   b'01001111'	 ;o
   		MOVWF   MS4B
    	MOVLW   b'01001100'	 ; L
   		MOVWF   MS5B
    	MOVLW   b'01010100'	 ; T
   		MOVWF   MS6B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS7B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS8B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS9B
    	MOVLW   b'00100000'	 ;_
   		MOVWF   MS10B	
    	MOVLW   b'01000001'	 ;A
   		MOVWF   MS11B
    	MOVLW   b'01001101'	; M
   		MOVWF   MS12B
    	MOVLW   b'01010000'	; P
   		MOVWF   MS13B
    	MOVLW   b'01000101'	; E
   		MOVWF   MS14B
    	MOVLW   b'01010010'	; R
   		MOVWF   MS15B
    	MOVLW   b'00100000' ; _
   		MOVWF   MS16B
		CALL	KIRAK
		BSF		KIREN,0

		RETURN



;---- SZÖVEG KIIRÁS----

KIRAK 
		MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
	;	CALL	TORLEB
		MOVLW   b'10000000'	 	;LCD KEZDÖ KAR.
		CALL	LCDCONF	
		MOVFW	ES1B
		CALL	KIIRAS
		MOVFW	ES2B
		CALL	KIIRAS
		MOVFW	ES3B
		CALL	KIIRAS
		MOVFW	ES4B
		CALL	KIIRAS
		MOVFW	ES5B
		CALL	KIIRAS
		BTFSC	KIREN,0
		RETURN

		MOVFW	ES6B
		CALL	KIIRAS
		MOVFW	ES7B
		CALL	KIIRAS
		MOVFW	ES8B
		CALL	KIIRAS
		MOVFW	ES9B
		CALL	KIIRAS
AMPER
		MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
	;	CALL	TORLEB
		MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
	;	CALL	TORLEB
		MOVFW	ES10B
		CALL	KIIRAS
		MOVFW	ES11B
		CALL	KIIRAS
		MOVFW	ES12B
		CALL	KIIRAS
		MOVFW	ES13B
		CALL	KIIRAS
		MOVFW	ES14B
		CALL	KIIRAS
		BTFSC	KIREN,0
		RETURN
		MOVFW	ES15B
		CALL	KIIRAS
		MOVFW	ES16B
		CALL	KIIRAS

	;	CALL	IMPULS
TULTE	MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
	;	CALL	TORLEB
		MOVLW   b'11000000'	 	;LCD KEZDÖ KAR. KÉT SOROS 
		CALL	LCDCONF
		CALL	IMPULS
		MOVFW	MS1B
		CALL	KIIRAS
		MOVFW	MS2B
		CALL	KIIRAS
		MOVFW	MS3B
		CALL	KIIRAS
		MOVFW	MS4B
		CALL	KIIRAS
		MOVFW	MS5B
		CALL	KIIRAS
ONOFV
		MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
		;CALL	TORLEB
		MOVFW	MS6B
		CALL	KIIRAS
		MOVFW	MS7B
		CALL	KIIRAS
		BTFSC	KIREN,0
		RETURN
		MOVFW	MS8B
		CALL	KIIRAS
		MOVFW	MS9B
		CALL	KIIRAS
		MOVFW	MS10B
		CALL	KIIRAS
		MOVFW	MS11B
		CALL	KIIRAS
MAXA
		MOVLW   b'00001000'	 	;KI BEMENETEK BEÁLLITÁSA
	;	CALL	TORLEB
		MOVFW	MS12B
		CALL	KIIRAS
		MOVFW	MS13B
		CALL	KIIRAS
		MOVFW	MS14B
		CALL	KIIRAS
		MOVFW	MS15B
		CALL	KIIRAS
		MOVFW	MS16B
		CALL	KIIRAS

		RETURN

		END