2 tane 74hc595?

Başlatan Maxim, 10 Temmuz 2013, 13:39:06

ete

Paylaşılan devre , port çoğullamaya bir örnek olabilir ama bence 32 led için 4+1=5  entegre kullanılması gereksiz. 4 adet 74HC595 ile aynı işi yapmak mümkün. Böylece pic pini olarakda 6 yerine 3 adet pin kullanmış olursunuz.
Ete


acemdiyarı

Alıntı yapılan: ete - 20 Kasım 2013, 21:18:22
Değişkenleri çok iyi tanımadığını anlıyorum. Kısaca açıklayayım.
Bit değişkeni yalnızca bir bit saklar. Alacağı değer ya sıfır yada  olur.
Byte değişkeni 8 bitlik değerleri saklar. Alacağı değer 0-255 arasında olabilir.
Word değişkeni 16 bitlik (2x8 bit) değerleri saklar. Saklarken 2 byte halinde ayrılabilir. Byte0 kısmı Low baytı, Byte1 kısmı ise high byte kısmını saklar. Alacağı değer 0-65535 arasında değişir.
Bizim kullandıklarımız bunlar. Bunlara ilave olarak birde LONG değişkeni vardırki buda 32 bitlikdir. 4 x 8 bitlik hafızadan oluşur.
Bu değişken Byt0-Byte1-Byte2 ve Byte3 şeklinde 8 er bitlik bölümlere ayrılabilir.

Şimdi gelelim Shift Komutuna ve 74HC595 ilişkisine. 74HC595 8 bitlik bir shift registerdir. Devremizde 1 adet 595 var ise 1 adet byte değişkeni ile ona bilgi aktarabiliriz. Devremizde 2 adet 595 var ise 2 adet 8 bitlik (2 byte) bilgi aktarmamız gerekir. Birisi birinci 595'e diğer ise ikinci 595'e yerleşir.
Devremizde 3 adet 595 seri bağlı ise 3 adet 8 bitlik veri yollamak gerekir. Her biri bir 595'e yerleşir.
Devremizde 4 adet 595 seri bağlı ise 4 adet 8 bitlik veri yollamak gerekir. Bunu 2 adet word değişkeni ile yapabileceğimiz gibi 4 ayrı byte değişkeni kullanarak da yapabiliriz.  Örnekle açıklamak gerekir ise, elimizde 4 adet seri bağlı 595 var. Birincide %11011010 bilgisini (desimal 218) ,ikincide %10010010 (desimal 146) üçüncüde %10110110 (desimal 182) ve sonuncuda ise %10001001 (desimal 137) bilgisini görmek isteyeceğimizi varsayalım. Bu işi bir kaç farklı şekilde yapabilirim.
1. Shiftout DTA,CLK,1,[218,146,182,137]  bu sistemde değişken yerine direk sayıların kendilerini kullandık.
2. A=218:B=146:C=182:D=137  : Shiftout DTA,CLK,1,[A,B,C,D]   Sayıları değişkenlere verdik ve komutta  değişkenleri kullandık
3. X1=$DA92 : Y1=$B689 : Shiftout DTA,CLK,1,[X1.Byte1,X1.Byte0,Y1.Byte1,Y1.Byte0]  veya şöylede yazılabilirdi
    X1=55954 : Y1=46729 : Shiftout DTA,CLK,1,[X1.Byte1,X1.Byte0,Y1.Byte1,Y1.Byte0] 
    X1 ve Y1 değişkenleri word tipinden dir.
4. Bir adet LONG değişkeni kullanarak da halledilebilir. WW=$DA92B689 :
    Shiftout DTA,CLK,1,[WW.Byte3, WW.Byte2, WW.Byte1 , WW.Byte0]
Bu 4 farklı kullanım şekli aynı sonucu verir.
LONG tipi değişkenler yalnızca 18F serisinde kullanılabilmektedir. Kullanıldığı zaman derleyicide PBPL seçeneği seçilmiş olmalıdır.  (MCS de View menüsü, Program & Compiler seçeneğinde Compiler kısmında PBPL kutusu işaretli olmalı ve Assembler seçeneğinde MPASM seçilmiş olması gerekir. )

Umarım konu anlaşılmıştır.

Ete

Açıklayıcı bilgiler için teşlekkür ederim ete bey konuyu daha iyi anladım.

Powered by EzPortal