arkadaslar yardimlariniz icin cok tesekkurler problemi hallettim sadece sure ayarlamalariyla ilgili kucuk degisiklikler yapacagim dediginiz gibi dis kesme ve timer0 kullandim problem halloldu hemen yaziym dedim isine yarayacak arkadaslar vardir diye kodlari gonderiyorum hizi sayac degerine esitledim siz onu hizini hesaplatacaginiz seyin yaricapina gore yazarsiniz arkadaslar sizede tekrar cok tesekkur ediyorum bu arada 16f877 ye gore yazdim kodlari diger pic lere gorede kodlar yeniden yorumlanabilir.
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#include <lcd.c>
#priority ext, timer0
#use fast_io(b)
#use fast_io(d)
int sayac,i;
float hiz;
#int_ext
void ext_kesmesi()
{
sayac++;
}
#int_timer0
void timer0_kesme()
{
set_timer0(60);
i++;
if(i=20)
hiz=sayac;
sayac=0;
printf(lcd_putc,"\fHIZ=%f KM/H" ,hiz);
}
void main()
{
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED, 0,1);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_d(0x00);
output_d(0x00);
set_tris_b(0x01);
output_b(0x00);
lcd_init();
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
set_timer0(60);
ext_int_edge(H_TO_L);
enable_interrupts(INT_EXT);
enable_interrupts(INT_timer0);
enable_interrupts(GLOBAL);
while(1);
}