16F84 ile 32 adet display

Başlatan Logan, 11 Kasım 2006, 09:06:36

Logan

Merhaba arkadaşlar.7 segment display uygulamalarında en büyük problem genel olarak artan display sayısına karşılık göstergelerin yeterince parlak yanmamasıdır (tarama yöntemi kullanılan projeler için). Sebebi ise gayet basittir.
Varsayalım ki devremizde 15 adet gösterge kullanmak zorunda kaldık.Bu göstergelerin bütün uçlarını paralel bağlayıp, ortak katodlarını ise 74 serisi yada uln tarzı bir entegreye bağlayıp kontrol etmeye çalıştık.Göstergelerin segmentlerini kontrol etmek için 8 (eğer shift register veya o tarz bir entegre kullanmazsak), ortak uçlarını kontrol etmek içinse 15 adet uca ihtiyacımız olacaktır.Yani toplamda 23 adet bacak, göstergelerimizde istediğimiz rakamı elde etmek için yeterli olacaktır.
Displayleri tarama usulü kullanarak sürdüğümüze göre ve parlaklık sorunu yaşamak istemediğimize göre, her bir displayi en az 150 mikroS devrede tutmalıyız.Fakat sorun şu ki 1. displayi sürme işlemi bittikten sonra aynı displayin tekrar sürülebilmesi için 14*150=2100 mikroS süre geçecektir ki bu süre artan display sayısı ile doğru orantılıdır.
Bu sebepten dolayı göstergelerin sönük yanma olasılığı vardır.Bu problemi aşabilmek için her göstergeye ayrı 74595 kullanmayı ve bu 74595'leri de yine 595 entegreleri ile sürmeyi düşündüm.Basic'te SPI haberleşme için kullanılan "shiftout-shiftin" komutları yerine kendim bir program yazdım.Bu program shift register entegresine 8 bitlik bilgiyi yaklaşık 200 adımda gönderiyor.Bu da demek oluyor ki 10 Mhz kristal kullanılan bir devrede veri gönderme işlem 80 mikroS'de bitmiş oluyor.

Aşağıda kurmuş olduğum devrede 1 adet 16F84 ile 32 adet displayin nasıl kullanılabileceğine dair bir örnek bulunmakta. Bu displayleri sürerken tarama yöntemine benzeyen, fakat ortak uçlarının direk şaseye verildiği bir yöntem kullandım.Sanal ortamda herhangi bir problem gözükmesede, gerçek şartlar altında nasıl sonuç vereceğini merak ediyorum.  :!:
Sizce acaba bu devre sağlıklı çalışır mı :?:  Yorumlarınızı bekliyorum. :?

http://rapidshare.com/files/2787421/74595_basit_saat.rar
İmza.

parda

selam;
bu konuda yeni fikirler geliştirmekten hem zevk almış, hem de iyi kazanmış biri olarak kendi yöntemimi kabaca anlatayım belki sen de üstüne bişeyler koyup daha iyi bir hale getirirsin.
toplamda 15 I/O kullanarak 45 display i hiç bir parlaklık sorunu olmadan hatta parlaklığı ayarlanabilir bir şekilde sürüyorum.
şöyleki tarama işini hep yan yana düşünüyoruz biz ve bu yüzden display çoğalınca hüsrana uğruyoruz ama tarama işini matrix olarak düşünürsek çok güzel şeyler çıkıyor ortaya en azından bana göre şöyle her x harfini display olarak düşün;


12345    (sütun isimleri olsun)
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
xxxxx

burada yapman gereken sütunlar halinde ortak uçları birleştirmek  1. sütunu shift register vs bir yöntemle sayıları yaz (tabiki hızlı olmalısın) diğer sütunları söndür sonra sırayla diğerleri... bildiğin tarama tek fark tek display değil sütun yazıcan her adımda yani, sanki 5 display tarıyormuşsun gibi ama sonuç 45 display diplay sayısını isdediğin gibi arttır biyerlere su kaçırmamak şartıyla :lol: umarım fikir verebilmişimdir biraz kabaca oldu ama bu konuyla ilgili temelin olduğunu farzettim

kolay gelsin......
Bildiğim tek şey, hiç bir şey bilmediğimdir.

Logan

Anladığım kadarıyla 5x4 tuş takımı gibi bir taramadan bahsediyorsunuz. Yani tuş yerine display koymaktan değil mi?Aslında mantıklı bir fikir fakat gerçek şartlarda denemek lazım.
İmza.