74HC597 mümkünse ETE

Başlatan omereliusuk, 10 Kasım 2010, 23:29:52

omereliusuk

hocam 74hc597'yi çalıştırdım "tabi proteus'ta" fakat bir türlü kaskat bağlayamadım. proteus'tan mı kaynaklanıyor yoksa benden mi kaynaklanıyor anlayamadım. ne yaptıysam nafile. kaskat çalışan iki tane 74hc597'li bir devre verebilirseniz açık kaynak kodu  olması gerekmiyor "ama olsa fena olmaz o ayrı bir konu". ben tek olarak 597'yi çalıştırdım. ama 2. 597 devreye girince 1.'nin üzerinden 2.den gelen bilgiyi alamıyorum.  yardımcı olursanız beni mutlu edersiniz. şimdiden teşekkürler. mümkünse çalışan devre "bu cümleden kastım proteusta mı çalışmıyor yoksa bende mi bir sorun var".

ayfatihi

Yazı kaydırma işine yeni başladım, aynı sorunu bende yaşıyorum ama henüz bir çözüm bulmuş değilim. 2 adet 8*8 matrisi satır tarama yöntemiyle çalıştırmak istiyorum, sürücü olarak 595 kullanıyorum, yazı 1.matriste kayıyor ama 2.matristen kayıp devam etmiyor sadece 1.matriste kayarak bitiyor. 595 leri kaskat bağladım nerde hata yapıyorum bir türlü bulamıyorum. Forumlarda o kadar çok şey okudum ki iyice kafam karıştı. Bize yardımcı olabilirse sadece ETE hoca yardımcı olur şimdiden ilgisi için teşekkür ediyorum.

Ruzgarbey

Alıntı yapılan: omereliusuk - 29 Aralık 2010, 10:52:36
hocam 74hc597'yi çalıştırdım "tabi proteus'ta" fakat bir türlü kaskat bağlayamadım. proteus'tan mı kaynaklanıyor yoksa benden mi kaynaklanıyor anlayamadım. ne yaptıysam nafile. kaskat çalışan iki tane 74hc597'li bir devre verebilirseniz açık kaynak kodu  olması gerekmiyor "ama olsa fena olmaz o ayrı bir konu". ben tek olarak 597'yi çalıştırdım. ama 2. 597 devreye girince 1.'nin üzerinden 2.den gelen bilgiyi alamıyorum.  yardımcı olursanız beni mutlu edersiniz. şimdiden teşekkürler. mümkünse çalışan devre "bu cümleden kastım proteusta mı çalışmıyor yoksa bende mi bir sorun var".
597 datashetinden okduğum kadarı ile paralel giriş seri çıkış olarak çalışan shift register.bunun kullanımı ile ilgili bir çok örnek bulmak mümkün google amcadan yardım istemek gerekiyor.bir projemde 4 adet 74hc165 kullanmıştım kaskat olarak.mantık aynıdır.aşağıda nasıl bağlantı yapacağınızı çizdim umarım işinize yarar.

kolay gelsin
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

ete

Ayfatihi,

Yazıkaydırma işi gerçekten satranç oynamaya benzer. Bir sonraki hamleyi ve hatta daha sonraki hamleleri tahmin etmeniz gerekir. Bunu şaka ile karışık söylüyorum ama gerçek payıda yok değil.
Kayıdrma işinde bazı varsayımlar yapmanız ve olayı gözünüzde iyi canlandırmanı gerekir. Yapılması gerekenler aşağıdaki sıraya göre yapılmalıdır.
1. Yazıların kaydırıldığı ekranı soldan sağa 16 adet (2x8) sütun şeklinde düşünün.  Her bir sütunda ise 8 adet kutucuk olduğunu gözünüzde canlandırın.
2. Satır tarama yapılacağına göre karekterlerimiz yukarıdan aşağıya 8 dilime ayrılmış olacaktır. Her bir dilim bir satır bilgisini ihtiva edecektir.   Bu dilimleri satırlara yerleştirince karekteriniz meydana gelecek ve görünür olacaktır.
3. Şimdi İlk karekter mesela "A" karekteri olsun bunun satır bilgilerini 1. sütundan 5. sütuna kadar ilk satıra yerleştirelim . 2. (dilim) satır bilgilerinide bir alta yerleştirelim bu şekilde 8 satır bilgisini yerleştirince A harfi ilk sütundan itibaren gözükecektir.
4. Ekranda harf gözüktükten sonra onu orada yaklaşık 1-5ms kadar tutalım daha sonra sütun bilgilerini bir sonraki sütuna aktaralım.
    Yani 5. sütun 1. satırdaki bit değerini (diyelimki bu "0" olsun) ben 6. sütun 1. satıra kayıt edersem bu biti  soldan sağa doğru bir kaydırmış olacağım. Aynı şekilde 4. sütun 1. satır bit değerini 5. sütun 1.ci satıra aktarırsam ve bu şekilde devam ederek bütün bitleri kaydırırsam ve bu işi alttaki satırlar içinde yaparsam A harfi soldan sağa doğru bir bit kaymış olacaktır.  Araya iki tene  komple boş sütun bırakıp üçüncü kaydırmadan itibaren ikinci harfin datalarını kaydırma kervanına sokarsam soldan itibaren ikinci harfin şekli yavaş yavaş ekranda gözükmeye başlayacaktır.
