12F675 buton ve led yardım lütfen

Başlatan senileben16, 04 Ekim 2012, 13:48:35

senileben16

Arkadaşlar ccs c compiler diye bi program yükledim 1 arkadaş bana 12F675 ile hazırlanmış program gönderebilirmi
Tek isteğim 3.pin giriş olacak 5. pin çıkış olacak 3. pine buton koyucam 5. pinede led takıcam butona basıp bıraktığımda led 500ms yanıp sönecek
butonda bi bekleme süresi olmasına gerek yok basınca yansın bırakınca sönsün lütfen yardım...

serhat1990

Aşağıdaki linke göz atarsan rahatlıkla yapabilirsin ...

https://www.picproje.org/index.php/topic,38490.0.html

Ayrıca forumda 100'lerce örnek var. Arama bölümünden aratabilirsin.

sadogan

#include <12F675.h>
#fuses INTRC_IO,NOWDT,NOCPD,NOPROTECT,PUT,NOMCLR,NOBROWNOUT
#use delay(clock=4000000)
#use standard_io(A)
#define BUTON PIN_A4// 3 nolu pin
#define LED   PIN_A2// 5 nolu pin
void mcu_init()
{
    setup_comparator( NC_NC_NC_NC ); // disable comparators
    setup_vref(FALSE);
    setup_adc_ports( NO_ANALOGS ); // disable analog inputs
    setup_adc( ADC_OFF ); // disable A2D
    set_tris_a(0b11111011);
    disable_interrupts(int_timer1);
    disable_interrupts(GLOBAL);
    PORT_a_PULLUPS(TRUE);
}

void main()
{

      mcu_init();
      while(TRUE)
      {
     
        if(!input(buton))
        {
            output_high(LED);
            delay_ms(500);
        }
        output_low(LED); ;
      }
 
}

Butonu gnd ile 3. pine baglayın 3.pin ile vcc arasına 4k7 direnc koyun.
kolay gelsin .

senileben16

#3
Sehat bey benim sıkıntım şu ben sürekli set_tris_b(0x00) yada (0xff) sürekli bu tür port olarak yada b1 diye i/o yaptığımdan dolayı 12f675 de a portu b portu olmadığı için kafam karıştı bana bi örnek yazabilirmisin mesela bana sadece 12f675 te 3. pini giriş yapıcam bana onun komutunu verebilirmisin ? daha 3 gün oldu başlayalı :/

mesaj birleştirme:: 04 Ekim 2012, 17:27:47

Alıntı yapılan: sadogan - 04 Ekim 2012, 16:29:18
#include <12F675.h>
#fuses INTRC_IO,NOWDT,NOCPD,NOPROTECT,PUT,NOMCLR,NOBROWNOUT
#use delay(clock=4000000)
#use standard_io(A)
#define BUTON PIN_A4// 3 nolu pin
#define LED   PIN_A2// 5 nolu pin
void mcu_init()
{
    setup_comparator( NC_NC_NC_NC ); // disable comparators
    setup_vref(FALSE);
    setup_adc_ports( NO_ANALOGS ); // disable analog inputs
    setup_adc( ADC_OFF ); // disable A2D
    set_tris_a(0b11111011);
    disable_interrupts(int_timer1);
    disable_interrupts(GLOBAL);
    PORT_a_PULLUPS(TRUE);
}

void main()
{

      mcu_init();
      while(TRUE)
      {
     
        if(!input(buton))
        {
            output_high(LED);
            delay_ms(500);
        }
        output_low(LED); ;
      }
 
}

Butonu gnd ile 3. pine baglayın 3.pin ile vcc arasına 4k7 direnc koyun.
kolay gelsin .

abi isiste kuruorum devreyi gp0 ve gp2 uçlarında sürekli çıkış var 3 nolu pine buton 5 nolu pine led giriorum led sürekli yanıoyor bendemi bi sıkıntı var acaba :)

sadogan


kuylus

#5
Hatalı mesajdı içeriğini sildim

kuylus

Sayın Sadogan

Verdiğiniz kodla ilgi bir sorum olacak, konu dağılmasın diye yeni  konu açmadım.

Sorum şu, kod içine 2. bir buton daha ekleyip butona basınca  ledin yanıp sönmesi, sizin kodlarınıza birde ses tonu ekledim fakat  ikisini aynı anda bir türlü çalıştıramadım, led çalışsa  ses çalışmıyor, ses çalışsa led çalışmıyor, ccs c de yeni olduğumdan, void mantığını tam kavrayamadım, ses le led  void main()  olmadan çalışmıyor. Yardımınız için  teşekkürler.

