Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

Alt bit - üst bit

Başlatan 122055221, 30 Haziran 2006, 22:26:48

122055221

Arkadaşlar örneğin sekiz giriş çıkışı olan PortA nın alt bitini veya üst bitini tek komutla en kısa yoldan bir değişkenin içine nasıl alabilirim.

Mesala PortA=01101001 bu değerde olsun. Ben portA nın 01101 değerini veya 1001 değerini bir değişkenin içine kaydetmek istiyorum.

kurumahmut

Assembly kullanıyorsan PORTA yı oku. Sağ veya Sola kaydırma komutunu kulan. Carry bayrağını değişkenine yaz...

C kullanıyorsan port a nın istediğin bitini gösteren pointer tanımla...

edit:

alt biti üst biti tabirleri yerine üst nibble ya da üst 4bit, alt nibble ya da alt 4bit tabirlerini kullansan daha açıklayıcı olur.

alt nibbe yi almak için portu oku 0F ile ve işlemine sok. sonra değişkenine yaz.

üst nibbleyi almak için portu oku, 4kez sağa kaydır. 0F ile ve işlemine sok. sonra değişkenine yaz....

122055221

pic basic pro da yapabileceğim bişey yokmu? örnek verebilirseniz sevinirim.

XX_CİHAN_XX

Alıntı yapılan: "122055221"pic basic pro da yapabileceğim bişey yokmu? örnek verebilirseniz sevinirim.
Ben assembly ve C kullanıom ama sana assembly den ornk verecegım cunku pıcbasıc ın ıcınde asm kullanabılıyorsun yada verecegım ornege bakarak pb kodlarını kendın olusturabılırsın cunku cok basıt bır olay.
Eger portbnın alt 4 bitini(low nibble) bır regıstere kopyalamak ıstıyorsan:
      MOVLW      0x0F
       ANDWF      PORTB,W
       MOVWF      _REGISTER  

Eger portbnın UST 4 bitini(high nibble) bır regıstere kopyalamak ıstıyorsan:
      MOVLW      0xF0
       ANDWF      PORTB,W
       MOVWF      _REGISTER   
       SWAPF       _REGISTER,F  


Hepsi bukadar kolay gelsin....
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ftsahin

var altbit byte
var ustbit byte

basla
.....

altbit=porta & %00001111 'Son 4 bit alınıyor

ustbit=porta & %11110000 'İlk 4 bit alınıyor

.....
....

goto basla


altbit ve ustbit değişkenleri 8 bitlik olacağı için bu şekilde bir kullanımın sonucunda altbit değeri 0..15 arasında, ustbit değeri 16..240 arasında değişir.

Her iki değişkenin de aynı değerler arasında değişmesini istiyorsan(her ikisi de 0..15 gibi) 4 bitlik bit kaydırma yapman gerekir.
ustbit = ustbit >> 4

Bu komutla ust bit değişkeni de 0..15 arasında değişir. altbit değişkenini sola kaydırmak istersen

altbit = altbit << 4

yazman yeterlidir.

Kolay gelsin