errorlevel 2
list p=16f887
include "p16f887.inc"

;__CONFIG    
RADIX DEC


; fosc=4MHz
CBLOCK 0X20
W_TEMP,STATUS_TEMP
T2_100ms
T2_1S
T2_5S
T2FLAG
COUNT
ENDC
org 0
GOTO	PRG
ORG	4
	MOVWF		W_TEMP		;WREG ÉS STATUS MENTÉSE
	SWAPF		STATUS,W
	MOVWF		STATUS_TEMP
	CLRF		STATUS		;RAM 0-7F IG
	BTFSS		PIR1,TMR2IF	;TIMER2 OKOZTA A MEGSZAKÍTÁST?
	GOTO		M00			;NEM TOVÁBB
	BCF			PIR1,TMR2IF	;JELZŐFLAG VISSZAÁLLÍTÁSA
	DECFSZ		T2_100ms	;100mSEC LEJÁRT?
	GOTO		M00			;NEM MEGSZAK VÉGE
	MOVLW		.100		;SZÁMLÁLÓ UJRATÖLTÉSE
	BSF			T2FLAG,0	;JELZÉS FŐPROGINAK
	DECFSZ		T2_1S		;1SEC LEJÁRT?
	GOTO		M00			;NEM MEGSZAK VÉGE
	MOVLW		10			;SZÁMLÁLÓ UJRATÖLTÉSE
	BSF			T2FLAG,1	;JELZÉS FŐPROGINAK
	DECFSZ		T2_5S		;5 SEC LEJÁRT?
	GOTO		M00			;NEM MEGSZAK VÉGE
	MOVLW		5			;SZÁMLÁLÓ UJRATÖLTÉSE
	BSF			T2FLAG,2	;JELZÉS FŐPROGINAK
	MOVWF		T2_5S		;SZÁMLÁLÓ UJRATÖLTÉSE
M00:SWAPF		STATUS_TEMP,W
	MOVWF		STATUS		;REGISZTEREK VISSZAÁLLÍTÁSA
	SWAPF 		W_TEMP,F 	;MEGSZAKÍTÁS ELŐTTI ÉRTÉKRE
	SWAPF		W_TEMP,W 
	RETFIE					;MEGSZAK VÉGE
	;LED MINTÁK
ADAT:
	ADDWF		PCL,F
DT  B'10000001',B'01000010',B'00100100',B'00011000'
DT	B'00100100',B'01000010'
	
	
	
	
PRG:	;INIT RÉSZ
	DECFSZ		T2_1S	;STARTKÉSLELTETÉS
	GOTO		PRG		;BEKAPCSOLÁSI TRANZIENSEK
	DECFSZ		T2_5S	;LEFUTÁSÁT MEGVÁRJUK
	GOTO		PRG
	BANKSEL		TRISB
	CLRF		TRISB	;MIND KIMENET
	BANKSEL		ANSELH
	CLRF		ANSELH	;BPORT DIGITAL
	MOVLW		.249	;TIMER2 250 IG SZÁMOL
	BANKSEL		PR2
	MOVWF		PR2
	BSF			PIE1,TMR2IE	;TMR2 IRQ ENGEDÉLYEZÉSE
	BANKSEL		0
	MOVLW		B'00011100'	;TMR2 ON  4-ES UTÓOSZTÓ
	MOVWF		T2CON		;T2 START
	BSF			INTCON,GIE	;GLOBÁLIS MEGSZAKITÁS ENG.
	BSF			INTCON,PEIE	;PERIFÉRIA MEGSZAK ENG.


	CLRF		COUNT
;FŐPROGRAM *******************************************
P01:
	BTFSS		T2FLAG,0	;LEJÁRT A 100msEC?
	GOTO		P02			;NEM TOVÁBB
	BCF			T2FLAG,0	;JELZŐ TÖRLÉSE
	;IDE JÖNNEK AZOK, AMIT 100mSEC IDŐNKÉNT KELL CSINÁLNI
	;VILLOGTATÓ RUTIN
	MOVF		COUNT,W	
	CALL		ADAT	;KÖVETKEZŐ LED ÁBRA KIOLVASÁSA
	MOVWF		PORTB	;KITESSZÜK A PORTRA
	INCF		COUNT,F	;SZÁMLÁLÓ TOVÁBB
	MOVLW		.6
	XORWF		COUNT,W	;VÉGIGÉRT?
	BNZ			P02		;NEM TOVÁBB
	CLRF		COUNT	;ELÖLRŐL
	
P02:BTFSS		T2FLAG,1 ;LEJÁRT AZ 1 SEC?
	GOTO		P03			;NEM TOVÁBB
	BCF			T2FLAG,1
	NOP
	NOP			;IDE JÖNNEK AMIK 1 SEC IDŐNKÉNT KELLENEK
P03	BTFSS		T2FLAG,2
	GOTO		P04
	BCF			T2FLAG,2
	NOP
	NOP			;IDE PEDIG 5 SEC 
P04:NOP			;TOVÁBBI PROGRAMOK HELYE
	GOTO		P01	
	
	
	
	
	END ;ÉS KÉSZ