PİC Programlama Komutları

guclusat

Tanınmış Üye
Süper Moderatör
Yer Değiştirme veya Yükleme Komutları
MOVLW k
k Sabit değerini w registerine yükler.
MOVF f,d
f registerinin içeriğini W veya f'e yükler.
MOVWF f
W registerinin içeriğini f registerine yükler.
Register İçeriğini Değiştirme Komutları
CLRF f
f registerinin içeriğini siler.
CLRW
w registerinin içeriğini siler.
COMF f,d
f registerinin içindeki sayı terlenir. 1'ler 0 , 0 'lar 1 olur.
DECF f,d
f registerinin içindeki sayıyı 1 eksiltir. h'00' ise h'FF' olur
INCF f,d
f registerinin içerisindeki sayıyı 1 arttırır. h'00' ise h'01' olur.
BCF f,b
f registerinin içerisindeki sayının b.ninci bitini sıfırlar.
BSF f,b
f registerinin içerisindeki sayının b.ninci bitini 1 yapar.
RLF f,d
f registeri içerisindeki sayıyı bir pozisyon sağa kaydırır.
RRF f,d
f registeri içerisindeki sayıyı bir pozisyon sola kaydırır.
SWAPF f,d
f registerinin içerisindeki ilk 4 bit ile son 4 bit yer değiştirir.
Program Akışnı Kontrol Etme Komutları
GOTO
program akışını belirlediğimiz adrese dallandırır.
CALL k
program akışını k etiketinin bulunduğu yerdeki alt programa dallandırır.
RETURN
En alta yazılan bu komut ana programa döndürmeye yarar.
RETLW
program akışının alt programdan ana programa döndürür ve W registerine k sabitini yükler.
RETFIE
program akışını interrupt alt programından ana programa döndürür.
BTFSC f,b
f registerinin b.inci bitini test eder.0 ise program akışı bir sonraki komuta geçer.
BTFSS f,b
f registerinin b.inci bitini test eder.1 ise program akışı bir sonraki komuta geçer.
DECFSZ f,d
f registerinin içeriği "1" azaltır.register içerigi 0'sa bir sonraki komuta atlar.
INCFSZ f,d
f registerinin içeriğini "1" arttırır. register içerigi 0'sa bir sonraki komuta atlar.
Mikrodenetleyici Kontrıl Komutları
CLRWDT
watchdog timer'ı sıfırlar. Ayrıca watchdog timer'ın prescalar değerinide 0 lar.Status bitlerinden TO ve PD=1 yapar
SLEEP
Mikrodenetleyiciyi uyuma moduna geçirir.
Mantıksal Komutlar
ANDLW k
w registerinin içeriği ile k sabitine AND işlemi uygular sonuç w registerine yazılır.
ANDWF f,d
w registeri ile file register içeriğine AND işlemi uygulanır sonuç w veya f registerine yazılır.
IORLW k
w registerin içeriği ile k sabitine OR işlemini uygular.Sonuç w registerine yazılır.
IORWF f,d
w registeri içeriği ile file registerinin içeriğine OR işlemi uygular sonuç w veya f registerine yazılır.
XORLW k
w registeri içeriği ile k sabitine XOR işlemini uygular.sonuç w regiseterine yazılır.
XORWF f,d
w registeri içeriği ile file registerinin içeriğine XOR işlemi uygular sonuç w veya f registerine yazılır.
Aritmetik İşlem Komutları
ADDWF f,d
w registerinin içeriğine f registeri ile toplar. Sonuç w veya f registerine yazılır.
ADDLW k
w registerinin içeriğine k sabit değeri ile toplar. Sonuç W registerine yazılır.
SUBLW k
k sabit değerinden W registeri içerigini çıkarır. Sonuç W registerine yazılır.
SUBWF f,d
f registerinin içeriğinden W registeri içerigini çıkarır. Sonuç W registerine yazılır.
İşlem Yapmayan Komut
NOP
Bir komut saykılı süresince hiçbir işlem yapmayan bir komuttur. Bir dahili komut süresinde çalışır.Bu nedenle zaman geçiktirme işlemlerinde kullanılır.
 
Son düzenleme:
Geri
Yukarı