Pek çok elektronik cihazın(DVD player, Asansörler, Fırınlar, Kombiler , Saatler, Termometreler, Zaman ayarlı bombalar:)  vs. )  bilgilendirme ekranında kullanılan ve genelde kırmızı renkte olan, dijital kelimesi ile bütünleşmiş, ciddi duruşlu göstergelerin nasıl kullanıldıdğını öğreneceğiniz yazımıza hoşgeldiniz.
  Bu displaylerin içerisinde aslında 7 adet led bulunmaktadır (Nokta ile birlikte 8). Her bir segment bu ledler ile oluşturulmuştur ve displayin hangi segmentinin yanmasını istiyor isek o ledi  yakarız. 7 segment displayler ortak anod ve ortak katodlu olmak üzere iki şekilde üretilirler.

7 segment displaylerin toplam 9 adet uçları bulunur.  Ortak katodlu displayde tüm ledlerin katodları birleştirilmiş ve tek uç olarak dışarı çıkartılmıştır.Eğer ortak katodlu displayde, ortak uç şaseye çekilir ise, bu durumda anoduna (+) sinyal gelen led aktif olacak ve ışık verecektir, anoduna sinyal gelmeyen veya (-) sinyal gelen led ise ışık vermeyecektir.  Aynı durum ortak anod için de geçerlidir. Bu tür displayde ise ledlerin anodları birleştirilmiş ve ortak uç olarak dışarıya çıkarılmıştır.   Ortak anodlu displayde segmentler şaseye çekilerek sürülürler. Ortak uçları ise (+) sinyal almak zorundadır.

Şimdi aşağıdaki gibi bir devre oluşturalım. Devremizde ortak katodlu bir 7 segment diplay kullanıyoruz ve gördüğünüz gibi ortak uç şaseye çekilmiş durumda.  Şekilde görülen dislpayin uçları yukarıdan aşağıya  “a,b,c,d,e,f,g” olarak sıralanmış vaziyette. (ISIS’te bulunan 7 segment displaylerde nokta segmenti olmadığından RB7 boşta kaldı.) Sol taraftaki listeden de kullandığımız elemanların listesini görebilirsiniz. Listede görülen 3 adet displayin herbiri farklı renklerde.

Büyütmek için dokunun.

Bu şemaya göre yakmak istediğimiz segmentlere dirençler üzerinden (+) sinyal gönderilecektir. Dirençlerin kullanım amacı ledlerin bozulmasını önlemek ve ledlerin ömrünü arttırmaktır. Diyelim ki “1” rakamını displayde göstermek istiyoruz. O halde “b” ve “c” segmentlerine + sinyal gödermeli diğerlerine 0V göndermeliyiz. Bu durumda PORTB’nin alacağı değer “0b00000110” olacaktır. Şimdi0 ‘dan 9’a kadar olan rakamları gösterirken ,sırası ile PORTB’nin alacağı değerleri görelim;

Büyütmek için dokunun.

Şimdi de programımızda 1’er saniye aralıklar ile 0-9 sayan sayıcımıza geçelim. Bu programda dikkatinizi “sayilar” diye tanımlanmış olan yapıya çekmek istiyorum.

“char sayilar[10]= {…….}” şeklinde tanımlanmış olan bu yapıya dizi denmektedir. Aslında bu char tipinde elemanları olan 10 elemanlı bir küme demektir.  İlk elemanı 0. eleman son elemanı ise 9. elemanıdır ve programda elemanlar bu şekilde  çağrılır. Örneğin PORTB=sayilar[0] demek ile sayilar dizisinin 0. elemanını PORTB’ye yükle denmek istenmiştir.

Büyütmek için dokunun.

Butona basarak teker teker 0-9 artarak sayan program ise aşağıdaki gibidir. Bu programda butonun PORTA’nın 0. pinine 1’de aktif şekilde bağlandığı varsayılmıştır.

Büyütmek için tıklayın.

“while(!arttir)” yazımındaki “!” işareti “değil”  manasına gelir. Yani bu satırda “arttir” butonuna basılı değil iken program while döngüsü içerisine girer. Fakat bu döngü içerisinde herhangi bir iş yaptırılmak istenmediğinden satırın sonuna “;” konulmuştur. Bu satırda “arttir” butonu basılı değilken program bir bekleme döngüsüne girer.

Bu yazıdaki tüm uygulama dosyalarını buradan indirebilirsiniz…

 To Be Continued !..

yorum
  1. Alp dedi ki:

    hocam burdaki cmcon=7 ne işe yarıyor.

  2. Fatih ASLAN dedi ki:

    En baştaki define tanımlamasında parantez içini anlamadım hocam..

    • mikrodunya dedi ki:

      mikroC’de button diye bir tanımlama var. Burada button(&porta,0,100,1); demişiz.
      Yani porta’nın 0. pinine bağlı buton, basıldığında 1 olacak şekilde bağlanmış. 100 ms gecikme olacak butona basıldıktan sonra.

  3. Fatih ASLAN dedi ki:

    Oo güzel bir özellikmiş.Daha önce Hi-tech’te böyle bir özellik görmemiştim.

    TRISA.F0=1 tanımlamasında nedir kasıt .?

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