;------------------------------------------------
; LCD kijelző inicializálása 
;
INI_LCD
		CALL	S_KESLELTET_100MS	;Az LCD éledésére várunk Bekapcsolás után >55 ms.
		BCF		RS
		MOVLW	0x28				; Bekapcsoljuk a 4 bites üzemmódot
		CALL	WRITE
        MOVLW	0x06				; 06h, Entry mode set: increment
        CALL	WRITE
        MOVLW	0x0F 				; 0dh, Display on, cursor/blink on
        CALL	WRITE
        MOVLW	0x10 				; 10h, Display/cursor shift: cursor
        CALL	WRITE
        MOVLW	0x01				; 01h, Display clear
        CALL	WRITE
        MOVLW	D'128'      ; LCD cím= 0 (+128), első LCD sor
        CALL	WRITE
		RETURN
;-------------------------------------------------------------------------------
; Adatküldés LCD-re
;
ADAT_LCD
		INCF	DPOS,F
		MOVF	DPOS,W
		SUBLW	0X10
		BTFSC	STATUS,Z
		CALL	S_GORGET
		BSF		RS			; LCD adat következik	
		CALL	S_KESLELTET_10MS
		MOVF	GOMBKOD,W
		CALL	WRITE

		RETURN
		
;-------------------------------------------------------------------------------
; Írás LCD-re
;			
WRITE
		MOVWF	TEMP		;Fölső nible küldése először
		MOVLW	0XF0
		ANDWF	PORTC,F
		SWAPF	TEMP,W
		ANDLW	0X0F
		ADDWF	PORTC,F
		BSF		EN
		NOP
		BCF		EN
		MOVLW	0XF0		; Alsó nible következik.
		ANDWF	PORTC,F
		MOVF	TEMP,W
		ANDLW	0X0F
		ADDWF	PORTC,F
		BSF		EN
		NOP
		BCF		EN
		CALL	S_KESLELTET_10MS
		RETURN
;------------------------------------------------------------------------------		
S_GORGET		
		BCF		RS
		CALL	S_KESLELTET_10MS
		MOVLW	0X18
		CALL	WRITE
		RETURN