Not: Kodları eklemek isteyince uyarı aldım,  kodları sayfaya  nasıl eklemeliyim? uzun olunca  uyarı geliyor

MrDarK

Kuylus ; gönderdiğim mail içindeki linkteki konuda nasıl yapıldığı yazıyor.

Tekrar etmek gerekirse yorum yapmadan önce ön izleme yap, kodunu mouse ile seç ve forumda kalın italic font gibi ayar butonları var ya oradan # tuşuna basarsan yazdığın kod siyah içinde kod alanı şeklinde görülür.

Yapamazsan Genel sohbet içinde konu açabilirsin, yardımcı oluruz. İyi çalışmalar.

Dipnot : Kuralları önemsediğin için teşekkür ederim.
Picproje Eğitim Gönüllüleri ~ MrDarK

kuylus

#8
Sayın Sadogan

Verdiğiniz kodla ilgi bir sorum olacak, konu dağılmasın diye yeni  konu açmadım.

Sorum şu, kod içine 2. bir buton daha ekleyip butona basınca  ledin yanıp sönmesi, sizin kodlarınıza birde ses tonu ekledim fakat  ikisini aynı anda bir türlü çalıştıramadım , led çalışsa  ses çalışmıyor , ses çalışsa led çalışmıyor, ccs c de yeni olduğumdan, void mantığını tam kavrayamadım, ses le led  void main()  olmadan çalışmıyor. Yardımınız için  teşekkürler.
#include <12f675.h>
#FUSES INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR 
#use delay(clock=4000000)
#include <C:\Users\toshiba\Desktop\sinyal\TONES2.c>  // TONES2.c dosyası programa ekleniyor
                                                     // Ses tonlarından oluşan dizi tanımlanıyor
#use standard_io(A)
#define BUTON PIN_A1// 3 nolu pin
#define LED   PIN_A2// 5 nolu pin
#define BUTON2 PIN_A5// 3 nolu pin
#define LED2   PIN_A4// 5 nolu pin
void mcu_init()
{
    setup_comparator( NC_NC_NC_NC ); // disable comparators
    setup_vref(FALSE); 
    setup_adc_ports( NO_ANALOGS ); // disable analog inputs
    setup_adc( ADC_OFF ); // disable A2D
    set_tris_a(0b11110011);
    disable_interrupts(int_timer1);
    disable_interrupts(GLOBAL);
    PORT_a_PULLUPS(TRUE);
}
void main()
{

      mcu_init();
      while(TRUE)
      {
     
        if(!input(buton))
        {
            output_high(LED); 
            delay_ms(100);
         
        }
        output_low(LED); ;
        
        if(!input(buton2))
        {
            output_high(LED2); 
            delay_ms(100);
         
        }
        output_low(LED2); ;
      }  
}
/////////////////////////// ses notalari ////////////////
const char muzik[2]={

//Db_NOTE[3],
//Eb_NOTE[2],
//F_NOTE[3],
//Gb_NOTE[0],
//Gb_NOTE[3],
//Ab_NOTE[0],
Ab_NOTE[3],// seçilen 1
//A_NOTE[1],
//A_NOTE[2],// seçilen 2
//b_NOTE[0],// seçilen 3
//Bb_NOTE[1],// seçilen 4
//Bb_NOTE[3],
//B_NOTE[0],
//B_NOTE[1],
B_NOTE[2],

};

////////////////////////////////ses notaları son//////////////////
int i;  // Tam sayı tipinde değişken tanımlanıyor

//******************* ANA PROGRAM FONKSİYONU *******************
void tone()
{

 output_low(pin_a0); // RB0 çıkışı ilk anda lojik-0

   while(1) // Sonsuz döngü
   {
      for(i=0;i<2;i++)
      {
         generate_tone(muzik,100); delay_ms(500); // Sırayla muzık[] dizisindeki
      }                                             // tonlar oluşturuluyor
  }
}
///////////////////////////ana program sonu //////////


kuylus

Sayın MrDark

Yardımınız için teşekkürler, sanırım bu sefer oldu, ilk defa kod yayınlayınca   biraz sorun çıkdı kusuruma bakmayın.

Saygılarımla

kuylus

Sanırım konu eski diye ilgilnen olmuyor

kuylus

Buton ile ilgili konuyu çözüp çalıştırdım