 LIST P=16F887
 #INCLUDE "P16F887.INC"
 ERRORLEVEL	0,	-302
	
	__CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF &_CPD_OFF & _CP_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _HS_OSC
	__CONFIG    _CONFIG2, _WRT_OFF & _BOR21V

	cblock 0x20
	t1
	hz1
	sec_one,sec_ten,min_one,min_ten
	w_save,status,status_save
;----------------------------------------------
;new register's:

	endc

	#define	pa	PORTA
	#define	pb	PORTB
	#define	pc	PORTC
	#define	pd	PORTD
	#define	pe	PORTE
	
	#define	d1	PORTD,0
	#define	d2	PORTD,3
	#define	d3	PORTD,1
	#define	d4	PORTD,2
	#define	d5	PORTD,4
	#define	d6	PORTD,7
	#define	d7	PORTD,5
	#define	d8	PORTD,6

	org	0x00
	goto	init
	
	org	0x04

	bcf		INTCON,T0IF			;10:18 start

	movwf	w_save	
	movfw	status		
	movwf	status_save



	decfsz	hz1,f
	retfie
	movlw	.225
	movwf	hz1
	



	


	incf	sec_one,f
	movlw	.10
	subwf	sec_one,w
	skpnz
	clrf	sec_one
	skpnz
	incf	sec_ten,f


	movlw	.6
	subwf	sec_ten,w
	skpnz
	clrf	sec_ten
	skpnz
	incf	min_one,f

	movlw	.10
	subwf	min_one,w
	skpnz
	clrf	min_one
	skpnz
	incf	min_ten,f


	movlw	.6
	subwf	min_ten,w
	skpnz
	clrf	min_ten




	movfw	status_save			
	movwf	status
	movwf	w_save

	retfie



init

	movlw	.225	
	movwf	hz1

	
	bsf			STATUS,5
	clrf		TRISA
	clrf		TRISB
	clrf		TRISC
	clrf		PORTD
	clrf		PORTE


	movlw	0xff
	movwf	PR2
	movlw	B'00000011'
	movwf	OPTION_REG

	bcf		STATUS,5

	bsf		INTCON,T0IE
	bsf		INTCON,GIE

 	clrf 	TMR2 	
 	bsf 	T2CON,0 			;pwm kalibráció frekvencia.. stb
 	movlw 	0xf	
	movwf 	CCP1CON 	
 	bsf 	T2CON,2 

	movlw	.100
	movwf	CCPR1L				;kijelzõ fényerõ

	clrf	PORTC
	clrf	PORTD
	
	clrf	sec_one
	clrf	sec_ten
	clrf	min_one
	clrf	min_ten

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
go	

	bsf		d1
	movfw	sec_one
	call	table
	movwf	pb	

	clrf	pb
	clrf	pd

	bsf		d2
	movfw	sec_ten
	call	table
	movwf	pb	

	clrf	pb
	clrf	pd

	bsf		d3
	movfw	min_one
	call	table
	movwf	pb	

	clrf	pb
	clrf	pd

	bsf		d4
	movfw	min_ten
	call	table
	movwf	pb	

	clrf	pb
	clrf	pd

	goto	go



;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

								;E;F;A;G;B;C;G;D
table
	addwf	PCL,f
;num
	retlw	b'11101101'	;0
	retlw	b'00001100'	;1
	retlw	b'10111011'	;2
	retlw	b'00111111'	;3
	retlw	b'01011110'	;4
	retlw	b'01110111'	;5
	retlw	b'11110111'	;6
	retlw	b'00101100'	;7
	retlw	b'11111111'	;8
	retlw	b'01111111'	;9
;font
	retlw	b'11001101'	;U	;10

	retlw	b'11000000'	;I< ;11		;V
	retlw	b'01001000'	; 	;12 ;pc 	;H;L;M;N;K;x;J;x
	retlw	b'00100000'	;	;13 		;A segment

	retlw	b'00101101'	;	;14		;D
	retlw	b'00100010'	;	;15	;pc

	
	retlw	b'00100000'	;	;16	;pc	;W	;L segment

	retlw	b'10010000'	;	;17	;pc	;N	;H;N segment
	retlw	b'11001100'	;	;18	;II

	retlw	b'01110000'	;	;19 ;pc;	felfelé nyíl
	retlw	b'10001010'	;	;20	;pc		lefelé nyíl
	

	return	

	end

