Buton hatası ?

emirhan23

Üye
Katılım
10 Ocak 2011
Mesajlar
98
Puanları
1
Yaş
32
İyi akşamlar. PİC C ile 16f84a da bir devre var. Devrenin şeması aşağıdadır. Yazdığım programı da aşağı yazıyorum. Bir türlü sorunu bulamadım. Sıkıntı şu ki;

Butona basınca LED yanacak, bir daha basınca sönecek ama bendekinde basılı tuttuğum sürece yanıyor, butondan elimi çekince sönüyor.

Kod:
#include <16f84a.h>#fuses xt,NOPROTECT,NOWDT
#use delay(clock=4M)
#byte PORTB = 0x06
#byte TRISB = 0x86
#bit BUTON = PORTB.0
#bit LED = PORTB.1
 
void main()
{
 
TRISB = 0x01;
PORTB = 0x00;
 


 for(;;){
 if(!BUTON)
  {
  LED = 1;
  }
 else
 LED = 0;


  }
}



mc4c4.png
 
Assembly olsa yardımcı olacam ama C de hiç pic kodlamadım. ama sorun büyük ihtimal if li kısmdan kaynaklanıyor. çünkü senin yazdığın program butona basılı ise led yansın basılı değilse yanmasın diyor .
 
toogle komutunu kulanabilirsiniz, en iyisi bir kaynak bulup çalışmanız olur.
Kod:
 LED=pin_b0for(;;){  if(!BUTON)    {  output_toogle(LED);  delay_ms(400);    }
 
çok teşekkür ederim. Sonunda buldum. :)

Kod:
#include <16f84a.h>#fuses xt,NOPROTECT,NOWDT
#use delay(clock=4M)
#byte PORTB = 0x06
#byte TRISB = 0x86
#bit BUTON = PORTB.0
#bit LED = PORTB.1
 
void main()
{
 
TRISB = 0x01; 
PORTB = 0x00;
 


 for(;;){ 
 while(!BUTON)  
  {
  LED = !LED;;
  delay_ms(70);
  }


  }
}
 
Son düzenleme:

Forum istatistikleri

Konular
128,214
Mesajlar
915,863
Kullanıcılar
449,995
Son üye
osmanguney15

Yeni konular

Geri
Üst