ccs c kodu yardım

Başlatan sifirzero, 07 Haziran 2015, 22:43:38

sifirzero

arkadaşlar devrede butona basımca led yanıyor tekrar basınca sönüyor.devrede beş buton ve beş led var ben bir tane daha buton ekleyim bütün ledleri söndürmek istiyorum yapamadım yardımcı olurmusnuz.
#include <main.h>  
#use delay (clock=4m) 
#FUSES MCLR
void main()
{
int s,e,r,k,a,n;     

set_tris_a(0xff);
set_tris_b(0x00); 
             
output_b(0x00100000);
 
 for(;;)  // for sonzuz döngüsü
  {  
  
   if(input(pin_a0)) {while(input(pin_a0)); s++;} 
   if(s==2) { s=0; }                                                  
   if(s==1) { output_high(pin_b0);}                  
   if(s==0) { output_low(pin_b0); }
                                            
   if(input(pin_a1)) {while(input(pin_a1)); e++;}  
   if(e==2) { e=0; }
   if(e==1) { output_high(pin_b1);}  
   if(e==0) { output_low(pin_b1); }
                                   
   if(input(pin_a2)) {while(input(pin_a2)); r++;}          
   if(r==2) { r=0; }                             
   if(r==1) { output_high(pin_b2);}  
   if(r==0) { output_low(pin_b2); }         
   
   if(input(pin_a3)) {while(input(pin_a3)); k++;}  
   if(k==2) { k=0; }                             
   if(k==1) { output_high(pin_b3);}
   if(k==0) { output_low(pin_b3); }
   
   if(input(pin_a4)) {while(input(pin_a4)); a++;}  
   if(a==2) { a=0; }                             
   if(a==1) { output_high(pin_b4);}  
   if(a==0) { output_low(pin_b4); } 
   
   
   
                                                                       
  }                                        
       
                                 
}   
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

baran123

#1
iflerin altına bunu ekleyebilirsin.
if(input(pin_a5))
{
   while(input(pin_a5));
   output_low(pin_b0);
   output_low(pin_b1);
   output_low(pin_b2);
   output_low(pin_b3);
   output_low(pin_b4);
}

//bunuda ekle.Kristal çeşidini belirtmemişsin
#FUSES MCLR,XT// HARİCİ İSE

vitruvius

B portuna başka bir şey bağlı değilse

output_b(0x00)


diyebilirsin. Böylelikle B portunu komple sıfırlamış olursun.

Bu arada bu tip her bastığında pinde tersi bir durum oluşmasını istiyorsan

output_toggle(pin_x)
komutunu kullanabilirsin. Böylece sayaçla uğraşmak durumunda kalmazsın.

Örnek:
if(input(pin_a0)) 
{
     while(input(pin_a0));
     output_toggle(pin_b0);
}
                                     

sifirzero

#3
Dediklerinizi hepsini yaptim en son hepsini sifirlamak istiyorum bu seferde led yanip yanip sonuyor yaniyor.sifirlamiyor.baska komutmu denemek gerekir

mesaj birleştirme:: 09 Haziran 2015, 00:55:30

başka komut ne deneyebiliriz.bütün ledleri söndürmek için.

mesaj birleştirme:: 08 Haziran 2015, 11:02:27

vitruvius  çok saolsın Allah razı olsun kardeşim oldu.sayaç gerek kalmadı. neden düşünemedim anlamadım kardeşim.
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir