
PROCESSOR 16F84a
iNCLUDE P16F84a.INC
__config  _wdt_off
mp	equ 35
#define impe  20,1	
#define impo  20,2	
#define led   20,3
#define gomb  portb,4
#define jel	  20	
s_reg equ 22
w_reg equ 23
eng equ 21

goto kezd

	MOVWF W_REG	;W REGISZTER MENTESE
	SWAPF STATUS ,0
	BCF STATUS,RP0	;itt van a jelzobit
	MOVWF S_REG 

	bcf intcon,t0if ;megszakítás törlése
	
	bsf impe		;kimenetek 
	bsf impo		;kikapcsolása
	bsf led
	
	btfss eng,0
	goto ora

	btfss gomb
	goto lep


ora	bsf eng,0 		;egy mp letelt
	decfsz mp		;osztás 60 nal
	goto itvge		 	
	
lep
	bcf led
	bsf eng,0 		;egy mp letelt
	movlw d'60'		
	movwf mp
	movlw 01	;előbb fordít 
	xorwf jel
	btfss jel,0		;irány bit 
	bcf impe		;piros led irány
	btfsc jel,0
	bcf impo		;zöld led irány
	bcf eng,0			;az előző állapot léptetés volt		; 

itvge
	movlw b'11110001' 
	iorwf jel,0 	;cél a W  		
	movwf portb		;kimenetek beállítása
	

	SWAPF S_REG ,0	;STATUSZREG VISSZAOLVASASA
	MOVWF  STATUS	;STATUS regiszter vissza 
	SWAPF   W_REG ,1 	;W regiszter vissza
	SWAPF	W_REG ,0
	retfie
	
	
kezd
	movlw 00
	movwf jel
	movwf eng ;változók törlése
	banksel portb
	movlw 0ff
	movwf portb
	banksel trisb
	movlw 0f1	;portb1,2,3 kimenet
	movwf trisb
	movlw b'01000100'
	movwf option_reg
	banksel intcon 
	bsf intcon,t0ie
	bsf intcon,gie
v	sleep
	goto v		


	 		
	end