16f877A ile pıc-display devresi yardım...

Başlatan musara, 16 Temmuz 2009, 16:27:04

musara

arkadaşlar pic assemblye yeni başladım ve işin içinden çıkamadım
16f877A pıc i ile 4 farklı displayde 4 farklı değer göstermek istiyorum
yani entegrenin sadece portb çıkışını kullanarak 7447 yada 7448 entegresine çıkışları götürecem ve bu entegrenin çıkışına paralel 4 farklı display bağlayacağım yardım ederseniz sevinirim
bu 4 displayde aynı anda farklı değerler gözükecek şimdiden tşk ler
cvplarınızı bekliyorum

Logan

Aramıza hoşgeldin musara.

4 adet displayi paralel olarak tek bir entegre ile sürebilmen için tarama yöntemi kullanmalısın. Bu konuda bilgin yok ise kısaca açıklayayım. Tarama yönteminin temel çalışma prensibi, data hatları paralel olarak bağlanan displeylerin ortak uçlarının transistör veya buna benzer özellik gösteren ( uln 2003, 74138 vs. vs. ) ara elemanlarla ayrı ayrı kontrol edilmesi mantığına dayanır. Varsayalım ki ekranda "4567" rakamlarını göstermek istiyoruz. İlk olarak en büyük basamak olan binler hanesini ele alalım. Binler hanesinde bulunan sayı değerini 7447 entegresine göndererek displayde görülebilecek hale getirdikten sonra, göstermesini istediğimiz displayin ortak ucunu çok kısa bir süre boyunca aktif ediyoruz. Daha sonra tekrar pasif duruma geçirip 2 haneyi gönderiyoruz ve diğer displayin ortak ucunu aktif ediyoruz. Bu mantık çerçevesinde bütün displayleri taradıktan sonra tekrar başa dönüyoruz. Bu döngü sürekli devam ediyor.

Göstergelerin aktif olma süreleri ve birbirleri arasında olan bekleme süreleri bizim fps değerimizi veriyor. Örnek verecek olursak;

   150uS aktif kalma süresi olan ve 100uS gecikmeli tarama programında bir adet displayin sürülmesi 250 uS sürer. Devrede 4 adet display olduğunu varsayarsak 4*250=1000uS=1mS. Bütün ekranı tarama süremiz 1mS olarak karşımıza çıkar. 1 saniye içerisinde 1000 adet 1mS olduğu için bütün ekranı saniyede 1000 kez taramış olacağız. İnsan gözünün 25 fps'den sonrasını algılayamadığını düşünürsek bu rakam bizim için çok yeterli olacaktır. Umarım açıklayıcı olmuştur. İyi günler, iyi çalışmalar...
İmza.

protech06

4 adet displayi 74hc595 kullanarak sürebilirsin her birinde gostermek istedigin sayıarı gösterirsin ve pic ten sadece 3pin kullanarak bu işlemi cok kolay bir sekilde yapabilirsin  bu sekilde yapma amacın buton kontrollu menu yada sayac yapmaksa 74hc595 senin için daha iyi olur cunku pic baska bir işlem için yonlendirildiginde sayılar en sonki hali ile kalabilir menu olarak kullanmıssan

musara

Alıntı yapılan: "Logan"Aramıza hoşgeldin musara.

4 adet displayi paralel olarak tek bir entegre ile sürebilmen için tarama yöntemi kullanmalısın. Bu konuda bilgin yok ise kısaca açıklayayım. Tarama yönteminin temel çalışma prensibi, data hatları paralel olarak bağlanan displeylerin ortak uçlarının transistör veya buna benzer özellik gösteren ( uln 2003, 74138 vs. vs. ) ara elemanlarla ayrı ayrı kontrol edilmesi mantığına dayanır. Varsayalım ki ekranda "4567" rakamlarını göstermek istiyoruz. İlk olarak en büyük basamak olan binler hanesini ele alalım. Binler hanesinde bulunan sayı değerini 7447 entegresine göndererek displayde görülebilecek hale getirdikten sonra, göstermesini istediğimiz displayin ortak ucunu çok kısa bir süre boyunca aktif ediyoruz. Daha sonra tekrar pasif duruma geçirip 2 haneyi gönderiyoruz ve diğer displayin ortak ucunu aktif ediyoruz. Bu mantık çerçevesinde bütün displayleri taradıktan sonra tekrar başa dönüyoruz. Bu döngü sürekli devam ediyor.

Göstergelerin aktif olma süreleri ve birbirleri arasında olan bekleme süreleri bizim fps değerimizi veriyor. Örnek verecek olursak;

   150uS aktif kalma süresi olan ve 100uS gecikmeli tarama programında bir adet displayin sürülmesi 250 uS sürer. Devrede 4 adet display olduğunu varsayarsak 4*250=1000uS=1mS. Bütün ekranı tarama süremiz 1mS olarak karşımıza çıkar. 1 saniye içerisinde 1000 adet 1mS olduğu için bütün ekranı saniyede 1000 kez taramış olacağız. İnsan gözünün 25 fps'den sonrasını algılayamadığını düşünürsek bu rakam bizim için çok yeterli olacaktır. Umarım açıklayıcı olmuştur. İyi günler, iyi çalışmalar...
teşekkür ederim açıklamaların için yapmaya uğraşayım bi
kodlamayıda tam olarak bilmiyorum daha yeni öğreniyorum şimdi yapmaya çalışıcam yapamazsam dönerim tekrar foruma
forum hoşuma gitti
böle bi bi forum arıyordum gerçekten güzel
paylaşım gayet iyi
teşekkürler şimdiden

camby