LIST P=16F877

	ERRORLEVEL 1
	#INCLUDE	<P16F877.INC>

	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_ON & _DEBUG_OFF & _CPD_OFF
	
    	ORG	3

;---------------- 2010.12.19. "BANKIMAJKI" -------------

;--------------------DEKLARÁLÁS------------------------


		CBLOCK	20H
		SZAMLALO1
		SZAMLALO2
		ENDC


;------------------PORTOK BEÁLLÍTÁSA--------------------

								;AZ 'C' PORT ELSŐ 3 BITJE KIMENET (E, R/w, RS)
	
		BANKSEL TRISC			;BANK VÁLTÁS
        MOVLW   B'11111000'		;AZ 1-ES BIT BEMENET, A 0-ÁS BIT KIMENET
        MOVWF   TRISC			;ALAPBÓL MIND BEMENET, TEHÁT ELÉG CSAK 
		
		BANKSEL	PORTC		
		MOVLW   B'00000000'
								;A KIMENETEKET DEKLARÁLNI

	
								;A 'D' PORT MINDEN BITJE KIMENET (A KIJELZŐ ADAT BITJEI D0-TÓL D7-IG)

		BANKSEL TRISD			;BANK VÁLTÁS
        MOVLW   B'00000000'		;AZ 1-ES BIT BEMENET, A 0-ÁS BIT KIMENET
        MOVWF   TRISD

		GOTO	START
;--------------------KÉSLELTETŐ RUTIN----------------------

                                    	;A REGISZTEREK FELTÖLTÉSE
DELAY                          
		MOVLW	25                 	;255*255
		MOVWF	SZAMLALO1
		MOVLW	10
		MOVWF	SZAMLALO2
    	
KESL1
		DECFSZ	SZAMLALO1
		GOTO    KESL1
		DECFSZ	SZAMLALO2
		GOTO    KESL1
    	RETURN

;------------------ENGEDÉLYEZŐ BIT ÁLLÍTÁSA-----------------

ENG	
		BANKSEL PORTC
		BSF		PORTC,0			;AZ ENGEDÉLYEZŐ BIT AKTÍV
		CALL	DELAY			;VÁR
		BCF		PORTC,0			;AZ ENGEDÉLYEZŐ BIT INAKTÍV
		RETURN					;VISSZATÉR


;------------------------LCD KEZELÉS-----------------------

START:

		BANKSEL	PORTC
		MOVLW	D'0'
		MOVWF	PORTC

		BANKSEL	PORTD
		MOVLW	D'63'			;A KIJ. BEÁLLÍTÁSA 8 BIT 2 SOR 5*10 KAR.
		MOVWF	PORTD
		CALL	ENG

		MOVLW	D'15'			;A KIJ. BEÁLLÍTÁSA KIJ. ON, KURZOR ON, BLINK ON
		MOVWF	PORTD
		CALL	ENG

		BANKSEL	PORTC
		BSF		PORTC,2			;ÁTVÁLTÁS ADATBEVITELRE (RS AKTÍV)
		CALL	ENG

;------------------------SZÖVEG KIÍRATÁS---------------------



		BANKSEL	PORTD
	
		BANKSEL	PORTD
		MOVLW	D'83'			;'S' BETŰ ASCII ÉRTÉKE
		MOVWF	PORTD
		CALL	ENG

		BANKSEL	PORTD
		MOVLW	D'122'			;'Z' BETŰ ASCII ÉRTÉKE
		MOVWF	PORTD
		CALL	ENG

		BANKSEL	PORTD
		MOVLW	D'97'			;'I' BETŰ ASCII ÉRTÉKE
		MOVWF	PORTD
		CALL	ENG
	
		BANKSEL	PORTD
		MOVLW	D'63'			;'A' BETŰ ASCII ÉRTÉKE
		MOVWF	PORTD
		CALL	ENG
	

	
		END





















