Aynı Anda 3 Seri veri Gönderme

Başlatan M_B, 28 Nisan 2014, 23:30:30

M_B

Merhaba;
Şekildeki şemadaki gibi bağlantısı yapılmış olan 595 lere  gönderilecek veriyi aşağıdaki örnekteki veriye  nasıl çevirebilirim.

Şekilden de göreceğimiz üzerine 595 lerin Data pinleri hariç diğer pinleri ortak
Data pinleri olarak D-1  ; D-2 ; D-3  leri PORTB de RB0 RB1 RB2 ye bağlı.

Örnek olarak  gönderilmesi gereken veri:
D-1 : 0x07 - 0x14 - 0x12 - 0x30
D-2 : 0x05 - 0x25 - 0x23 - 0x16
D-3 : 0x1A - 0x34 - 0x27 - 0x34
ilk gönderilmesi gereken veriler
0x07 -> 0000_0111
0x05 -> 0000_0101
0x1A -> 0001_1010
Bu da PORTB de  sırasıyla 3 , 5 , 3 , 4 , 4 , 0 , 0 , 0 olacaktır.
Yukardaki veriyi nasıl bu şekle cevirebilirim.


İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

baran123

valla söyle bir şey geldi aklıma ama bilmiyorum olurmu ezberden söylüyorum hani 2 li 7 segmenti timer0 ile tarama yaptırma varya öyle bir şey deneyebilirsiniz transistörle çok hızlı tetikletip açsanız bilmem olur mu ?

OG

x_1 = 0x07 -> 0000_0111
x_2= 0x05 -> 0000_0101
x_3 = 0x1A -> 0001_1010


PORTB.0 = x_1.0
PORTB.1 = x_2.0
PORTB.2 = x_3.0

burada 595 lere itele

PORTB.0 = x_1.1
PORTB.1 = x_2.1
PORTB.2 = x_3.1 

burada 595 lere itele

PORTB.0 = x_1.2
PORTB.1 = x_2.2
PORTB.2 = x_3.2 

burada 595 lere itele

gibi.

gönderme sırasına dikkat etmeden yazdım MSB veya LSB ye gore değişir
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

M_B

@OG hocam teşekkürler.

Benim yaptığım mantık ise şu şekilde
PORTB=((Rr>>yy)&0x01)+(((Gg>>yy)&0x01)<<1)+(((Bb>>yy)&0x01)<<2);


Rr,  Gg , Bb  D-1 D-2 D-3 denk  geliyor.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet