Yedi segmentli ekran Elektronik'te önemli ekran birimleridir ve 0'dan 9'a kadar sayıları görüntülemek için yaygın olarak kullanılır. Ayrıca A, B, C, H, F, E gibi bazı karakter alfabelerini de görüntüleyebilir. Bu eğitimde öğreneceğiz. 8051 mikro denetleyici ile 7 segmentli bir ekran arasında nasıl arayüz oluşturulur. 8051 serisinden AT89S52 mikrodenetleyici kullanıyoruz.
Arayüz oluşturmadan önce 7 segment ekranı hakkında bilgi edinmeliyiz. Sayıları ve karakterleri görüntüleyen en basit birimdir. Sadece 8 adet LED oluşur her LED biriminin bir bölümünü aydınlatmak için kullanılan ve 8 inci LED 7 parçalı göstergede DOT aydınlatmak için kullandı. Birimde bir sayı / karakter görüntülemek için kullanılan 7 satır olduğunu görebildiğimiz için her segmenti bir LINE olarak adlandırabiliriz. Her bir satırı / segmenti "a, b, c, d, e, f, g" olarak ifade edebiliriz ve nokta karakteri için "h" kullanacağız. A, b, c, d, e, f, g ve h / dp'yi belirtmek için 8 pinin kullanıldığı 10 pim vardır, iki orta pim ise tüm LED'lerin ortak anot / katotudur. Bu ortak anot / katotlar dahili olarak kısaltılmıştır, bu nedenle sadece bir COM pinini bağlamamız gerekir.
İki tür 7 segmentli ekran vardır: Ortak Anot ve Ortak Katot:
Ortak Anot: Bunda, tüm 8 LED'in tüm Negatif terminalleri (katot), COM olarak adlandırılan birbirine bağlanır (aşağıdaki şemaya bakın). Ve tüm pozitif terminaller yalnız kaldı.
Ortak Katot: Bunda 8 LED'in tüm pozitif terminalleri (Anotlar) COM adı verilen birbirine bağlanır. Ve tüm negatif termikler yalnız kaldı.
Devre Şeması ve Çalışma Açıklaması
Burada 7 segmentin ortak anot tipini kullanıyoruz çünkü LED'leri ters yönde bağlamamız gerekiyor. Mikrodenetleyicinin LED'i yakmak için yeterli gücü sağlamadığını bildiğimiz için, LED'in katotunu mikro denetleyici pinine ve LED'in anotunu güç kaynağına bağlamamız gerekiyor. Bu olumsuz mantık kavramını "8051 Mikrodenetleyiciyle LED Arabirimi" bu makalede anlayabilirsiniz. Kristal gibi mikro denetleyicinin temel bağlantısını anlamak ve devreyi sıfırlamak için bu makaleyi de okumalısınız.
Yukarıda gösterildiği gibi, 7 segment ekranı 8051 mikro denetleyici ile arabirim oluşturmak için devre şeması, a, b, c, d, e, f, g, h'yi 2.0 ila 2.7 pinlerine bağladık, 7 segmenti mikrodenetleyicinin 2. portuna bağladığımız anlamına gelir. Şimdi, 0'ı görüntülemek istediğimizi varsayalım, o zaman "g" satırına ait olan LED dışındaki tüm LED'leri yakmamız gerekir (yukarıdaki şemaya bakın), bu nedenle 2.0 ila 2.6 pinleri 0'da olmalıdır (LED'i AÇMAK için 0 olmalıdır. negatif mantık başına) ve pim 2.7 ve 2.8 1'de olmalıdır (negatif mantığa göre LED'i KAPATMAK için 1 olmalıdır). Bu nedenle, 2.0 ila 2.6 (a, b, c, d, e, f) pinlerine bağlanan LED'ler AÇIK olacak ve 2.7 ve 2.8'e (g ve h) bağlı LED'ler KAPALI olacak ve 7'de bir "0" oluşturacaktır segment. Bu yüzden 11000000 bit desenine ihtiyacımız var (Pin 8 en yüksek bittir, bu yüzden P2.7'den P2.0'a başlar) ve ikili 11000000 için HEX kodu "C0" dır. Benzer şekilde tüm rakamları hesaplayabiliriz. Burada "nokta / h" yi her zaman KAPALI tuttuğumuzu,bu yüzden ona her seferinde MANTIK “1” vermemiz gerekiyor. Common Anode 7 segmenti kullanılırken tüm numaralar için aşağıda bir tablo verilmiştir.
Görüntülenecek Hane |
hgfedcba |
Onaltılık kod |
0 |
11000000 |
C0 |
1 |
11111001 |
F9 |
2 |
10100100 |
A4 |
3 |
10110000 |
B0 |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
F8 |
8 |
10000000 |
80 |
9 |
10010000 |
90 |
Kod Açıklama
Milisaniye cinsinden gecikmeyi sağlamak için ms_delay işlevini oluşturduk, bu gecikme genellikle herhangi bir mikro denetleyici programında sağlanır, böylece mikro denetleyici dahili işlemini tamamlayabilir.
Daha sonra, 0'dan 9'a kadar onaltılık kodlardan oluşan bir dizi oluşturduk (yukarıdaki tabloya bakın) ve son olarak, onaltılı kodları ortak anot 7 segmentine bağlı olan port 2'ye gönderdik. Böylece bu şekilde sayılar 7 segmentli ekranda gösterilir.
Şimdi mikrodenetleyicide sadece 4 portumuz var ve verileri dörtten fazla 7 segmentte göstermek istersek ne olur? Bu sorunu çözmek için Çoğullama tekniği devreye giriyor. Birden çok 7 segment birimini çoklamamız gerekiyor. Ayrıca AVR mikrodenetleyiciyle arayüz oluşturan 7 segment ekranı okuyun.