; PORTA,0 pergésmentesen egyesével lépteti a ledeket, nyomvatartva futnak    



	LIST P=16F877
 	#INCLUDE "P16F877.INC"
	ERRORLEVEL 0, -302  ; suppress bank selection messages
 __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF

	CBLOCK	0x20		;a MAIN nem használ változókat. A pergésmenteíto idozítoje igen, de azok ott vannak definiálva
		
	ENDC					

#include "m_bank.asm"				; BANK selection forrasfile


	ORG	0
	GOTO MAIN

MAIN
	BANK1	
	;PORTA Digitális I/O-vá tétel
	MOVLW	0x06			
	MOVWF	ADCON1			;Mindegyik PORTA digitális
	;TRIS-ek állítása
	MOVLW	B'00000001'		;Betöltjük az akksiba a TRISA-ba írandót    RA0. labra kapcsolot tenni
	MOVWF	TRISA			;Beállítjuk a PORTA-t bemenetre (beírjuk a TRISA-ba)
	MOVLW	B'00000000'		;Betöltjük az akksiba a TRISD-be valót
	MOVWF	TRISD			;PORTD mind kimenet a nulla miatt
	BANK0

	CLRC					;Töröljük a rotate segét bitjét
	MOVLW	B'00000001'		;Bekapcsoljuk az első led-et
	MOVWF	PORTD		

KAPCSOLOFIGYELES
	BTFSS	PORTA,0			;Következő sor végrehajtása ha lenyomva
	CALL	TOVABB_LEPTETES
	GOTO	KAPCSOLOFIGYELES

TOVABB_LEPTETES
	RLF	PORTD,F			;Balra forgatja a biteket (F most egyenlő a PORTD-vel)
	PERGESMENTESITES		; pergesmentesíto macro meghívása
	GOTO	KAPCSOLOFIGYELES

	END

