|
|
||||
|
KONULAR
Temel Eletronik
PIC ile Mantıksal İşlemler Nasıl Yapılır AND OR ve EXOR İşlemleri | PIC ile Mantıksal İşlemler Nasıl Yapılır AND OR ve EXOR İşlemleri |
|
|
PIC ile Mantıksal İşlemler |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A | B | A AND B |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
| A | B | A OR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
iki bit arasında VEYA işlemini yapar.
elektronik bilgilerimizden de hatırlayacağınız gibi VEYA kapısında karşılaştırılan bitlerden en az birisi 1 ise sonuç 1 olur. eğer işlem gören bitlerden her ikiside "0" ise Sonuç Sıfır olur.
Or mantığı paralel devre mantığıdır.
| A | B | A OR B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
pic de OR işlemi için IOR kullanılır,
IORLW= Write register içeriğini istenen bir sabit veri ile OR işlemi uygular ve sonucu W registere yazar.
IORWF = Bir file register içeriği ile write register içeriğine OR işlemi uygular ve sonucu F veya W içine yazar.
| Bitler | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| A | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| B | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
| A IORLW B | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
Bu komut ile 0 olan bitleri 1 yapabiliriz.
örneğin;
| bitler | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| A | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| B | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| A IORLW B | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
IORLW için örnek:
| MOVLW | B’01010101’ | ;Binary 01010101 sayısını W registere ata |
| IORLW | B’10101010’ | ;Write registerdeki sayı ile binary 10101010 sayısını OR la |
| MOVWF | PORTB | ;Sonucu PORTB' ye gönder. |
sonuç olarak PORTB çıkışlarının hepsi 1 olacaktır. ledler bağlı ise tüm ledler yanacaktır.
Byte içeriği 0 mı ?
Write register içindeki bir byte lık bir bilginin 0 olup olmadığını anlamak için=> 0 sabit verisi ile IORLW işlemi uygulanabilir
yada File register içindeki bilginin 0 olup olmadığını anlamak için=> W registere 0 atanır ve IORWF işlemi uygulanır..
Sonuc 0 sa Z flag 1 olur.
_______________________________________________________________
XOR (Exclusive OR gate = Özel veya Kapısı)
XOR işlemi elektronik bilgilerden biraz hatırlayacak olursak, Or işleminin biraz değişiği olup kısaca şöyle tarif edebiliriz:
XOR da 2 bit karşılaştırılır ve bit değerleri farklı ise sonuç 1 aynı ise sobyç sıfırdır.
1 bitlik XOR işlemi sonuçları aşağıdaki gibidir.
| A | B | A XOR B | Açıklama |
| 0 | 0 | 0 | a ve b aynı sonuç sıfır |
| 0 | 1 | 1 | a ve b farklı sonuç 1 |
| 1 | 0 | 1 | a ve b farklı sonuç 1 |
| 1 | 1 | 0 | a ve b aynı sonuç sıfır |
XORLW= Write register içeriği ile bir sabite XOR işlemi uyguar ve sonucu write register içine yazar.
XORWF= File register ile Write register içeriğini XOR lar ve sonucu F veya W ‘a yazar
8 bitlik XOR işlemi
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| A | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| B | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
| A XOR B | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 |
XOR işlemi ayrıca bitleri ters çevirmek için de kullanılır.
örneğin,
A=10100010 ise ve biz A daki 0 ları 1 ve 1 leri de sıfır yapmak istersek.
B=11111111 ile A yı XOR işlemine tabi tutarız.
aşağıdaki gibi,
| Bitler | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| A | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| B | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| A XOR B | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
XOR ile karşılaştırılan W register - Sabit / File Register içerikleri birbiri ile aynı ise XOR işlemi sonunda Z flag set edilir.
ANDLW,ANDWF,IORLW,IORWF,XORLW,XORWF işlemleri 1 saat çevrimi sürede işlenir.
Kaynak: http://www.elektromania.net/pic/?id=21| < Prev | Next > |
|---|
| Elektro Teknoloji |
|