Yaw bu 74HC595 nasıl çalışıyor.

Başlatan baran123, 05 Nisan 2014, 16:45:59

baran123

Merhaba aklıma takılan bir şey var bu 74hc595 örneklerinde görüyorum adam 3 bacak ile 1 adet 7 seg kontrol edıyor tamamda seri olarak bağlamıs 7-8 tane bu nasıl bir şey anlamış değilim hala bakıyorum netten bir şey anlamadım birde entegreler arasında bir bacagı birlestirme yapmıs kısaca anlatabilir misiniz nası calıstıgını ?

Kolay gelsin iyi calısmalar.

polleme

Data ucundan verilen lojik bilgi her saat darbesinde kaydırılarak en uca gönderiliyor, 8 ssat darbesinden sonra 8 bitlik veri entegre dış kaydedicilerine yüklenmiş oluyor. Aktif ucu ile bu bilgi çıkışa aktarılıyor. Bu iş için üç uç yeterli.

parametre

http://ustaderslik.com/konu/CCS_C_74HC595_Basit%C3%A7e_Kullan%C4%B1m%C4%B1
pic in b0 pini sh_cp ye bağlı olsun
b1 pini ds ye bağlı olsun
b2 pini st_cp ye bağlı olsun

0 göndermek için sifir() alt programını, 1 göndermek için bir() alt programını kullanacağız

void sifir() {output_b(0b00);output_b(0b01);output_b(0b00);output_b(0b10);output_b(0b00);}
void bir() {output_b(0b00);output_b(0b10);output_b(0b11);output_b(0b010);output_b(0b00);}

sonra verileri gönderip st_cp ye clock göndererek kiliti açacağız.

mesela 11110000 göndermek için bir örnek kod yazalım.



Kod:
#include <16f628a.h>
#fuses XT,NOWDT,NOPROTECT     
#use delay (clock=4000000)   

byte deger,i;

void sifir() {output_b(0b00);output_b(0b01);output_b(0b00);output_b(0b10);output_b(0b00);}
void bir()   {output_b(0b00);output_b(0b10);output_b(0b11);output_b(0b010);output_b(0b00);}

void main ()
{       
   sifir(); sifir(); sifir(); sifir(); bir(); bir(); bir(); bir();
   output_b(0b100); output_b(0b000);//kilit       
}  // main


----------

siz display için nasıl gönderildiğini sorarsanız oda aynı mantık.
mesela 9 sayısını ortak katot displayda göstereceksiniz.
displayın a b c d e f g uçları sırasıyla şöyle olacaktır : 1110011
biz bunu programla göndermek için şu kodları yazacağız.



Kod:
#include <16f628a.h>
#fuses XT,NOWDT,NOPROTECT     
#use delay (clock=4000000)   

byte deger,i;

void sifir() {output_b(0b00);output_b(0b01);output_b(0b00);output_b(0b10);output_b(0b00);}
void bir()   {output_b(0b00);output_b(0b10);output_b(0b11);output_b(0b010);output_b(0b00);}

void main ()
{       
   bir(); bir(); sifir(); sifir();  bir(); bir(); bir();
   output_b(0b100); output_b(0b000);//kilit       
}  // main


http://elektrokod.wordpress.com/2013/12/14/74hc595-entegresi-ile-led-animasyonu/
https://320volt.com/picbasic-dersleri-pic-basic-pro-ile-pic-programlama-8/
https://www.picproje.org/index.php?topic=21810.0
bu linkleri incele derim ekide incelemeni sağlık veririm

baran123

@parametre çok teşekkürler bayağı işime yaradı bunlar iyi çalışmalar dilerim.