avatar_efeworld

7 segment displaylarda sayıcı devrelerinde or lamanın mantığı nedir

Başlatan efeworld, 12 Mayıs 2015, 22:13:46

efeworld

ben 2 adet 4511 le sürülen 7 segment displaylerin sayıcı olarak kullanılırken or lama haricinde tüm işlerin mantığını anladım fakat portb=d1 | %11110000 yapmanın mantığı nedir anlamadım illaki display seçiyor ama mantığı ne anlamadım diyelimki 85 sayısında d1 sayacına 5 sayısı atanıyor d1=%00000101 sonra %11110000 ile orlanıyor sonuç 11110101 oluyor bu sayı ne işe yarıyor yardımcı olurmusunuz lütfen


    trisb=0
    sayi var byte
    d1 var byte
    d2 var byte
    portb=0
    sayi=0
    git:
    sayi=sayi+1
    pause 500
    if sayi=100 then sayi=0
    d1=sayi dig 0
    d2=sayi dig 1
    portb=d1 | %11110000
    low portb.5
    pause 100
    high portb.5
    pause 1
    portb=d2 | %11110000
    low portb.4
    pause 1
    high portb.4
    pause 100
    goto git

ete

Şema olmadan neden OR landığını söylemek zor ama mantık çalıştırılınca şunu söylemek mümkün.
D1 sayısı olsa olsa 4 bitlik bir sayıdır 0-15 aralığını düşünerek bunu söylüyorum. Desimal sistemde 0-9 aralığında maksimum değer %1001 şeklinde 9 rakamı olacaktır ama sayı yine 4 bitliktir.
Bu rakamı PORTB ye verirken Muhtemelen PORTB nin %0000xxxx (x ile belirtilen) bitlerine bu değeri vermen gerekiyor ama PORTB nin %zzzzxxxx  (z ile belirtilen) bitlerini sürekli HIGH da tutman gerekiyor. Bu durumda ne yaparsın %11110000 +d1 şeklinde bir uygulama yapman gerekiyor. İşte o komut bu işi yapıyor. Aynı işi PORTB=%11110000+D1 şeklinde de yapabilirsin.

Şemayı neden istedim PORTB nin son 4 bitinde ne bağlı ise o bu işi gerektiriyor da ondan.

Ete

efeworld


efeworld

Hocam cep telefonundan semayi gonderemiyorum fakat anlatayim size.portbnin ilk dort pini 4511 in ABCD uclarina giriyor pportb.4 bieinci 4511 in ol ucuna portb.5 ikinci 4511 in ol ucuna giriyor.portb.6 ve 7 boş.saygilarimla...

Powered by EzPortal