;LEPTETOMOTOR-VEZERLO
;KIMENETEK:
	;tekercsek vezerlese: RB4, RB5, RB6, RB7
;BEMENETEK:
	;iranyvaltas: RA2 (kapcsolo)
	;sebesseg: RA3, RA4 (nyomogombok)

 LIST P=16F84 
 #INCLUDE "P16F84.INC"
 __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF
	CBLOCK 0x0C
	F1
	T1
	T2
	ENDC

	ORG	0
	GOTO	START

	ORG	4
	BCF	INTCON,T0IF
	BTFSS	PORTA,3
	CALL	INCR
	BTFSS	PORTA,4
	CALL	DECR
	RETFIE

START	BSF	STATUS,RP0	;BANK1
	MOVLW	B'00011111'
	MOVWF	TRISA
	MOVLW	B'00000000'
	MOVWF	TRISB
	MOVLW	B'10000111'
	MOVWF	OPTION_REG
	BCF	STATUS,RP0	;BANK0
	BSF	INTCON,GIE
	BSF	INTCON,T0IE
	MOVLW	d'68'
	MOVWF	F1

LEPTET:	BTFSS	PORTA,2
	GOTO	IRANY1
	GOTO	IRANY2

IRANY1:	MOVLW	B'10000000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'01000000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'00100000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'00010000'
	MOVWF	PORTB
	CALL	DELAY
	GOTO	LEPTET

IRANY2:	MOVLW	B'00010000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'00100000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'01000000'
	MOVWF	PORTB
	CALL	DELAY
	MOVLW	B'10000000'
	MOVWF	PORTB
	CALL	DELAY
	GOTO	LEPTET

DECR:	DECF	F1,F
	DECF	F1,F
	DECF	F1,F
	MOVFW	F1
	XORLW	D'17'
	BTFSS	STATUS,Z
	RETURN
	MOVLW	D'20'
	MOVWF	F1
	RETURN

INCR:	INCF	F1,F
	INCF	F1,F
	INCF	F1,F
	MOVFW	F1
	XORLW	D'125'
	BTFSS	STATUS,Z
	RETURN
	MOVLW	D'122'
	MOVWF	F1
	RETURN

DELAY	MOVFW	F1
	MOVWF	T1
DEL:	MOVLW	d'30'
	MOVWF	T2	
DEL1:	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	DECFSZ	T2,f
	GOTO	DEL1
	DECFSZ	T1,f
	GOTO	DEL
	RETURN
	END