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	0

;---------------- 2010.12.19. "BANKIMAJKI" -------------

;--------------------DEKLARÁLÁS------------------------


		CBLOCK	20H
		SZAMLALO1
		SZAMLALO2
		ADAT
		érték
		ENDC


;------------------PORTOK BEÁLLÍTÁSA--------------------
 		BANKSEL	TRISD
        clrf 	TRISD  
		clrf 	TRISB       	
		BANKSEL	PORTD
		CLRF	PORTD
		CLRF	PORTB

		GOTO	START
;--------------------KÉSLELTETŐ RUTIN----------------------

DELAY2
		MOVLW	200
		MOVWF	SZAMLALO1
		MOVLW	200
		MOVWF	SZAMLALO2
		GOTO	KESL
DELAY
		MOVLW	50
		MOVWF	SZAMLALO1
		MOVLW	1
		MOVWF	SZAMLALO2
    	
KESL
		DECFSZ	SZAMLALO1
		GOTO    KESL
		DECFSZ	SZAMLALO2
		GOTO    KESL
    	RETURN

;------------------ENGEDÉLYEZŐ BIT ÁLLÍTÁSA-----------------

ENG	
		BSF		PORTB,1			;ADATBEVITELI MÓD
		BSF		PORTB,0			;AZ ENGEDÉLYEZŐ BIT AKTÍV
		CALL	DELAY			;VÁR
		BCF		PORTB,0	
		RETURN					;VISSZATÉR

KIÍR
		MOVFW	ADAT
		MOVWF	PORTD
		CALL	ENG
		SWAPF	ADAT
		MOVFW	ADAT
		MOVWF	PORTD
		CALL	ENG
		
		RETURN
		
;------------------------LCD BEÁLLÍTÁSA-----------------------

START	
		CALL	DELAY2
		CALL	DELAY2
		CALL	DELAY2
		
		MOVLW	B'00110000'		;A 8 BITES INDULÁSHOZ KELL 3X
		MOVWF	PORTD
		
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE
		

		CALL	DELAY2
		
		MOVLW	B'00110000'		
		MOVWF	PORTD
		
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE

		CALL	DELAY2	
		MOVLW	B'00110000'	
		MOVWF	PORTD
		
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE

		


;-----------------     ITT KEZDJÜK IGAZÁBÓL INICIALIZÁLNI      ------------------
		
		MOVLW	B'00100000'		;NÉGY BITES ÜZEMMÓD, ITT MÉG 8 BITET VESZ, VAGYIS NEM KELL 2X KÜLDENI
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE


		MOVLW	B'00100000'		;2 SOROS ELSŐ 4 BITJE
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE
		CALL	DELAY
		MOVLW	B'10000000'		;2 SOROS második 4 BITJE
		MOVWF	PORTD
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE


		MOVLW	B'00000000'		;cursor oN,...............
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE
		CALL	DELAY
		MOVLW	B'11110000'		;cursor oN,.............
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE


		CALL	DELAY2

		MOVLW	B'00000000'		;cursor HOME
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE
		CALL	DELAY
		MOVLW	B'0010000'		;cursor HOME
		MOVWF	PORTD	
		BSF		PORTB,0			;ENGEDÉLYEZÉS KEZD.
		CALL	DELAY
		BCF		PORTB,0			;ENGEDÉLYEZÉS VÉGE


		CALL	DELAY2
	
	
		
;------------------------SZÖVEG KIÍRATÁS---------------------

ide	

	
		CALL	DELAY2

		MOVLW	'0'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'1'			
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'2'    		
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'3'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'4'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'5'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2

		
		MOVLW	'6'
		MOVWF	ADAT
		CALL	KIÍR

		CALL	DELAY2

		
		MOVLW	'7'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'8'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	'9'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'a'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	'b'
		MOVWF	ADAT
		CALL	KIÍR

		CALL	DELAY2


		MOVLW	'c'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'd'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'e'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'f'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	'g'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'h'
		MOVWF	ADAT
		CALL	KIÍR

		CALL	DELAY2

		MOVLW	'i'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'j'			
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'k'    		
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'l'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'm'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2

		
		MOVLW	'n'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2

		
		MOVLW	'o'
		MOVWF	ADAT
		CALL	KIÍR

		CALL	DELAY2

		
		MOVLW	'ó'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'p'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	'r'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	's'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	't'
		MOVWF	ADAT
		CALL	KIÍR

		CALL	DELAY2


		MOVLW	'u'
		MOVWF	ADAT
		CALL	KIÍR
	
	
		CALL	DELAY2


		MOVLW	'ú'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'ü'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'ű'
		MOVWF	ADAT
		CALL	KIÍR
	
		CALL	DELAY2


		MOVLW	'v'
		MOVWF	ADAT
		CALL	KIÍR
	

		CALL	DELAY2


		MOVLW	'z'
		MOVWF	ADAT
		CALL	KIÍR



		goto	ide

		END





















