1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız. Daha Fazlasını Öğren.

PIC Komutları 2

Konusu 'Pic Uygulama Ve Devreleri' forumundadır ve guclusat tarafından 22 Ekim 2011 başlatılmıştır.

  1. guclusat
    Offline

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    9.947
    Ödül Puanları:
    48
    GOTO Koşulsuz Dallanma
    Yazılış : GOTO k
    İşleçler: 0 £ k £ 2047
    İşlem: k ® PC<10:0> PCLATH<4:3> ® PC<12:11> d Î [0,1]
    Etkilenen Yazmaçlar : YOK
    Kodlama : 10 1kkk kkkk kkkk
    Tanım : GOTO koşulsuz dallanma komutudur. İlk 11 bit PC<10:0>' ye yüklenir. Yüksek bitler PCLATH<4:3>' yüklenir. GOTO iki çevrimlik komuttur.
    Word: 1
    Saat Çevrimi (Cycle) : 2
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"k" literalini oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]PC'ye yaz[/TD]
    [/TR]
    [TR]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [/TR]
    [/TABLE]


    Örnek : GOTO adres
    İşlemden önce PC =
    İşlemden sonra PC = adres




    INCF f'yi bir artır
    Yazılış : INCF f,d
    İşleçler: 0 £ f £ 127, d Î [0,1]
    İşlem: (f) + 1 ® (destination)
    Etkilenen Yazmaçlar : Z
    Kodlama : 00 1010 dfff ffff
    Tanım : "f" yazmacının içeriğini 1 artır. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"f" yazmacını oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Sonucu hedefe yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : INCF CNT, 1
    İşlemden önce CNT = 0xFF, Z = 0
    İşlemden sonra CNT = 0x00, Z = 1




    INCFSZ f'yi bir artır, sonuç 0 ise atla.
    Yazılış : INCFSZ f,d
    İşleçler: 0 £ f £ 127, d Î [0,1]
    İşlem: (f) + 1 ® (destination)
    Etkilenen Yazmaçlar : Yok
    Kodlama : 00 1111 dfff ffff
    Tanım : "f" yazmacının içeriğini eğer sonuç 0 değilse 1 artır, yoksa komutu atla. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
    Word: 1
    Saat Çevrimi (Cycle) : 1 (2 Eğer atlama yapılırsa)
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"f" yazmacını oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Sonucu hedefe yaz[/TD]
    [/TR]
    [/TABLE]

    Q(2) çevrimi (Q Cycle Activity) : (Eğer sonuç "0" ise)

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [TD]İşlem Yapma[/TD]
    [/TR]
    [/TABLE]

    Örnek : INCF CNT, 1
    İşlemden önce CNT = 0xFF, Z = 0
    İşlemden sonra CNT = 0x00, Z = 1




    IORLW W ile "k"' ile mantıksal VEYA işlemi uygula
    Yazılış : IORLW k
    İşleçler: 0 £ f £ 127, d Î [0,1]
    İşlem: (W) .OR. (f) ® (destination)
    Etkilenen Yazmaçlar : Z
    Kodlama : 00 0100 dfff ffff
    Tanım : W yazmacı ile "f" yazmacına VEYA işlemi uygula. Sonucu W 'ye yaz.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"k" literalini oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Sonucu yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : IORLW 0x35
    İşlemden önce W = 0x9A, Z = 0
    İşlemden sonra W = 0xBF, Z = 1




    IORWF W ile "f"' ile mantıksal VEYA işlemi uygula
    Yazılış : IORWF f,d
    İşleçler: 0 £ k £ 255
    İşlem: (W) .OR. k ® (W)
    Etkilenen Yazmaçlar : Z
    Kodlama : 11 1000 kkkk kkkk
    Tanım : W yazmacı ile "k" literaline VEYA işlemi uygula. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına yaz.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"f" yazmacını oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Sonucu yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : IORWF 0x35,0
    İşlemden önce W = 0x9A, Z = 0
    İşlemden sonra W = 0xBF, Z = 1




    MOVF "f" yazmacını içeriğini taşı
    Yazılış : MOVF f,d
    İşleçler: 0 £ f £ 127, d Î [0,1] < BR > İşlem: (f) ® (destination)
    Etkilenen Yazmaçlar : Z
    Kodlama : 00 1000 dfff ffff
    Tanım : "f" yazmacının içeriğini hedefe taşı.Hedef "d"'ye bağlıdır. Eğer "d" 0 ise sonucu W 'ye, 1 ise "f" yazmacına taşır.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"f" yazmacını oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Hedefe Yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : MOVF FSR, 0
    İşlemden sonra W = FSR'deki değer, Z = 1




    MOVLW "k" literalini W'ya taşı
    Yazılış : MOVLW k
    İşleçler: 0 £ k £ 255
    İşlem: k ® W
    Etkilenen Yazmaçlar : Yok
    Kodlama : 11 00xx kkkk kkkk
    Tanım : Sekiz bitlik "k" literali "W" yazmacına yüklenir.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"k" literalini oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]"W"yazmacına Yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : MOVLW 0x5A
    İşlemden Sonra W = 0x5A




    MOVWF W yazmacının içeriğini "f"e taşı
    Yazılış : MOVWF f
    İşleçler: 0 £ f £ 127 < BR > İşlem: (W) ® (f)
    Etkilenen Yazmaçlar : Yok
    Kodlama : 00 0000 1fff ffff
    Tanım : "W" yazmacının içeriğini "W" yazmacına taşı.
    Word: 1
    Saat Çevrimi (Cycle) : 1
    Q çevrimi (Q Cycle Activity) :

    [TABLE="width: 426, align: center"]
    [TR]
    [TD]Q1[/TD]
    [TD]Q2[/TD]
    [TD]Q3[/TD]
    [TD]Q4[/TD]
    [/TR]
    [TR]
    [TD]Kod çöz[/TD]
    [TD]"W" yazmacını oku[/TD]
    [TD]İşlemi yap[/TD]
    [TD]Hedefe Yaz[/TD]
    [/TR]
    [/TABLE]

    Örnek : MOVWF OPTION_REG
    İşlemden Önce :
    OPTION = 0xFF W = 0x4F
    İşlemden Sonra :
    OPTION = 0x4F W = 0x4F
     

Sayfayı Paylaş