 LIST  P=16F887 ;PROCESSZOR DEFINICIO 
 #INCLUDE <P16F887.INC> ;A SZUKSEGES INCLUDE FAJL 
      ERRORLEVEL 0,-302        ; elnyomja a bank-váltás üzeneteit
    __CONFIG _CONFIG1, (_LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _MCLRE_OFF & _WDT_OFF & _HS_OSC) ; 0x20D2 HEX formában
	__CONFIG _CONFIG2, (_WRT_OFF)
	
	CBLOCK	0x20
		T1
		T2
		T3
		LEPTET
		LEDSOR
		LEDOSZLOP
	ENDC

#DEFINE OS9		PORTB,0
#DEFINE OS10	PORTB,1
#DEFINE T_BT	LEPTET,7

  ORG 0X000  ;PROCESSZOR RESET VEKTOR 
  CLRF PCLATH  ;PAGE BITEK BIZTOS TÖRLÉSE 
  GOTO INI_MAIN ;UGRÁS A PROGRAM KEZDETÉRE 

INI_MAIN 
	MOVLW	b'00000001'
	MOVWF	LEDSOR
	MOVWF	LEPTET
	MOVWF	LEDOSZLOP

INI_PORT 
	BSF		STATUS,RP0
	CLRF	TRISC
	CLRF	TRISD
	CLRF	TRISB
	BCF		STATUS,RP0
	CLRF	PORTB
	CLRF	PORTC
	CLRF	PORTD
MAIN 
	MOVF	LEDSOR,W
	MOVWF	PORTC
	CALL	BEKAPCS
VEGE
	GOTO	VEGE
	
			
;==================[ S Z U B R U T I N O K ]======================== 
; 
BEKAPCS
	MOVF	LEDOSZLOP,W
	MOVWF	PORTD
	RLF		LEPTET,F
	ADDWF	LEPTET,W
	MOVWF	LEDOSZLOP
	CALL	KESLELTET
	BTFSS	T_BT
	GOTO	BEKAPCS
;	MOVWF	PORTD
	CALL	KESLELTET
	BSF		OS9
	CALL	KESLELTET
	BSF		OS10
	RETURN
	

KESLELTET			;5000000 ciklus= 1s clock= 20MHz T1=0x2D, T2=0xE7, T3=0x0B
	MOVLW	0x2D
	MOVWF	T1
	MOVLW	0xE7
	MOVWF	T2
	MOVLW	0x0B
	MOVWF	T3
PIHEN1
	DECFSZ	T1,F
	GOTO	$+2		;előre ugrás a következő GOTO-ra
	DECFSZ	T2,F
	GOTO	$+2
	DECFSZ	T3,F
	GOTO	PIHEN1
	RETURN

	END ;PROGRAM VÉGE 

	