Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

CCP ile Frekans ölçümü Hk. ?

Başlatan Nedenler, 04 Mart 2011, 16:01:49

Nedenler

Merhaba arkadaşlar 18F452'nin CCP1'ini kullanarak dışarıdan verdiğin bir frekansı capture moduyla ölçmeye çalışıyorum. Fakat çok alakasız sonuçlar alıyorum birtürlü ayarı tutturamadım. Yardım edebilirseniz sevineceğim. 20Mhz osilatör kullanıyorum. Kodlar aşağıda.
int1 flag_capture;
int8 i;
int16 freq;

#INT_CCP1
void capture()
{
   flag_capture=1;
   freq=CCP_1;
   CCP_1=0;
   set_timer1(0);
}
   
void main()
{
   
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_INTERNAL | T1_DIV_BY_4);
//   setup_timer_2(T2_DIV_BY_16,255,1);
   enable_interrupts(GLOBAL);
   enable_interrupts(INT_CCP1);      
   setup_ccp1(CCP_CAPTURE_DIV_4);
//   setup_ccp2(CCP_PWM);
   
   set_tris_c(0x04);
   set_tris_c(0x00);
   lcd_hazirla();
   while(1)
   {    
      //set_pwm2_duty(++i);
      delay_ms(50);
      if(flag_capture)
      {
         flag_capture=0;
         lcd_imlec(2,1);
         printf(lcd_veri,"Frekans %Lu Hz",freq);
      }
   }
   
}


ByTEK

Merhaba C dilnii bilmediğim için yardımcı olamayacağım.. ama belki gözünüzden kaçmıştır diye tübidakın kendimiz yapalım köşesinde yayınlanan frekans ölçer devresinin programı Hi-tech PIC C ile yazılmış 16F628 kullanılmış.. Belki Sizede kodsal anlamda faydası olur..Kolay Gelsin..

pdf dosyasına buradan ulaşabilirsiniz..

http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/38/frekans_olcer.pdf

buda C kodu

http://www.biltek.tubitak.gov.tr/gelisim/elektronik/dosyalar/38/frekansolcer.C

Nedenler

Evet bunu incelemiştim baya faydası da oldu sağolun ama yinede olmadı nedense anlayabilmiş değilim

ogoculu

biraz geçte olsa bir tavsiyede bulunayım, timer 1 sayıcısını kullanarak dışarıdan gelen palsleri saydır. bölme oranını doğru yaparsan direk sonuç alırsın.