13 Mayıs 2020 Çarşamba

ccs c ledlerle örnek deneme

Pic programlama ccs c ledlerle örnek deneme kodları.

#include <12f683.h>
#fuses NOWDT,INTRC_IO,NOMCLR
#use delay(clock=4m)
//#use fast_io(a)
int x=0;
int k=1;
void main()
{
 set_tris_a(0xff);
 output_a(0b001000);

 while(1)
 {
 if(input(pin_a3))
 {
 x=x+1;
 while (input(pin_a3));
 }

 if(x==1)
 {
 output_high(pin_a1);
 delay_ms(250);
 output_low(pin_a1);
  delay_ms(250);
 
  output_high(pin_a2);
 delay_ms(250);
 output_low(pin_a2);
  delay_ms(250);
 
 }

 if(x==2)
 {

 for(int s=0;s<=7;s++)
 {
 output_a(k);
 k=k<<1;
 delay_ms(100);
 }

 k=0x80;
 output_a(k);
  delay_ms(100);
 
 for(int s=0;s<=6;s++)
 {

 k=k>>1;
 output_a(k);
 delay_ms(100);
 x=2;
 }
}

if(x==3)
x=0;

output_low(pin_a0);
 }
}


17 yorum:

  1. Çok teşekkürler karışık gibi gözüküyor anlamaya çalışıp öğreneceğim sağolun :)

    YanıtlaSil
    Yanıtlar
    1. Rica ederim ne hatasi aliyorsun.

      Sil
    2. Bu ; eksikmi bak birde bu { } işaret eksikmi diye kopyala yapistir yapinca kalabiliyor

      Sil
    3. test ettim tekrar çalışıyor

      Sil
  2. Olduğu gibi kopyaladım fakat CCS 48. satırda hata veriyor compile olmuyor maalesef.

    YanıtlaSil
  3. for(int s=0;s<=6;s++) bu satırdaki ilk s harfinini işaret ederek,
    Error 31 ''Sıfırzero.c''Line 48(10,11):Identifier is already used in this scope.

    Error 76 ''Sıfırzero.c''Line 48(22,23): Except:

    hatalarını alıyorum ve compile olmuyor.

    YanıtlaSil
  4. Sadece bu ; eksikti ekledim fakat hatalarda bir değişme olmadı.Eksik olan yer if(input(pin_a3)) burası.

    YanıtlaSil
  5. Neyse hocam zaten x==2 den sonrasını kendim düzenlemeye çalışarak birşeyler yaptım yine de sağolun :)

    YanıtlaSil
  6. Hocam bu devreyi değiştirerek yaptım fakat butona basınca program değişmiyor biraz basılı tutunca değişiyor aynı durum proteusta da oluyor gerçek devrede de.Butona 10k direnç bağladığım halde bunu yapıyor neden acaba hata mı yapıyorum?

    YanıtlaSil
  7. program tam bitmedigi icin buton aktif olmuyor deneyim programi duzenleyim

    YanıtlaSil
    Yanıtlar
    1. ikinci seçenekte output_a olduğu için buton düzensiz çalışıyor. devrede kodda sorun yok pin_a3 yerine başka ucu denersen sorunsuz çalışacak

      Sil
  8. Biraz uzun olacak cevaplarsanız memnun olurum.Kodları olduğu gibi kopyalayıp attım ve https://hizliresim.com/jsn7Er ekteki hatayı veriyor.Hata verdiği satırı sildiğimde ise Compile yapıyor.Bu kodlarda k değişkenini hiç anlayamadım zaten for döngüsünü az çok anladım ama yine de bana şuan için çok karışık geliyor.

    Ben de bu kodlardan esinlenerek kendimce birşeyler yazdım.Bazen butonlara tek dokunmamla program değişirken bazen basılı tutsam dahi değişmiyor.Yazdığım kodları ekliyorum size çok acemice gelecektir ama elimden gelen maalesef bu :)

    #include <12f683.h>
    #fuses NOWDT,INTRC_IO,NOMCLR
    #use delay(clock=4m)
    #define LED pin_a0
    #define LED2 pin_a2
    #define LED3 pin_a4

    int x=0;


    void main()
    {
    set_tris_a(0xff);
    output_a(0b001000);

    while(1)
    {
    if(input(pin_a3))
    {
    x=x+1;
    while (input(pin_a3));
    }


    if(x==1)
    {
    output_high(LED);
    output_high(LED2);
    output_high(LED3);




    }

    if(x==2)
    {
    output_low(LED);
    output_low(LED2);

    output_high(LED3);
    delay_ms(50);
    output_low(LED3);
    delay_ms(50);

    }

    if(x==3)
    {
    output_low(LED3);
    output_high(LED2);
    delay_ms(500);
    output_low(LED2);
    delay_ms(500);

    }

    if(x==4)

    x=0;
    }
    }

    bunu mesela bir ışıklı süs eşyasında kullanmak istedim şuan butonsuz while döngüsünde 1 haftadır çalışıyor ama ben bunu butonlu yapmak istiyorum fakat yapamadım.

    YanıtlaSil
    Yanıtlar
    1. Kodlar calisiyor ama sizin degistirmeniz geren uç pin_a3 u kullanmayiniz. Diger pinlerden birini kullaniniz. Programi ona göre düzenleyiniz.

      Sil
  9. PIC öğrenme amacım 7 yıldır masamı aydınlattığım ledler var onlara köklü bir değişim yapıp çok daha profesyonel hale getirip ufak butonlarla ve kumandayla kontrol etmek ve tamamında kendi emeğimin olması.Daha sonra model araba ışıklandırması ve hatta yapabilirsem 2000 wattlık bir sobayı PIC üzerinden kumandayla kontrol etmek gibi hedeflerim var ama en iyisi sanırım eğitim kitabı almak.

    YanıtlaSil
    Yanıtlar
    1. eğitim kitabı şart. yazılmış kodlarıda anlamaya çalış benim paylaşımları çok basit kolay örnekler.yüksek voltaj akım kontrol etmek için triak veye tristörleri araştırmalısın

      Sil
  10. pin_a3'ü a1 yaptım ama değişen bir şey olmadı.A3 ü çıkış olarak kullanamıyoruz ama giriş olarak da kullanamayacaksak a3 ün görevi nedir acaba ICSP için mi kullanacağız sadece.

    YanıtlaSil
  11. Mclr ucu denetleyicinin reset ucu giriş var ama çıkış alamiyoruz.

    YanıtlaSil

Her yorum bilgidir. Araştırmaya devam...