Şimdi Ara

pulse treni ? scr tetıklemek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
1
Cevap
0
Favori
107
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • herkese merhaba

    bt151 scr tetiklemek istiyorum fakat henüz başaramadım. Araştırırken de şöyle bir devre buldum fakat tam olaraka ne işe yaradığını anlamadım. yardımcı olabilcek birileri var mı ?

    kodu da bu

    #include <16f819.h>
    #device ADC=10
    #FUSES HS
    #FUSES NOLVP
    #FUSES NOPROTECT
    #FUSES NOWDT


    #use delay(clock=20000000)





    //////////////////////////ADC VE PWM DEĞİŞKENLER/////////////////

    unsigned long trigger_time =0;
    unsigned long value;
    long long temp;
    long long ver;

    void main()
    {
    setup_adc(adc_clock_div_32); // ADC clock frekansı fosc/32
    setup_adc_ports(AN0_AN1_AN3); //ayarlar

    ext_int_edge( H_TO_L );
    enable_interrupts(INT_EXT);
    enable_interrupts(INT_TIMER1);
    setup_timer_1 ( T1_DISABLED );
    setup_timer_2(T2_DIV_BY_4,60,1); //150
    setup_ccp1(CCP_OFF); // CCP2 birimi PWM çıkısı için ayarlandı
    set_pwm1_duty(25); // PWM1 çıkısı görev saykılı belirleniyor

    set_tris_a(0b00000011);
    set_tris_b(0b00000001);

    enable_interrupts(GLOBAL);




    basla:
    set_adc_channel(1);
    delay_ms(20);
    value = read_adc();



    temp = ((65535* (long long)value) / 1023+13000);




    if (value < 50)
    {
    trigger_time = 0;
    }
    else
    {

    trigger_time = temp;
    }




    goto basla;
    }




    #INT_TIMER1
    void trigger_pulse()
    {
    output_high(PIN_B2);
    setup_ccp1(CCP_PWM); // CCP1 birimi PWM çıkısı için ayarlandı
    set_pwm1_duty(25); // PWM1 çıkısı görev saykılı belirleniyor

    setup_timer_1 ( T1_DISABLED );
    }


    #INT_EXT
    void ext_isr()
    {
    setup_ccp1(CCP_OFF); // CCP1 birimi PWM çıkısı için ayarlandı
    output_low(PIN_B2);

    if(input(PIN_B0)==1 )
    {
    ext_int_edge( H_TO_L );
    set_timer1(trigger_time); // ALT LIMIT 16000 ÜST LİMİT 64500
    setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
    }
    else
    {
    ext_int_edge( L_TO_H );
    set_timer1(trigger_time); // ALT LIMIT 16000 ÜST LİMİT 64500
    setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
    }
    }





     pulse treni ? scr tetıklemek pulse treni ? scr tetıklemek







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.