led-uygulaması

Bu yazı aşağıda paylaştığım yazının devamı niteliğindedir. Bu yazıyı tam manası ile anlamak istiyorsanız ilk yazıyı ve onun devamındaki örneği incelemenizi tavsiye ederim.

Sıradaki uygulama da Led devresi ilk yazıdaki devrenin aynısı. Ben yine devrenin resmini aşağıda paylaşıyorum.
Bu uygulama C dili ile programlamaya başlayanlar için basit ve güzel bir örnek olacaktır diye düşünüyorum.
Şimdi de gelelim ilgili örneğin C dilindeki uygulama kodlarına;

C ile Led Uygulaması için İkinci Örnek:

Sırası ile bir ileri bir geri yanıp sönen led uygulaması

Bu uygulamanın çalışma mantığını kısaca aşağıda açıklamaya çalışayım.

Devreye enerji verildikten sonra, Soldaki ilk led yanacak ve ardından en sağdaki led yanacak ve bu işlem sırası ile devam edecek ve ledlerin yanma işlemi ortada birleşecek ardından tersi yönde hareket ederek tek tek ledleri söndürecek.

Örnek videoyu izleyerek uygulamanın nasıl çalıştığını daha iyi anlayabilirsiniz.

Aşağıda ise bu güzel led uygulamasının kodlarını görüyorsunuz. Kısaca program hakkında bir kaç bilgi vereyim. Program görüldüğü üzere ilk örnekle hemen hemen benzer burada tek fark Switch Case deyimi kullanılması diyebilirim. Ben bu örneği hazırlarken daha önce hazırladığım konu dan faydalandım. Siz de inceleyebilirsiniz. Switch Case yapısını kısaca açıklarsam Swich ile belirttiğimiz değişkenin değerlerini tek tek kontrol edebiliriz. Case sorguları ile değişkenin tüm değerleri için ayrı ayrı işlem yaptırabiliriz. Zaten for döngüsünden ayıran en önemli özelliği de budur.

Led Uygulaması C Kodları

<#include reg51cc01.h>     

gecikme()
{
int k,j;
for(k=0;k<2;k++)
{
    for(j=0;j<32000;j++)
    {}
}
}
void main()
{
    while(1)
    {
        int sayi=0;
        int sayi2=0;
        int i,l,toplam;
        int x=256;
        int y=1;
        P2=0;
               for(i=0;i<8;i++)
            {
                switch(i)
                {
                    case 0:
                    case 2:
                    case 4:
                    case 6:
                    sayi= y + sayi;
                    y=(y*2);
                    break;
                    case 1:
                    case 3:
                    case 5:
                    case 7:
                    sayi2=(x/2)+sayi2;
                    x=x/2;
                    break;
                }
                P2=sayi+sayi2;
                gecikme();
            }
             for(l=7;l>0;l--)
            {
                switch(l)
                {
                    case 7:
                    case 5:
                    case 3:
                    case 1:
                    y=y/2;
                    sayi=sayi-y;
                    break;
                    case 6:
                    case 4:
                    case 2:
                    case 0:
                    x=x*2;
                    sayi2=sayi2-(x/2);
                }
                    P2=sayi+sayi2;
                    gecikme();
            }
                       P2=0;
                    gecikme();
    }
}

Bu uygulama şimdilik bu kadar Led ile yapılan sırası ile yanıp sönen devre similasyon örneği yada kara şimşek olarak ta bilinir.  Eğer sorun yaşayacak olursanız yorum sayfasından sıkıntıları iletebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir