Shift Register Kullanımı Hakkında

Semiyun

Üye
Katılım
15 Haz 2014
Mesajlar
48
Puanları
1
Yaş
28
Herkese merhaba 74hc595 kullanarak çıkışına bağlı 8 ledi yakmak istiyorum.10100110 şeklinde ledler yanacak , uygulamayı gerçekleştirdim fakat kodlama kısmında fazla komut kullandığımı düşünüyorum.Aşağıda göreceğiniz resimdeki gibi her bir 8li led kombinasyonu için aşağıdaki komutu yazmak hafızayı dolduruyor.Kodları kısaltmak için kullanabileceğim bir komut varmıdır ?
 

Ekli dosyalar

  • 222.JPG
    222.JPG
    30.9 KB · Görüntüleme: 18
  • 1111.JPG
    1111.JPG
    83.3 KB · Görüntüleme: 16
Kod:
void process(unsigned int8 data)
{
unsigned int8 next;
  for(next=0; next<=7; next++)
  {
  if (data & 0x80 ) { ds=1; }   //data & 0b1000 0000 yani data nın en soldaki biti ne?
  else ds=0;
  data=data<<1;   //sonraki adımda data nın bir sonraki bitine bakmak için datayı bir sola kaydır

  delay_us(500);
  clock();
  }
}

kullanırken
process(gonderilecek_data);
veya
process(0xA6);
 
Kod:
void process(unsigned int8 data)
{
unsigned int8 next;
  for(next=0; next<=7; next++)
  {
  if (data & 0x80 ) { ds=1; }   //data & 0b1000 0000 yani data nın en soldaki biti ne?
  else ds=0;
  data=data<<1;   //sonraki adımda data nın bir sonraki bitine bakmak için datayı bir sola kaydır

  delay_us(500);
  clock();
  }
}

kullanırken
process(gonderilecek_data);
veya
process(0xA6);
Çok teşekkür ederim tam nokta atışı yapmışsınız.
 

Forum istatistikleri

Konular
129,809
Mesajlar
930,319
Kullanıcılar
452,617
Son üye
tahir_akdg

Yeni konular

Geri
Üst