#use delay(clock=20000000)
int32 devir=0;
int32 sayac=0;
int32 rpm;
#int_ext
void ext_kesmesi()
{
devir++;
}
#int_timer1
void timer1_kesmesi()
{
set_timer1(3035); //0.2us X 8 X 62500(65535-3035) = 0.1 sn
sayac++;
}
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_timer_2(T2_DISABLED,0,1);
if(sayac==10) //10 tane timer1 kesmesi olunca 1 sn süre geçiyor.
{
rpm=devir*60;
devir=0; //1 sn geçince devir sıfırlanıyor.
sayac=0; //1 sn geçince sayaç sıfırlanıyor.
}