74hc164 ilgili

Başlatan sifirzero, 09 Ocak 2017, 23:33:29

sifirzero

74hc164 ile ilgili ccs c kodu varmı.bilgi amaçlı.serdar hocanin kitabinda var ama pekbirşey anlamadim.mesela butona basinca 7 segmentte deger artma gibi.örnekler var arşivlerinizde.
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

sifirzero

Kimsenin bir bilgisi yok galiba
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

ete

Sorduğun şeyle iligli kimsenin bilgisi olduğunu sanmıyorum. 74HC164 bir shift registerdir. Paralel 8 bit girersin bu bilgiyi seri olarak alırsın. Genelde mikroişlemcilerde giriş portu artırmak için kullanılır. 7 segmentle alaksı olduğunu sanmıyorum. Mesajınla ilgili tek bir alaka kurulabilir oda 74164'e bir buton bağlarsın ve ona bastıkça sisteme bağlı 7 segmentte değer artışı sağlanır. Buda sağ elinle sol kulağını tutmak gibi bir şey. Normal işlemci pinleri ile bunu yapmak var iken neden 74164 kullanayım ki. ? Anlayacağın sorun havada kalmış ve hiç bir şekle yada duruma sokulamayan bir soru olarak gözüküyor o nedenlede cevap alamıyorsun. Daha spesifik sorular sormalısın. O zaman cevap alırsın.

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

sifirzero

sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

ferit06

Alıntı yapılan: serkancetin - 10 Ocak 2017, 13:00:56
Ete hocam bakarmisiniz buna.
https://320volt.com/pic12f675-ve-lm35-sensorlu-termometre-devresi/ 
ete hocanın bakmasını istediğiniz devre bir fantezi amaçlı( hadi biraz yummuşatayım deneysel diyelim) bir devre şöyleki;
-12F675 li bir termometre yapalım demişler ama hem 8 pinli bir pIC, hem 14 bacaklı bir Logic devre hem de 3 transistor kullanımı gerektiriyor.
-Bu tür bir kullanıma; elde bulunan kullanılacak ucuz bir PIC in yetersiz olan PIN sayısını genişletmek ve pahalı bir PIC kullanmamak ( yer meselesine giremiyorum daha fazla yer kaplıyor) amacıyla gidilir.

Buna göre toplam maliyeti daha düşük olacak ve daha derli toplu olacak,  bir  ADC modülü içeren 18 pınli PIC ( 16F88, 16F819, 16F1827 vb) ile çözüm elde edebilirsiniz.

Ama ben illa 74HC164 gibi bir Logic devre kullanacğım derseniz datasheets(https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwj-n8r6tLfRAhXByRQKHYe_DtsQFggiMAA&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fdata_sheet%2F74HC_HCT164.pdf&usg=AFQjCNGj6lh5QweL9bj4aCNfwYUrdl3gdw&cad=rja) inden kullanımı hakkında bilgi alabilirsiniz.

sifirzero

Benim sormak istediğim bu shift registera ccs c de nasıl kontrol edebiliriz di.çok saolun bilgiler için.yardimlarinizi bekliyorum
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

ozgurelkt

örneğin   yedi segment displayde 8 yazmak için(ortak katot) 0x7F  değerini bit bit göndermen gerekiyor ...ve her defasında 74hc164 de ki clock bitini bir yapıp sonra sıfır yapman gerekiyor.  gerekirse bir ara küçük bir kod yazarım.

sifirzero

Çok iyi olur hocam.mantığıni anlamış olurum
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

ozgurelkt

#8
  int  goster[10]={0x3F,0x06,.............};  gibi 0 dan 9 a kadar 7 segment display kodlarını eklediğimiz bir dizinimiz olsun.


main kısmında

