Bir butona basıldığında led yanacak diğer butona basıldığında sönecek.

Başlatan Melih1802, 15 Haziran 2014, 11:29:40

Melih1802

Devremizde 2 buton 1 led var.
Buton1 basıldığında led yanacak,
Buton1 basılı olduğu halde Buton2 ye basılırsa led sönecek. Göz kırpma yapmayacak.


Bana bunun için birörnek verebilirmisiniz.

Kabil ATICI

do ve d1 'de iki tane buton ve b1 LED olsun. Butonları istediğin gibi düzenle..

if (input(pin_d0)==1)
{
if (input(pin_d1)==1)
{
output_high(pin_b1);
}
else
{
output_low(pin_b1);
}
}
ambar7

interrupter

While(input(pin-a0))
{
Output_high(pin_b0);
While(input(pin_a1)
{
Output_low(pin_b0);
}
}

Melih1802

Alıntı yapılan: ambar7 - 15 Haziran 2014, 11:38:05
do ve d1 'de iki tane buton ve b1 LED olsun. Butonları istediğin gibi düzenle..

if (input(pin_d0)==1)
{
if (input(pin_d1)==1)
{
output_high(pin_b1);
}
else
{
output_low(pin_b1);
}
}


Üstad bu programı derlediğimde d0 ve d1 basıldığında led yanıyor.

Benim istediğim d1 basılı olduğu halde d2 basılırsa led sönecek.

mesaj birleştirme:: 16 Haziran 2014, 05:06:48

Alıntı yapılan: interrupter - 15 Haziran 2014, 13:07:24
While(input(pin-a0))
{
Output_high(pin_b0);
While(input(pin_a1)
{
Output_low(pin_b0);
}
}



#include "C:\Users\melih\Desktop\MD800\MD800.h"


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);


  set_tris_d(0b11111111);//
  set_tris_a(0x00);
  set_tris_b(0x00);
  set_tris_c(0x00);
    output_a(0x00);
    output_b(0x00);
    output_c(0x00);
     
While(input(pin_a0))
{
Output_high(pin_b0);
While(input(pin_a1)
{
Output_low(pin_b0);
}
}
}


Derleyemedim.  Burada hata verdi.

Melih1802

Alıntı yapılan: interrupter - 15 Haziran 2014, 13:07:24
While(input(pin-a0))
{
Output_high(pin_b0);
While(input(pin_a1))
{
Output_low(pin_b0);
}
}


Kodunu derleyemiştim. 2 hata vardı buldum düzelttim. Fakat hiç bir butonda led ne yandı ne de söndü.

While(input(pin_a0))
{
Output_high(pin_b0);
}
While(input(pin_a1))
{
Output_low(pin_b0);
}
}

ialtinkopru


interrupter

arma geçtiğim için ccs c yi uzun zamandır kullanmıyorum birde askerdeyim 1 yıldır uzağım bunlardan 
telden girdiğim için ufak tefek hatalarım olabilir kusuruma bakmayın..
hataan çok basit denetleyicinin fuses ayarları yok denetleyici hangi clock kaynağından beslenecek?

mesaj birleştirme  set_tris  1 olunca mı? giriş 0 olunca mı? giriş onu hatırlayamadım ona göre değiştirirsin sen ama şu anki haliyle hata vermez derlenir.:: 16 Haziran 2014, 11:01:22

#include "16f877.h" \\İşlemcin neyse ona göre değiştir bu kısmı
#FUSES XT,NOWDT  \\konfigürasyonları genişletebilirsin bu haliylede olur


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);


  set_tris_d(0b11111111);//
  set_tris_a(0x00);
  set_tris_b(0x00);
  set_tris_c(0x00);
    output_a(0x00);
    output_b(0x00);
    output_c(0x00);
     
while(TRUE)
{
While(input(pin_a0))
{
Output_high(pin_b0);
While(input(pin_a1))
{
Output_low(pin_b0);
}
}
output_low(pin_b0); \\hiçbir butona basılmazsa çıkışı sıfırlamak için birinci butona basıp çektikten sonra çıkış vermesini istiyorsan bu satırı kaldırabilirsin
}
}

Melih1802

#include "C:\Users\melih\Desktop\MD800\MD800.h"


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);


  set_tris_d(0b11111111);//
  set_tris_a(0x00);
  set_tris_b(0x00);
  set_tris_c(0x00);
    output_a(0x00);
    output_b(0x00);
    output_c(0x00);
 
while(TRUE)
{
While(input(pin_a0))
{
Output_high(pin_b0);
While(input(pin_a1))
{
Output_low(pin_b0);
}
}
output_low(pin_b0); //hiçbir butona basılmazsa çıkışı sıfırlamak için birinci butona basıp çektikten sonra çıkış vermesini istiyorsan bu satırı kaldırabilirsin
}
}



Üstad çalıştıramadım. Hiç led yanmadı. Yanlız kodları doğru eklemişmiyim. Bakarmısın.

interrupter

#include "16f877.h" \\İşlemcin neyse ona göre değiştir bu kısmı
#FUSES XT,NOWDT  \\konfigürasyonları genişletebilirsin bu haliylede olur


bu kısmı neden irdeledin  asıl önemli kısım burası

Melih1802

Nereye nasıl entegre edeceğim. Mümkünse yazdığım kodların arasına eklermisin.

interrupter


\\bu mesajımı olduğu gibi kopyala derleyicine yapıştır ve derle sorun çözülecektir
#include "16f877.h" \\İşlemcin neyse ona göre değiştir bu kısmı
#FUSES XT,NOWDT  \\konfigürasyonları genişletebilirsin bu haliylede olur


void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);



  set_tris_a(0xff);
  set_tris_b(0x00);
  output_b(0x00);
   
     
while(TRUE)
{
While(input(pin_a0))
{
Output_high(pin_b0);
While(input(pin_a1))
{
Output_low(pin_b0);
}
}
output_low(pin_b0); \\hiçbir butona basılmazsa çıkışı sıfırlamak
\\için birinci butona basıp çektikten sonra çıkış vermesini istiyorsan bu satırı kaldırabilirsin
}
}


\\a0 ve a1 e buton bağla  b0 a led bağla  kesinlikle çalışacaktır hiç bir sorun yok şu haliyle

Melih1802

\\ ları // ile değiştirdim. Fakat bir yerde derleyici hata verdi.




interrupter

ne hatası verdi  o kısmı yaz bari o kısmı komple silsende olur



mesaj birleştirme:: 16 Haziran 2014, 11:43:16

//bu mesajımı olduğu gibi kopyala derleyicine yapıştır ve derle sorun çözülecektir
#include "16f877.h"//İşlemcin neyse ona göre değiştir bu kısmı
#FUSES XT,NOWDT //konfigürasyonları genişletebilirsin bu haliylede olur


void main()
{

   
   
     
while(TRUE)
{
While(input(pin_a0))
{
Output_high(pin_b0);
While(input(pin_a1))
{
Output_low(pin_b0);
}
}
output_low(pin_b0); //hiçbir butona basılmazsa çıkışı sıfırlamak
//için birinci butona basıp çektikten sonra çıkış vermesini istiyorsan bu satırı kaldırabilirsin
}
}


//a0 ve a1 e buton bağla  b0 a led bağla  kesinlikle çalışacaktır hiç bir sorun yok şu haliyle

Melih1802





mesaj birleştirme:: 15 Haziran 2014, 22:20:32

Derlemeyi yaptım. Yine çalışmadı.

http://s3.dosya.tc/server24/ghgHad/Desktop.rar.html     proteus.

interrupter