#include <16F690.h>

#FUSES NOWDT                      //Watch Dog Timer
#FUSES INTRC                       //HS Oscilator
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOIESO                   //Internal External Switch Over mode disabled
#FUSES NOFCMEN                  //Fail-safe clock monitor disabled

#use delay(clock=8000000)

#include <flex_lcd.c>

int32 szaml;
int32 kijel_ertek;
volatile int8 jel,jel2;


Void ini_main(){
	szaml = 0;
	jel=0;
	jel2=0;
	kijel_ertek=0;
	setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
	EXT_INT_EDGE(H_TO_L);
 	enable_interrupts(INT_TIMER1);
	enable_interrupts(INT_RA3);
	enable_interrupts(GLOBAL);
	clear_interrupt(INT_TIMER0); 
	clear_interrupt(INT_RA3);

}

#int_TIMER1
void TIMER1_isr(){
 
  
				kijel_ertek++;
				jel=1;
 				

}

#INT_RA
void ra3_int(){
if (!input (PIN_A3)){
szaml=kijel_ertek;
kijel_ertek =0;
jel=1;
jel2=1;
//delay_ms(200);			//prell miatt volt, de ez ugye nem az igazi
}
}

Void main(){
ini_main();
delay_ms(100);
lcd_init();
delay_ms(50);
lcd_putc("\fHallo");
delay_ms(500);
while (1){
		if (jel){
					lcd_putc('\f');
					printf(lcd_putc,"%Lu\n",kijel_ertek);
					printf(lcd_putc,"%Lu\n",szaml);
					jel=0;
					}
		if (jel2){									//perell miatt, működik, 
													//persze a kijelzés egy picit megáll
													//ha ide egy for ciklust teszek az
													//jobb megoldás lehet?
					disable_interrupts(INT_RA3);
					delay_ms(200);
					enable_interrupts(INT_RA3);
					jel2=0;
					}


}
}