8 LED’li Karaşimşek

8led_karasimsek

Elektronik meraklılarının ilk yapmaya çalıştıkları devrelerden biri de karaşimşek devresidir. Yandaki devrede PIC16F628 mikrodenetleyicisi ile yapılan 8 LED’li bir karaşimşek devresi görülmektedir.

Devrede Dahili Osilatör (4 MHz) kullanılmış, MCLR ucu disable( geçersiz) yapılmıştır. PORTB çıkış olarak kullanılmış ve 220R dirençlerle akım sınırlaması yapılmıştır.

Güç kaynağı olarak sabit DC 5Volt kulanılmalı ve PICin 5 Nolu ucuna -, 14 nolu uca + bağlanmalıdır. Şemada gösterilmemiştir.

Aşağıda programa ait kodlar gösterilmiştir.

#define YON durum.B0 // YON için bir bayrak tanımlandı
//-----------------------------
char durum=0; // char cinsinden durum değişkeni tanımlandı
//-----------------------------
void main()
{
   TRISB=0; // PORTB çıkış yapıldı
   PORTB=1; // PORTB'nin ilk pini "1" yapıldı diğerleri "0"
   Delay_ms(200); // 200ms bekle
   do
   {
     if(PORTB==1) YON=0; // eğer ilk led yanıyorsa YON "0" yani sola doğru,
     if(PORTB==128) YON=1; // eğer son led yanıyorsa YON "1" yani sağa doğru
     if(!YON) PORTB<<=1; // eğer yön sol ise PORTB'yi sola 1 kaydır
         else PORTB>>=1; // değilse yani sağ ise sağa 1 kaydır
     Delay_ms(200); // 200ms bekle
   }while(1);
}

Programa ait dosyalara buradan ulaşabilirsiniz.  Proteus isis similasyon videosu bu linkte görülmektedir.

 

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s