İşin mantıki temeli budur.

Şimdi biraz daha detaya inerek kaydırmanın ne şekilde yapılacağını açıklayalım. Sütunbilgisi 74HC595 tarafından veriliyor. Diyelimki A harfinin ilk satır bilgisi "%00100000" olsun bu bilgiyi bir bit sağa kaydırırsak bilgi %00010000 şeklini alacaktır. Dikkat ederseniz bu bilginin 7 biti bir sonraki matrixe geçmiş olacaktır. O halde önce Matrix_2.Bit 0= Matrix_1.Bit 7 şeklinde birinin son bitini diğerinin ilk bitine eşitlersiniz. Matrix sayısı 2 den fazla ise ve kaydırma soldan sağa yapılıyor ise bu bit kaydırma işini en sağdan başlayıp sola doğru gelmeniz gerekir. Son olarak da Matrix_1=Matris_1>>1 komutunu verirseniz bitler 1 hane sağa kaymış olacaktır.

Burada soldan ikinci karekterin yavaş yavaş girmesi gerektiğini bir kez daha hatırlatayım. O halde ilk iki kaydırmadan sonra;
İkinci karekterin satır bilgisinin 7. biti Matrix_1 in sıfırıncı biti olacaktır.  Bir sonraki kaydırmada bu sefer aynı yere 6 bit gelecek ve bu şekilde ilk bit aynı yere geldiğinde ikinci karekterde ekrana tam olarak gelmiş olacaktır.

Bütün bunları havadan anlatmak ne kadar faydalı oldu bilemiyorum. tamamen sizin anlama kaabiliyetinize bağlı olan bir husus tabiiki. Ben anlatmaya çalıştım umarım anlamışsınızdır.

Bu işte standart bir teknik yoktur. Ben soldan sağa kaydırma şeklini anlattım. Pek çok kimse kaydırmayı sağdan sola yapmaktadır. Orda da mantık hemen hemen aynıdır. Bitler değişken bazında sağa yada sola kaydırılır. Ama öncesinde kayıp olacak bitler bir sonraki değişkenlere aktarılırki zincir bozulmasın.

Umarım anlamışsınızdır.

Bu arada hazırlamış olduğum Basic Derslerinde Ders-13 de bu  konuya değinilmiştir. Onu biraz dikkatli incelerseniz burada ne demek istediğimi daha kolay anlayabilirsiniz.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

omereliusuk

Alıntı yapılan: Ruzgarbey - 29 Aralık 2010, 11:55:22
597 datashetinden okduğum kadarı ile paralel giriş seri çıkış olarak çalışan shift register.bunun kullanımı ile ilgili bir çok örnek bulmak mümkün google amcadan yardım istemek gerekiyor.bir projemde 4 adet 74hc165 kullanmıştım kaskat olarak.mantık aynıdır.aşağıda nasıl bağlantı yapacağınızı çizdim umarım işinize yarar.
hocam bağlanabilecek her şekilde bağladım ama bir türlü kaskat olmadı yani ikinci entegreden veri alamadım.
eğer bunlar isiste çalışıyorsa  bir örnek gönderin ki bizi de mutlu edin. sadece çalışan proteus ve hex dosyası
benim çalıştığını görmem gerekiyor. kendimden emin olmak için. çünkü ne yaptıysam kaskat olmadı bu 597.

ete

597 ile hiç çalışmadım. 595 dururken neden 597 kullanıyorsun?. Bir artısımı var?.
Varsa bende bileyim ona göre oturup inceleyeyim. Değilse gerek yok. Piyasadaki bütün uygulamalar 595'e göre.
Bolca örnek var . O halde neden uğraşayımki?
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

iyildirim

