	LIST	P=16F874
	ERRORLEVEL 1
	#INCLUDE	"P16F874.INC"

	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _LVP_OFF


	CBLOCK	0x20
	STATUS_TEMP
	W_TEMP
	PCLATH_TEMP
	MSTIMR
	SEBH
	SEBL
	LCD_DATA
	BCD1
	BCD2
	BCD3
	BCD4
	BCD5
	BINH
	BINL
	OSZTÓ_H
	OSZTÓ_L
	MARADÉK_H
	MARADÉK_L
	OSZTAND_EREDMÉNY_Z
	OSZTAND_EREDMÉNY_U	; ide adódik a részeredmény és tolódik jobbra
	OSZTAND_EREDMÉNY_H
	OSZTAND_EREDMÉNY_L	; ide töltődik a hányados
		
	OSZTÓ_CIKLUS		; 32

	ENDC

	ORG	00
	NOP
	GOTO	MAIN


MAIN
	BANKSEL	PIE1

	MOVLW	B'00000000'	;INTERRUPT INIC, GLOBALIS MEXA ÉS PERIFÉRIA MEXA TILT
	MOVWF	INTCON
	MOVLW	B'00000000'	;TMR1 MEXAKÍTÁS TILT
	MOVWF	PIE1
	CLRF	PIE2
	
	

	
	MOVLW	0x00		;KIJELZŐT HAJTÓ PORTOK IRÁNYBEÁLLÍTÁSA, KIMENETTÉ
	MOVWF	TRISD
	MOVWF	TRISE



	BANKSEL	PORTD		;KIJELZŐT HAJTÓ PORTOK NULLÁZÁSA
	CLRF	PORTD
	CLRF	PORTE

	MOVLW	B'00110100'	;Timer1 inic
	MOVWF	T1CON		;1:8 ELŐOSZTÁS BELSŐ ÓRAJEL KIKAPCSOLT ÁLLAPOT
	CLRF	TMR1H		;NULLÁZÁS
	CLRF	TMR1L



LCDINIC

	MOVLW	D'25'		;KÉSLELTET 25ms
	CALL	DELAY
	MOVLW	0x38		;2SOROS 8BITES MÓD 3SZORI KIADÁSA
	CALL	INICCMD
	MOVLW	D'10'
	CALL	DELAY
	MOVLW	0x38
	CALL	INICCMD
	MOVLW	D'02'
	CALL	DELAY
	MOVLW	0x38
	CALL	INICCMD
	MOVLW	0x38
	CALL	LCDPUTCMD
	MOVLW	0x08
	CALL	LCDPUTCMD
	MOVLW	0x01
	CALL	LCDPUTCMD
	MOVLW	0x06
	CALL	LCDPUTCMD
	MOVLW	0x0C
	CALL	LCDPUTCMD
	
	MOVLW	0x80		;SZÖVEG KIÍRATÁSA
	CALL	LCDPUTCMD
	MOVLW	'O'
	CALL	LCDCHAR
	MOVLW	'V'
	CALL	LCDCHAR
	MOVLW	'E'
	CALL	LCDCHAR
	MOVLW	'R'
	CALL	LCDCHAR

LOOP
	GOTO	LOOP
	



;SUBRUTINOK


LCDBUSY
	BANKSEL	TRISD		;BANK1
	
	MOVLW	0x0FF
	MOVWF	TRISD		;BEMEMETTÉ
	
	BANKSEL	PORTE		;BANK0
BLOOP	
	BCF	PORTE,0
	BSF	PORTE,1
	BSF	PORTE,2
	MOVF	PORTD,W
	ANDLW	0x80
	BTFSS	STATUS,Z
	GOTO	BLOOP
	BCF	PORTE,2
	BCF	PORTE,1
	
	BANKSEL	TRISD		;BANK1
	
	MOVLW	0x000
	MOVWF	TRISD		;KIMENET
	
	BANKSEL	PORTD
	
	RETURN

	
LCDCHAR
	MOVWF	LCD_DATA	;KÜLDENDŐ
	CALL	LCDBUSY
	BSF	PORTE,0		;ADATMODE
	BCF	PORTE,1		;BEIRAS
	BCF	PORTE,2		;CHIPTILTAS
	MOVF	LCD_DATA,W
	MOVWF	PORTD		;ADAT A PORTON
	BSF	PORTE,2		;CHIPENG
	NOP
	BCF	PORTE,2		;CHIPTILTAS
	RETURN



LCDPUTCMD
	MOVWF	LCD_DATA	;KÜLDENDŐ
	CALL	LCDBUSY
	BCF	PORTE,0		;PARANCSMODE
	BCF	PORTE,1		;BEIRAS
	BCF	PORTE,2		;CHIPTILTAS
	MOVF	LCD_DATA,W
	MOVWF	PORTD		;ADAT A PORTON
	BSF	PORTE,2		;CHIPENG
	NOP
	BCF	PORTE,2		;CHIPTILTAS
	RETURN

INICCMD

	MOVWF	LCD_DATA
	BCF	PORTE,0
	BCF	PORTE,1
	BCF	PORTE,2
	MOVF	LCD_DATA,W
	MOVWF	PORTD
	BSF	PORTE,2
	NOP
	BCF	PORTE,2
	RETURN


LCDCLR

	MOVLW	0x01		;KIJELZŐ TÖRLÉSE
	CALL	LCDPUTCMD
	RETURN


DELAY	 


WAITMS	MOVWF	MSTIMR
WAITMS1	MOVLW	d'249'
	ADDLW	-1
	NOP
	SKPZ
	GOTO	$-3
	DECFSZ	MSTIMR
	GOTO	WAITMS1
	RETURN

	END
