Proteus Simülasyonunda 7 Segment Digit Görüntüleme Problemi

Başlatan msen, 19 Kasım 2014, 10:41:10

msen

Merhaba arkadaşlar

PIC18F4520 kullanarak 4 tane 4lü 7 segment digit sürmeye çalışıyorum. (Toplamda 16 tane rakam göstereceğim)

Bilgi çıkışlarını C portundan aldım. B portundan 4 pini 4x16 MUX a bağladım. MUX ile seçtiğim bir digit i x saniye yakıp söndüreceğim. her bir digit 16*x saniyede bir yanıp sönecek. İnsan gözünün bu yanıp sönme durumunu algılamaması için bu x sürelerini çok düşük tutmak istiyorum ancak Proteus simülasyonu yaptığım zaman bu düşük süreler için simülasyon herhangi bir şey göstermiyor. Digitler yanmıyor ya da belli belirsiz saçma sapan çalışıyor. Ancak x sürelerini 50 ms gibi yüksek tuttuğum zaman simülasyon hatasız çalışıyor, kayar yazı gibi digitler sırayla yanıp sönüyor.

Aklımda bir iki husus var. Simülasyonda göremesem dahi devreyi gerçekleştirdiğim zaman digitlerin doğru bir şekilde yanacağını düşünüyorum. Ancak simülasyonda bunu gerçekleştiremem acaba devremde bir hata mı var sorusunu aklıma getiriyor. Acaba proteusun simülasyon ayarlarında mı bir değişiklik yapmak lazım bu düşük sürelerde çalışması için. Bu konuda bilgisi olan arkadaşlardan yardım istiyorum.

Teşekkürler.

RaMu

Problem olmaz.
isiste tarama yöntemiyle displaylerde düzgün değer görebilmen zor,
gerçek devrede çalıştırdığında düzgün çalışacaktır,
çalışmasada bu programa gerçek devre üzerinde devam edersen
problem varsa görebilir ve çözebilirsin.

isiste birkaç ayar var ama ben display tarama için denemedim,
aynı durumu zamanında yaşadım,
dediğim gibi simulasyon çalıştıramasada
gerçek devrede düzgün çalıştı.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

msen


vitruvius

Merhaba,

Proteus'ta  denerken arada transistör kullanmadan denetleyici ucundan direkt olarak 7 segment seçim ucuna bağlantı yapın ve çıkışı tersleyin. Ortak katot 7 segment için com ucunu 0'a, anot için 1'e çekin yani.

ibocakir

bir de şeyi deneyebilirsin, PIC'in üzerinde çift tıkla, Processor Clock Frequency'deki değer senin kullandığın kristalle aynı mı? 4Mhz kullanıyorsan orasyı 4 yapmayı dene yani

msen

Alıntı yapılan: vitruvius - 19 Kasım 2014, 12:14:32
Merhaba,

Proteus'ta  denerken arada transistör kullanmadan denetleyici ucundan direkt olarak 7 segment seçim ucuna bağlantı yapın ve çıkışı tersleyin. Ortak katot 7 segment için com ucunu 0'a, anot için 1'e çekin yani.

Teşekkürler öncelikle katkıda bulunduğunuz için.

Devremde zaten transistör kullanmıyorum. C portunun 8 pinini de bilgi çıkışı olarak kullandım (a,b,c,d,e,f,g,DP) ve B portunun 4 pinini 4x16 MUX'a gönderdim. MUX çıkışı da segmentlerin seçim pinlerine gidiyor.

Devre 50 ms gecikmelerle tam da istediğim gibi çalışıyor zaten. istediğim digiti yakıyor, yakmak istediğim rakamı yakıyorum. Gecikmeleri azaltıp devreyi hızlı çalıştırınca rakamlar hızlı hızlı yanıp sönüyor ancak hızı biraz daha artırınca rakamların sürekli yanıyormuş gibi görüneceği yerde hiçbir şey görünmüyor. Sanırım bu sorun tamamen simülatör ile alakalı, devreyi gerçeklediğim zaman o digitler sürekli yanıyormuş gibi görünecektir diye düşünüyorum.

Teşekkürler