
	LIST 	P=PIC16F630		;a forítóval tudatjuk a pic típusát
	#include <P16F630.inc>	;beállításokat tartalmazó inc fájl.
	
	__CONFIG 0x3194			;konfigurációs beállítások (adatlap 56. oldal)
	
	CBLOCK 0x20				;a definíciók kezdetét kötelező megadni
		szam_1				;Időzítő számláló legkisebb helyiértéke.
		szam_2				;Időzítő számláló középső helyiértéke.
		szam_3				;Időzítő számláló legnagyobb helyiértéke.
	endc					;a defíniciós blokkot le kell zárni!

	ORG 0					;
		CLRF	PCLATH		;Ha ez a PIC felkelése után nem nulla, 
							;egy GOTO előre nem látható helyre ugrik!
		BANKSEL	PORTA		;Hasonló okok miatt
		CALL	0x3FF		;\ Ezzel a két sorral kalibráljuk a belső oszcil-
		MOVWF 	OSCCAL		;/ látort. Ajánlás az adatlap 58 old 9.2.5.1 pontban.
		CLRF	PORTA		;
		CLRF 	PORTC
		BANKSEL TRISA
		CLRF 	TRISA
		CLRF 	TRISC
		BANKSEL PORTC

;Most csak a PORTC-vel dolgozok! Ez az ELEKTRONIKA ÁTALAKÍTÁSÁT 
;vonja maga után, de nem látom be, miért ne lehetne néhány vezetéket 
;átkötni egy kezdő program esetén. (Szintén 4 LED-es verzió.)
;***************
PROGRAM:
		MOVLW 	B'001000'
		MOVWF 	PORTC
PROG1:
		CALL 	IDO
		RRF		PORTC,F		;Lényegtelen, a C-ről mi fordul be! (Úgyis elvész.)
		BTFSS	STATUS,C	;De ha 1 fordul bele, akkor vége a körnek!
		GOTO	PROG1
		GOTO	PROGRAM

;Itt jegyzem meg, hogy a kapukat a "LATCH-be írunk, PORT-ról olvasunk elv" 
;alapján illik kezelni! Így ez sem a legtökéletesebb, de működik!

;***************

IDO:	MOVLW 	D'3'
		MOVWF 	szam_3
		MOVLW 	D'138'
		MOVWF 	szam_2
		MOVLW 	D'84'
		MOVWF 	szam_1
IdoK:	DECFSZ	szam_1
		GOTO	IdoK
		DECFSZ	szam_2
		GOTO	IdoK
		DECFSZ	szam_3
		GOTO	IdoK
		RETURN
;**************
		END

;az end után lennie kell még üres sornak is
