;--------------------------------------------------------------------------------------
;
;	PIC18F14K22
;
;--------------------------------------------------------------------------------------

	LIST	P=PIC18F14K22						; lista megadása
	INCLUDE	<P18F14K22.INC>						; includde fájlok megadása
	RADIX	hex									; alapértelmezet számrendszer megadása

	CONFIG	FOSC = IRC							; belső oszcillátor	
	CONFIG	WDTEN = OFF							; watchdog kikapcsolása
	CONFIG	LVP = OFF							; alacsony feszültségű programozás kikapcsolva
	
#define		LED_S		LATA, 5
#define		LED_Z		LATB, 4
#define		GOMB_1		PORTA, 1
#define		GOMB_2		PORTA, 2

	org		0x0000								; program memória kezdő címe
	nop											; ICD miatt
	GOTO	START

	org		0x0028								; kezdő cím, ami átugorja a
START											; megszakítási címet
	CALL	INICIALIZALAS

MAIN
	BTFSS	GOMB_1								; 1-es gomb figyelése
	CALL	BITMINTA_1
	BTFSC	GOMB_1
	CALL	BITMINTA_1_2
;	GOTO	MAIN								; ugrás a MAIN-hez

	BTFSS	GOMB_2
	CALL	BITMINTA_2
	BTFSC	GOMB_2
	CALL	BITMINTA_2_2
	GOTO	MAIN

;--------------------------------------------------------------------------
BITMINTA_1
	MOVLW	B'00000000'							; konstans érték a WREG-be
	MOVWF	LATC

	RETURN
;--------------------------------------------------------------------------
BITMINTA_1_2
	MOVLW	B'10000000'							; konstans érték a WREG-be
	MOVWF	LATC

	RETURN
;--------------------------------------------------------------------------
BITMINTA_2
	MOVLW	B'00000000'
	MOVWF	LATC

	RETURN
;--------------------------------------------------------------------------
BITMINTA_2_2
	MOVLW	B'01000000'
	MOVWF	LATC

	RETURN
;--------------------------------------------------------------------------
INICIALIZALAS
	CLRF	LATA								; kimeneti portok törlése
	CLRF	LATB								;
	CLRF	LATC
	MOVLW	B'00100000'							; LATB = B'00100000'
	MOVWF	LATB								; az 5. bit a LEDsor engedélyezője
	MOVLW	B'00000001'							; analóg / digitális bemenetek
	MOVWF	ANSEL								; 
	MOVLW	B'00011111'							; A port
	MOVWF	TRISA
	MOVLW	B'00000000'							; B port kimenet
	MOVWF	TRISB
	MOVLW	B'00000000'							; C port kimenet
	MOVWF	TRISC
	MOVLW	B'00010010'							; oszcillátor frekvenciája <4:6>
	MOVWF	OSCCON								; 111 = 16 MHz, 001 = 250 kHz, 000 = 31 kHz (kb óra kvarc)
	RETURN
;--------------------------------------------------------------------------
	END