Alıntı yapılan: Ruzgarbey - 29 Aralık 2010, 11:55:22
597 datashetinden okduğum kadarı ile paralel giriş seri çıkış olarak çalışan shift register.bunun kullanımı ile ....
595 ile 597 birbirinin tersi işleri yapıyorlar. 595 seri giriş paralel çıkış iken 597 paralel giriş seri çıkışlı. kayan yazı uygulaması yapılmak isteniyorsa 595 i kullanma nedenimiz olan port çoğullama 597 ile yapılmaz.

Mucit23

Amacınız 597 ile uygulamalar yapıp çalışmasını gözlemlemek ise bişey diyemem. Ama 597 nin yerine alternatif olarak kullanabileceğiz 74165 var onu kullanabilirsiniz.

Ruzgarbey

Alıntı yapılan: omereliusuk - 29 Aralık 2010, 23:55:10
Alıntı yapılan: Ruzgarbey - 29 Aralık 2010, 11:55:22
597 datashetinden okduğum kadarı ile paralel giriş seri çıkış olarak çalışan shift register.bunun kullanımı ile ilgili bir çok örnek bulmak mümkün google amcadan yardım istemek gerekiyor.bir projemde 4 adet 74hc165 kullanmıştım kaskat olarak.mantık aynıdır.aşağıda nasıl bağlantı yapacağınızı çizdim umarım işinize yarar.
hocam bağlanabilecek her şekilde bağladım ama bir türlü kaskat olmadı yani ikinci entegreden veri alamadım.
eğer bunlar isiste çalışıyorsa  bir örnek gönderin ki bizi de mutlu edin. sadece çalışan proteus ve hex dosyası
benim çalıştığını görmem gerekiyor. kendimden emin olmak için. çünkü ne yaptıysam kaskat olmadı bu 597.
tekrar merhaba ömer.yazımdada belirttiğim gibi 597 hiç kullanmadım.kaskat bağlantı şemasını 74hc165 için verdim kaldıki mantık aynı değişen bişi olacağını sanmıyorum.bu akşam çizmiş olduğum devreyi deneyip size göndermeye çalışayım.ama sizin nasıl okuma yaptığınızı bilmiyorum hiç kod yazmamışsınız.kodlarınızı görebilirsek daha çok yardımcı olabileceğimizi düşünüyorum.saygılarımla..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

omereliusuk

http://rapidshare.com/files/440029549/74hc597.rar
kaskat çalıştıramadığım için 'belki de proteusun azizliği"hc597'nin  Q pinlerini ayrı ayrı pic e bağladım.  diğer taraf zaten bildiğimiz 595 entegresi.
ya benim library de sorun var yada kodlarda...İnşallah sorun çözülür.
saygılarımla...
ömer eliüşük

Ruzgarbey

ben kaskat olarak çalıştırdım ama problem oluyor bazen okuyor bazen okumuyor.597 yerine 165 kullanmanı öneririm açıklama ve döküman olarak daha kolay.saygılarımla..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

omereliusuk

proteustan mı yoksa kodlardan mı kaynaklanıyor bilgi verirseniz sevinirim. belki de benim library ile ilgili bir sorun var. . çalışan proteus ve hex dosyası. desteğiniz için şimdiden teşekkürler.

AKIL

epey olmus yanıt gelmemiş ama proteus un azizliği oldugunu biliyorumçunku sanal dunyadan bord uzerindeki gerçek dunyaya geçince çalıştı fakat ikinci bir kaskad daha yopıncada bukezde protonun azizliği oluyor birebir birinci gurubun aynısı olmasına ragmen ikinci gurup kaskad saçmalıyor

muratyamak10

arkadaşlar galiba pic16f877a ve pic programlama tekniklerinde 0 entegre ile yapılmış bir uygulama var 74hc597 paralel giriş seri çıkış bu entegre şöyle çalışır ilk önce latch pinine yükselen kenar tetiklemesi vermeniz gerekir.böylece veriler latch e yüklenir yani geçici bir bellek türü latch genellikle d tipi bir flipfloptur.sonra latch teki verinin kaydırmalı kaydediciye alınması için load girişine de yükselen kenar tetiklemesi verilir böylece veri kaydediciye alınır.
veri transferinin başlayabilmesi için mr=1 olmalıdır aksi halde veriler alınamaz.sonra ise 8 saat palsi ile birlikte veriler alınmaya başlar
entegrenin pinleri ds=data pini pl=load pini shcp=latch pini stcp=clock pini mr=reset pini d1,d2,d3,d4,d5,d6,d7=data giriş pinleri :) ;) :D ;D :( :o 8) :D >:( 8) ??? ::) :P :-[ :-\ :-* :'(