Mikro c Sınav Sorularım

semusahin

Üye
Katılım
17 Ocak 2013
Mesajlar
18
Puanları
1
Yaş
30
Merhabalar yarınki olan sınavım için 6 tane soru bırakmış hocamız bunların çözümünü yazabilecek kişi varmıdır daha doğrusu hayra girmek isteyen yokmudur sorular aşağıda şimdiden teşekkür ederim.

1-) Bir buton var , bir tane lamba butona 1.kez basıldığında lamba yanacak , 2.kez basıldığında sönecek. Bu işlem butona her basıldığında tekrar edecek

2-) Bir buton iki lamba , butona her basıldığında lambalardan biri yanacak.

3-) Bir buton var, bir lamba var butona 1.kez basıldığında lamba 1'er sn aralıklarla yanıp sönecek. Butona yine basıldığında yarım sn aralıklarla yanıp sönecek.

4-) İki buton iki lamba var, 1.butona basılıdğında 1. lamba 2. butona basıldığında sadece 2.lamba ,1.butona yine basıldığında sadece 1.lamba yanıyor.

5-) 8 adet lamba 3 kez 1 sn aralıklarla sağdan-sola ,3 kez yarım sn aralıklarla soldan-sağa hareket ediyor ve 3 kez 1'er sn aralıklarla hepsi yanıp sönüyor.

6-) 8 adet lambanın ilk 4 bitteki ve son 4 bitteki 1'er sn aralıklarla yanıp sönüyor. Bu işlem periyodik olarak denetleyici enerjisi kesilene kadar devam ediyor.
 
Abicim yardım etmeyecekseniz boşuna yorum yapmayın lütfen. Hocamız çok iyi bir hoca olsa bütün öğrenciler öğrenirdi heralde? Elektrik okuyorum Elektronik görüyorum bu nasıl sistem onu açıklayın o zaman :)
 
Kod:
int sayac=0;  //sayac tipinde değişken tanımladık saydırma yapmak için


void main()
{
trisa=255;  // a portu giriş buton bağlıcaz
trisb=0;   //b portu çıkış lamba bağlıcaz
porta=0;  //başlangıçta portları sıfırlıyoruz
portb=0;
   sayac=0;  //sayac değişkenini sıfırladık
while(1)   //sonsuz döngü için
{   


if(porta.ra0)  //ra0'a bağlı butona basılmışsa
{
sayac++;   //sayacı 1 artır
} while(porta.ra0);  //butondan el çekilene kadar bekle


if(sayac==1) portb.rb0=1;  //sayac=1 se lambayı yak
if(sayac==2)  //sayac=2 ise lambayı söndür.
{
portb.rb0=0;  
sayac=0;
}
}
}

ilk sorunun cevabı bu diğerleride aynı mantıkla kendin yapabilirsin.
 
Çok teşekkür ederim elleriniz dert görmesin
 
2.Sornun cevabı;

Kod:
int sayac=0;


void main()
{
trisa=255;
trisb=0;
porta=0;
portb=0;
sayac=0;
while(1)
{


if(porta.ra0)
{
sayac++;
} while(porta.ra0);  //butondan el çekilene kadar bekle


if(sayac==1) portb.rb0=1;   //ilk basışda 1. lamba yandı
if(sayac==2) portb.rb1=1;   // ikinci başısda 2. lamba yandı


if(sayac>2)         //3. basışda lambalar söndü
{
sayac=0;
portb=0;
}
}
}


3.Soru
Kod:
int sayac=0;


void main()
{
trisa=255;
trisb=0;
porta=0;
portb=0;
sayac=0;


 while(1)
 {
if(porta.ra0)
{
sayac++;
} while(porta.ra0); //butondan el çekilene kadar bekle


if(sayac==1)
{


portb.rb0=1;         //ilk basışda 1. lamba yandı
delay_ms(1000);       //1 sn yandı
portb=0;          //lamba söndü
delay_ms(1000);






if(sayac==2)
{
portb.rb0=1;       // ikinci başısda 2. lamba yandı
delay_ms(500);      //500ms yandı
portb.rb0=0;         //lamba söndü
delay_ms(500);
}
if(sayac>2)
{
portb=0;
sayac=0;
}
}




}




}


5.soru

Kod:
int sayac,sayac1,sayac3;
int led,i,i1;


void main()
{
trisa=255;
trisb=0;
porta=0;
portb=0;


   for(sayac=0;sayac<=2;sayac++)     // 3 sefer yapacak
   
   {
   led=1;


   for(i=0;i<=7;i++)
   {
   portb=led;
   led=led<<1;        //soldan sağa ledleri yakıyor
   delay_ms(1000);
   }
   }


   for(sayac1=0;sayac1<=2;sayac1++)     // sefer yapacak
   {
   led=128;
   for(i1=0;i1<=7;i1++)
   {
   portb=led;
   led=led>>1;                 //sağdan sola ledleri yakıyor
   delay_ms(500);
   }
   }
   
     for(sayac3=0;sayac3<=2;sayac3++)      // 3 sefer yapacak
     {


     portb=0;
     portb=255;
     delay_ms(1000);                    //ledleri yakıp söndürüyor
     portb=0;
     delay_ms(1000);
     }


}



soru 6;

Kod:
void main()
{
trisa=255;
trisb=0;
porta=0;
portb=0;


 while(1)
 {
 portb=15;  // ilk 4 bit için değer
 delay_ms(1000);
 portb=0;
 delay_ms(1000);
 
 portb=240;        // son 4 bit için değer
 delay_ms(1000);
 portb=0;
 delay_ms(1000);
 
 
 
 
 
 }


}
 
4 ' soruyu cevaplama din şimdilik 80 puan yeterli 100 üzerinden ! İnsanlar kolaya alışmış güzel Türkiye m nereye gidiyor böle yıl başından beri az çok görmüşsündür bu konuları insan biraz çaba eder neyse

KontrolKalemi Mobile ile gönderildi.
 
ben bunları cevaplamamın sebebi belki adamın merakı yoktur yazılıma sadece dersi geçmek için istiyor diye yaptım.
 
"Abicim yardım etmeyecekseniz boşuna yorum yapmayın lütfen. Hocamız çok iyi bir hoca olsa bütün öğrenciler öğrenirdi heralde? Elektrik okuyorum elektronik görüyorum bu nasıl sistem onu açıklayın o zaman :)"

hocanın dediklerini yapsanız hepiniz mikroc'yi yalar yutarsınız ama adam napsın:))
 

Forum istatistikleri

Konular
129,838
Mesajlar
930,642
Kullanıcılar
452,667
Son üye
eengmert

Yeni konular

Geri
Üst