pcbway

matrix led karakter gösterme sorunu

Başlatan crnelektronik, 18 Eylül 2012, 09:57:18

crnelektronik

iyi günler arkadaşlar
kafaya koydum ccs  c yi eninde sonunda ögrenecem bu benim uygulamaya koyacagim ilk projem daha önce de çok ugraşmiştim simülasyon da sizinde yardimiyla istedigim gibi karekteri gösterdim şimdi ise 4094 shift register ile yapmaya çaliştim fakat bir türlü karakteri gösteremedim tecrübeli arkdaşlar yardimci olursa , örnekler yapa yapa ccs c yi ögrenecem




yazici67

18 Eylül 2012, 19:11:44 #1 Son düzenlenme: 18 Eylül 2012, 19:17:42 yazici67
Devre yanlış. 4094 iç şemasını incelerseniz serial buffer şeklinde görürsünüz. Yani U2 ye değil U1e data girilmeli ve U2 için data girişi U1 in QS sine bağlanmalı.  STB girişi ile tamponlama için. PIC o pinleri de kontrol etmeli. İkisini aynı bağlayıp pic den çıkış alın ve 10 sütunluk veriyi aktardıktan sonra STB pinini Low-High-Low yapın ki çıkışlar aktarılsın. Devreyi indirmedim. Anlattıklarımdan yola çıkarak yapabilirsiniz...
Not : Yine data[4] kullanmışsınız? Neden bu array lara kafayı taktınız ? :) Kodları inceledim data yı etkin olarak kullanmamışsınız bile. data kullandığınız yerler:
data[0] = (sutunsec(j));
//...
Serial_Write(data);
Bu ifade yanlıştır. Doğru çalışır ama programlama açısından yanlıştır ve gereksizdir. bunun yerine direkt olarak:
Serial_Write(sutunsec(j));
yazın.
Diğeri için:
data[0] = 255;
Serial_Write(data);
yine yanlış. Direkt olarak:
Serial_Write(255);
kullanın... İyi çalışmalar :)

crnelektronik

hocam baglantilari söylediginiz gibi yaptim ama elimde bir pic egitim seti var orda 3 tane 4094 seri baglamiş ve sbt bacagina vcc vermiş iletişim içinde oe , data, ve clock ucu çikmiş  programi ona uyarlamaya çalişmiştim olmadi sizin söylediginiz şekilde baglanti yaptim ve düzeltmeler yaptim isis simülasyonda hata verdi
 4094 e data yi nasil girilmesi gerekiyor hala anlmayamadim

yazici67

19 Eylül 2012, 18:46:50 #3 Son düzenlenme: 19 Eylül 2012, 19:03:53 yazici67
Devreyi düzeltiyorum ama tek tek led yerine 8x8 dotmatris kullansan olmuyor mu? Böyle düzeltmesi de çok zor oluyor... Birde tek işlevi matris uygulaması ise shift register lazım değil ki... Tarama yapacak 4017 gibi decade counter ile devre yapmak çok daha basit yok amacın shift register öğrenmek ise önce flip flop ları ve sayıcıları, veri saklama mantığını bilmek gerekir...

crnelektronik

amacim programlamayi ögrenmek elimde bir deney seti var ve üzerinde 3 tane 4094 birbirine seri bagli shiftregister var programi yazdiktan sonra pratik olarak denemek istiyorum simülasyonda çalişan pratikte çalişmiyor teker teker led kullanmamin sebebi de matris led mantigini kavrayabilmek için

yazici67

Zamanlamalar yanlıştır. Dediğim gibi. Shift register ları anlayabilmeniz için önce Sequental mantığı kavramanız gerekir. Dolayısıyla flip flop ve latch ler. Çizgi Tagem e üye olursanız çok geniş bir dökümantasyonu var. Analog-Dijital lojik her türlü konu anlatımı ve örnekler var. Öğrenmek çok kolaylaşır sizin açınızdan... Elinizdeki kartın şeması, modeli vs. varsa belki daha rahat yardımcı oluruz...

crnelektronik

20 Eylül 2012, 08:12:13 #6 Son düzenlenme: 20 Eylül 2012, 08:33:32 crnelektronik
sheft register mantigini proteus da deneye deneye ögrendim ,önce data ucuna gönderdigim her bit de bir clock ucuna pals verip 8 bitlik veri geldikten sonra stb ucuna high low yapacam bu işlemi programa dökemedim ve nette ki örnekler de ki baglanti ile elimde ki deney setinde ki baglantilar farkli deney setinin pdf dosyasi var alt kisimlar da kayar yazi modülünün açik şemasi da var ilgilendiginiz için teşekkür ederim hocam

yazici67

Kart dökümanında S2P ve P2S ( 2 ler to anlamına geliyor, Serial -> Parallel ve Parallel->Serial anlamında ) örnekleri kartla birlikte verilen CD de varmış. Kaynak kodu varsa oradan da inceleyebilirsiniz.
Bir de dediğim gibi önce dijital elektroniği bilirseniz sizin için daha kolay olur. Çünkü buu devreler hep sequantal logic devreleri ve sizin açınızdan daha faydalı olur. İyi çalışmalar...