while(1)
{
    for(i=0;i<10;i++) //dizindeki sayıları seçmek için döngü

       {   
                     for(j=0;j<8;j++)// dizinden seçtiğiniz sayının bitlerini tek tek yollamak için oluşturulan döngü
         
                                  {    output_bit(pin_b0,bit_test(goster,j)); // 74hc164 data ucu  B0 pinine bağlı veriler buradan bit bit yollanıyor.

                                                   output_high(pin_b1);  // 74hc164 clock ucu  B1 bağlı   
                                                   output_low(pin_b1);
}
               delay_ms(1000); // her sayı görülebilsin diye 1 sn gecikme.
.
.
.  bit_test komutu ile göster dizini içinde ki  değişkenin  j ninci biti 1 mi 0 mı diye bakılır hangisi ise  fonksiyon o değer ile geri döner.
  umarım anlatabilmişimdir :)



ete

74165 ile karıştırdım galiba. Paralel - in serial out olduğunu düşünüyordum ama tam tersi imiş. Dolayısıyla display sürmede kullanılabilir.
Mesajım yanlış oldu kusura bakmayın.
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

sifirzero

@ozgurelkt  ustam bu serdar hocanin kitabindada var.bunu bir butin ekleyerek nasıl yapicaz.
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ozgurelkt

main kısmında

while(1)
{
    if(input(buton))

       {   
             delay_ms(50); //buton sönümü için 
                  i=i+1;
                if(i==10)
                              {
                                   i=0;
                              }
                       

                     for(j=0;j<8;j++)// dizinden seçtiğiniz sayının bitlerini tek tek yollamak için oluşturulan döngü
         
                                  {    output_bit(pin_b0,bit_test(goster,j)); // 74hc164 data ucu  B0 pinine bağlı veriler buradan bit bit yollanıyor.

                                                   output_high(pin_b1);  // 74hc164 clock ucu  B1 bağlı   
                                                   output_low(pin_b1);
}
               delay_ms(1000); // her sayı görülebilsin diye 1 sn gecikme.

}

gibi..  yapılabilir .. for döngüsü yerine butona bastığınızda i değeri artacak .

ByTEK

Alıntı yapılan: ferit06 - 10 Ocak 2017, 13:55:43
ete hocanın bakmasını istediğiniz devre bir fantezi amaçlı( hadi biraz yummuşatayım deneysel diyelim) bir devre şöyleki;
-12F675 li bir termometre yapalım demişler ama hem 8 pinli bir pIC, hem 14 bacaklı bir Logic devre hem de 3 transistor kullanımı gerektiriyor.
-Bu tür bir kullanıma; elde bulunan kullanılacak ucuz bir PIC in yetersiz olan PIN sayısını genişletmek ve pahalı bir PIC kullanmamak ( yer meselesine giremiyorum daha fazla yer kaplıyor) amacıyla gidilir.

Buna göre toplam maliyeti daha düşük olacak ve daha derli toplu olacak,  bir  ADC modülü içeren 18 pınli PIC ( 16F88, 16F819, 16F1827 vb) ile çözüm elde edebilirsiniz.

Ama ben illa 74HC164 gibi bir Logic devre kullanacğım derseniz datasheets(https://www.google.com.tr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwj-n8r6tLfRAhXByRQKHYe_DtsQFggiMAA&url=http%3A%2F%2Fwww.nxp.com%2Fdocuments%2Fdata_sheet%2F74HC_HCT164.pdf&usg=AFQjCNGj6lh5QweL9bj4aCNfwYUrdl3gdw&cad=rja) inden kullanımı hakkında bilgi alabilirsiniz.

Hocam Doğru Tahmin. Tamamen fantezi amaçlı yaptığım bir devreydi.

Aslında amacım 8 pin bir MCU ile nasıl display sürülür vs idi ortaya bu çıktı.

@serkancetin

Kabaca 74hc164 seri girip paralel çıkış veren bir entegredir. Çıkış pinlerine Display bağladığımızda uygun çıkışları etkin yaparsak displayede bir görüntü oluştururuz.

Teknik olarak arkadaşlar örnek komutlar vermiş. Netten "PIC ile shift register kullanımı" olarak aratırsan sonuç elde edeceksin.

sifirzero

Sercan hocam sitendende yazdim size.bende ccs c ile yapmak istedim.ama bilgi gonderemedim
sifirzero.blogspot.com [email]sifirrzero@gmail.com[/email] iman hem nurdur hem kuvvettir