Haberler:

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

Ana Menü

Basit bir led yakma devresi.

Başlatan proxrth, 12 Mayıs 2012, 00:23:35

proxrth

Merhaba üstadlar.

Yapmam gereken programın ISIS şeması ;
[IMG]http://i46.tinypic.com/3590l6t.jpg[/img]
Yapmam gereken program ;
RA0 'a bağlı olan butona basılmadığında RB2 ye bağlı ledi yakan , basıldığında ise RB0' da bulunan ledi yakan,
RA1'e bağlı olan butona basılmadığında RB3' e bağlı olan ledi yakan, basıldığında ise RB1'de bulunan ledi yakan programı yazmam gerek.


Benim yazdığım program ise ;
#include <16f628a.h>

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOCPD
#use delay (clock=4000000)

#use fast_io(a)
#use fast_io(b)
          

void main()
{
setup_timer_1(T1_DISABLED);
setup_CCP1(CCP_OFF);

set_tris_a(0x03);
set_tris_b(0x00);

While(1)
{
   if(!input(pin_a0));
   {  output_b(0x04);
   }
   while(input(pin_a0));
   if(input(pin_a0));
   {  delay_ms(5);
      output_b(0x01);
   }
   while(input(pin_a0));
   if(!input(pin_a1));
   {  output_b(0x08);
   }
   while(input(pin_a1));
   if(input(pin_a1));
   {  delay_ms(5);
      output_b(0x02);
   }
   while(input(pin_a1));
}
}


NOT:Yazdığım program CCs c de problemsiz çalışmakta fakat isisde ledler anlamsız şekilde buton kontrolü olmaksızın yanıp sönüyor.
Yardımlarınızı esirgemezseniz çok sevinirim şimdiden  ilginiz için teşekkürler iyi günler iyi forumlar.

eemuratozan

while(input(pin_xy)) ifadesini if den hemen sonra kullan ve ondan sonra söyle ne yapacağını programın bi böyle dene bakalım
I&C Engineer in Bereket Enerji Çates Elektrik Üretim A.Ş.

taso

while(1){

output_bit(pin_b1,input(pin_a0));


output_bit(pin_b2,!input(pin_a0));


output_bit(pin_b3,input(pin_a1));


output_bit(pin_b3,!input(pin_a1));


}

proxrth

Tekrar merhabalar öncelikle geç cevap verdiğim için özür dilerim.
Söylediğiniz yöntemleri denedim fakat sorun hala devam etmekte ledler alakasız bir şekilde yanmakta başka bir fikriniz varmıdır acaba konu ile ilgili ?
Şimdiden iyi forumlar.

skara1214

#include <16f628a.h>
#fuses XT,NOWDT
#use delay (clock=4000000)
void main()
{
While(true)
{
   if(!input(pin_a0))
   output_b(0x04);
   else if(input(pin_a0))
   output_b(0x01);
   if(!input(pin_a1));
   output_b(0x08);
   else if(input(pin_a1));
   output_b(0x02);
}
}

bu yazdığım kod çok basit ve çalışmama gibi bir ihtimal düşünmüyorum.Eğer sıkıntı olursa gene proteustan kaynaklıdır.Dikkat etmeniz gerek nokta proteustaki clock hızıyla koddaki clock hızı birbirini tutsun
Herkes ölür ama herkes gerçekten yaşamaz

kudretuzuner

Merhaba
Boş vakit buldum asm ile yazdım.Buyrun belki işinize yarar.Not,şemayı borda aynen  uygulayınız.
https://rapidshare.com/files/1859520774/proxrth_led_appl.rar
Amatör