CCS C ile Yedi Segment Display Uygulamaları

ccs7seg

 

Aşağıdaki şekilde görüldüğü gibi led kullanılarak yapılan rakam, harf gösterici devre elemanlarına display denir. Yaygın olan yedi parçalı led göstergeler anodu şase (ortak) ve katodu şase olmak üzere iki tipte üretilir.

7segmentdis1

Ortak Anotlu (common anode) display’ler
Bu tip display’lerin içinde bulunan tüm ledlerin anodları gövde içinde birbiriyle birleştirilmiştir. Eleman alıştırılırken artı (+) besleme ortak anoda uygulanır. Diğer uçlara uygulanan eksi (-) beslemelere göre display’de çeşitli rakamlar oluşur.

Ortak Katotlu (common cathode) display’ler

Anodu şasenin tam tersi özelliktedir. Yani gövde içindeki ledlerin tümünün katot uçları birbirine bağlıdır.

Ortak Anotlu bir display’de ortak uca (+) besleme uygulanır. Display’de onlu 0 sayısını görebilmek için, a, b, c, d, e, f ledlerine kod çözücü entegre tarafından 0 V (yani şase) gönderilir. Display’de desimal (onlu) 1 sayısı görülmek istendiğinde ise b ve c ledlerine 0 V uygulanır.

Aşağıdaki tabloda ortak anot ve katot displaylerde rakam oluşturmak için pinlere uygulanması gereken lojik değerler gösterilmiştir.

7segmentdis2

Rakamların yanında bazı harfleride display üzerinde göstermek mümkündür. Burada yapılması gereken gösterilmesi istenen harfi oluşturacak ledlere enerji vermektir.

Yukarıda resmi verilen devrede ilk olarak her harfi oluşturan değerler desimal olarak bir diziye atılmıştır.

int tab7seg[8]={57,109,115,6,55,55,0,63}; //C S P I m m o

Örneğin “C” harfini oluşturmak için displayde a,f,e,d segmentlerindeki ledlerin yanması diğerlerinin sönük kalması gerekmektedir. Daha sonra bu segmentlerin desimal değerleri (a için 1, f için 32, e için 16 ve d için 8 toplam 57 ) toplanarak tabloya yazılır ve bu iş diğer harfler içinde tekrarlanır. Buradaki tabloda desmal değer kullanılmıştır. Tabloda bu 57 değeri yerine hexadesimal olarak 0×39 yada binary olarak 0b1001110 değeri kullanılabilirdi.

Karakter tablosu oluşturulduktan sonra program aracılığıyla harf dizileri b portundan gönderilir, ve tarama yapılarak harf dizilerinin ekranda gösterilmesi sağlanır.

Tüm rakamları 7 segment dipslayde gösteren tablo aşağıdadır

int tab7seg[10]={0×3F,0×06,0×5B,0×4F,0×66,0×6D,0×7D,0×07,0×7F,0×67}; //0-9

Aşağıda 0-9 yukarı sayıcı devresi verilmiştir. Programı inceleyecek olursak standart tanımlamalar yapıldıktan sonra ana foksiyonda rakamları ifade eden tablo oluşturulmuştur. Daha sonra sonsuz döngü içerisinde “i” değişkeni sürekli artırılarak tablodan sırası gelen rakam b portundan dışarı gönderilir. “i” değişkeni 9 sayısını geçerse sıfıra eşitlenerek tekrar başa dönülür.

s11

Aşağıdaki programda ise 0-9 sayıcı verilmiştir. Burada “i” değişkeni ilk başta 9′a eşitlenir daha sonra sonsuz döngü içerisinde sürekli azaltılır.

s2

 Aşağıdaki örnekte ise yukarıdaki iki programın bileşimi olan aşağı yukarı sayıcı uygulaması yer almaktadır. Programda yukarı ve aşağı sayma işlemleri fonksiyon olarak tanımlanmışlardır. Devreda A0 pinine bağlanacak anahtarın durumuna göre aşağı yada yukarı sayma işlemi gerçekleştirilir. Eğer anahtar 1 konumunda ise yukarı, 0 konumunda ise aşağı doğru sayar.

s3

Bu yazı CCS C Örnekleri kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.