Mesaj Önizleme  Konuyu Gönder 
Bir PIC16F84 programlamak için gerekli PIC Asembly komutları:
Yazar Mesaj
Mesajlar: 2,595
Katılım: Jan 2008
Karma Puanı: 0
Mesaj: #1
Bir PIC16F84 programlamak için gerekli PIC Asembly komutları:

Bir PIC16F84 programlamak için gerekli PIC Asembly komutları:
PIC Komutları

PIC meraklılarını uzunca bir süre beklettim. Yoğun bir çalışma temposunun ardından (henüz bitmemiş olsa da) bir şeyler hazırlamak için vakit bulabildim.
Artık pic programlamaya hazırlanacağız. Pic programlamak için assembly, basic, C dilleri geliştirilmiştir. Biz ücretsiz olması nedeniyle pic assembly dili üzerinde duracağız ve MPLab yazılım geliştirme ortamını tanıyacağız. Daha önce de belirttiğimiz gibi PIC ailesinden PIC16F84 mikro denetleyicisinin 35 adet assembly komutu vardır. Şimdi bu komutlara, biraz detaylı olarak göz atalım.




ADDLW Literal ile W'yu topla
Yazılış : ADDLW k
İşleçler: 0 £ k £ 255
İşlem: (W) + k → (W)
Etkilenen Yazmaçlar : C, DC, Z
Kodlama : 11 111x kkkk kkkk
Tanım : W yazmacının içeriği sekiz bitlik k literali ile toplanır, sonuc W yazmacına yerleştirilir.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"k" literalini okuİşlemi yapW'ye yaz
Örnek : ADDLW 0x15
İşlemden önce W = 0x10
İşlemden sonra W = 0x25




ADDWF W ve f'i Topla
Yazılış : ADDWF f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (W) + (f) → (destination)
Etkilenen Yazmaçlar : C, DC, Z
Kodlama : 00 0111 dfff ffff
Tanım : W yazmacının içeriğiyle "f" yazmacının içeriğini topla. 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) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yapSanucu hedefe yaz
Örnek : ADDWF FSR, 0
İşlemden önce W = 0x17 FSR = 0xC2
İşlemden sonra W =0xD9 FSR = 0xC2




ANDLW Literal ile W'yi mantıksal VE
Yazılış : ANDLW k
İşleçler: 0 £ k £ 255
İşlem: (W) .AND. (k) → (W)
Etkilenen Yazmaçlar : Z
Kodlama : 11 1001 kkkk kkkk
Tanım : W yazmacı ile sekiz bitlik "k" literaline VE işlemi uygulanır. Sonuç W'ye yazılır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"k" literalini okuİşlemi yapW'ye yaz
Örnek : ANDLW 0x5F
İşlemden önce W =0xA3
İşlemden sonra W = 0x03




ANDWF W ile "f"'e mantıksal VE işlemi uygula
Yazılış : ANDWF f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (W) .AND. (f) → (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 0101 dfff ffff
Tanım : W yazmacı ile "f" yazmacına VE 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) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yapSonucu yaz
Örnek : ANDWF FSR, 1
İşlemden önce W = 0x17, FSR = 0xC2
İşlemden sonra W = 0x17, FSR = 0x02




BCF f'in bir bitini sil (sıfırla)
Yazılış : BCF f,b
İşleçler: 0 £ f £ 127, 0 £ b £ 7
İşlem: 0 → (f[b])
Etkilenen Yazmaçlar : yok
Kodlama : 01 00bb bfff ffff
Tanım : "f" yazmacının "b" biti sıfırlanır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yap"f" yazmacına yaz
Örnek : BCF FLAG_REG, 7
İşlemden önce FLAG_REG = 0xC7
İşlemden sonra FLAG_REG = 0x47




BSF f'in bir bitini kur (1 yap)
Yazılış : BSF f,b
İşleçler: 0 £ f £ 127, 0 £ b £ 7
İşlem: 1 -rarr; (f[b])
Etkilenen Yazmaçlar : Yok
Kodlama : 01 01bb bfff ffff
Tanım : "f" yazmacının "b" biti 1 yapılır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yap"f" yazmacına yaz
Örnek : BSF FLAG_REG, 7
İşlemden önce FLAG_REG = 0x0A
İşlemden sonra FLAG_REG = 0x8A




BTFSC "f" yazmacının "b" bitini kontrol et, 0 ise atla
Yazılış : BTFSC f,b
İşleçler: 0 £ f £ 127, 0 £ b £ 7
İşlem: eğer (f[b]) = 0 ise bir sonraki komutu atla
Etkilenen Yazmaçlar : Yok
Kodlama : 01 10bb bfff ffff
Tanım : Eğer "f" yazmacının "b" biti 1 ise sıradaki komut işletilir, 0 ise bir sonraki komut atlanır ve yerine NOP işletilir ve 2 çevrimli komut olur.
Word: 1
Saat Çevrimi (Cycle) : 1 (2)
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yapİşlem yapılmaz
Eğer atlama yapılmışsa 2. çevrimde ;
Q1Q2Q3Q4İşlem yapılmazİşlem yapılmazİşlem yapılmazİşlem yapılmaz




BTFSS "f" yazmacının "b" bitini kontrol et, 1 ise atla
Yazılış : BTFSS f,b
İşleçler: 0 £ f £ 127, 0 £ b £ 7
İşlem: eğer (f[b]) = 1 ise bir sonraki komutu atla
Etkilenen Yazmaçlar : Yok
Kodlama : 01 11bb bfff ffff
Tanım : Eğer "f" yazmacının "b" biti 0 ise sıradaki komut işletilir, 1 ise bir sonraki komut atlanır ve yerine NOP işletilir ve 2 çevrimli komut olur.
Word: 1
Saat Çevrimi (Cycle) : 1 (2)
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuİşlemi yapİşlem yapılmaz
Eğer atlama yapılmışsa 2. çevrimde ;
Q1Q2Q3Q4İşlem yapılmazİşlem yapılmazİşlem yapılmazİşlem yapılmaz




CALL Altrutin çağır
Yazılış : CALL k
İşleçler: 0 £ k £ 2047
İşlem: (PC)+ 1 → TOS, k → PC<10:0>, (PCLATH<4:3>Wink ® PC<12:11>
Etkilenen Yazmaçlar : Yok
Kodlama : 10 0kkk kkkk kkkk
Tanım : Bir altrutin çağırır. Önce dönüş adresi (PC+1) yığın (stack) hafızaya kaydedilir. 11 bitlik adres PC<10:0>'a yüklenir. PC'nin üst bitleri PCLATCH'den yüklenir. CALL 2 çevrimlik bir komuttur.
Word: 1
Saat Çevrimi (Cycle) : 2
Q çevrimi (Q Cycle Activity) :
1. çevrim;
Q1Q2Q3Q4Kod çöz"k" literalini oku
PC'yi yığına kaydetVeriyi işlePC'ye yaz
2. çevrim;
Q1Q2Q3Q4İşlem yapılmazİşlem yapılmazİşlem yapılmazİşlem yapılmaz




CLRF f'in içeriğini temizle (0 yap)
Yazılış : CLRF f
İşleçler: 0 £ f £ 127
İşlem: 00h → (f), 1 → Z
Etkilenen Yazmaçlar : Z
Kodlama : 00 0001 1fff ffff
Tanım : "f" yazmacının içeriği temizlenir(0) ve "Z" biti kurulur(1).
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuVeriyi işle"f" yazmacına yaz
Örnek : CLRWDT
İşlemden önce WDT counter = ?
İşlemden sonra WDT counter = 0x00,
WDT prescaler= 0, TO =1, PD =1




COMF "f" in tümleyenini al
Yazılış : COMF f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (f) → (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 1001 dfff ffff
Tanım : "f" yazmacının içeriğinin tümleyeni alınır. Eğer d 0 ise, sonuc "w", 1 ise "f" yazmacına yazılır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuVeriyi işleHedefe yaz
Örnek : COMF REG1,0
İşlemden önce REG1 = 0x13
İşlemden sonra REG1 = 0x13




DECF "f" yazmacının içeriğini 1 azalt
Yazılış : DECF f,d
İşleçler: 0 £ f £ 127, d Î [0,1]
İşlem: (f) - 1 → (destination)
Etkilenen Yazmaçlar : Z
Kodlama : 00 0011 dfff ffff
Tanım : "f" yazmacının içeriğini bir(1) azalt. Eğer d 0 ise, sonuc "w", 1 ise "f" yazmacına yazılır.
Word: 1
Saat Çevrimi (Cycle) : 1
Q çevrimi (Q Cycle Activity) :
Q1Q2Q3Q4Kod çöz"f" yazmacını okuVeriyi işleHedefe yaz
Örnek : DECF CNT, 1
İşlemden önce CNT = 0x01, Z =0
İşlemden sonra CNT = 0x00, Z =1


04-09-2008 07:59 PM
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı bir cevapta alıntı yap
Mesaj Önizleme  Konuyu Gönder 

Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  pic basic pro ile programlama kamber 1 209 12-22-2008 11:10 AM
Son Mesaj: tusem
  MikroCode Studio Plus ile 18f serisi picler için derleme vid kamber 1 113 12-22-2008 11:07 AM
Son Mesaj: tusem
  İşaretler ve Sistemler (tez) kamber 1 183 06-20-2008 05:36 PM
Son Mesaj: gefece
  MIKRODENETLEYİCİLER için TRANSFORMATÖRSÜZ GÜÇ KAYNAĞI TASARIMI kamber 0 187 04-15-2008 06:35 PM
Son Mesaj: kamber
  PIC Kontrollü 6 Kademeli Güç Kaynağı kamber 0 157 04-15-2008 06:33 PM
Son Mesaj: kamber
  PicBasic Dersleri-2:Pic ile LCD Kontrolü kamber 0 321 04-15-2008 06:28 PM
Son Mesaj: kamber
  PicBasic Dersleri-1:Portların Giriş-Çıkış olarak ayarlanması kamber 0 198 04-15-2008 06:26 PM
Son Mesaj: kamber
  JAL ile pic mikrodenetleyici programlama kamber 1 108 04-15-2008 06:21 PM
Son Mesaj: kamber
  microBASIC kamber 0 84 04-15-2008 01:20 AM
Son Mesaj: kamber
  microC kamber 0 83 04-15-2008 01:20 AM
Son Mesaj: kamber
  microPASCAL kamber 0 91 04-15-2008 01:19 AM
Son Mesaj: kamber
  PICBasic PRO kamber 0 136 04-15-2008 01:18 AM
Son Mesaj: kamber
  Proton Development Suite kamber 0 137 04-15-2008 01:18 AM
Son Mesaj: kamber
  SwordFish Comppiler for PIC kamber 0 49 04-15-2008 01:17 AM
Son Mesaj: kamber
  WinPic Pic Programlama yazılımı kamber 0 153 04-15-2008 01:16 AM
Son Mesaj: kamber
  Mikrokontrolör ile şifreli kapı (tez) kamber 0 66 04-09-2008 10:14 PM
Son Mesaj: kamber
  Lojik denklemlerin sadeleştirilmesi kamber 0 62 04-09-2008 10:09 PM
Son Mesaj: kamber
  Lojik kapılar kamber 0 61 04-09-2008 08:11 PM
Son Mesaj: kamber
  PIC nedir? pic ne işe yarar kamber 0 158 04-09-2008 08:00 PM
Son Mesaj: kamber
  Pic İle Mesafe ÖlÇÜcÜ kamber 0 70 04-09-2008 07:51 PM
Son Mesaj: kamber
  Pic !6f84 ile şifreli kilit kamber 0 125 04-09-2008 07:44 PM
Son Mesaj: kamber
  pıc pro yazılı örnek 1 kamber 1 97 04-08-2008 03:35 PM
Son Mesaj: Hamit YAY
  MATLAB dört bölüm de öğreniyoruz kamber 0 127 04-04-2008 12:12 AM
Son Mesaj: kamber
  CATIA Bilmeyen Kalmasın (Video ve Notlardan Oluşan Kaynak) kamber 0 42 04-04-2008 12:07 AM
Son Mesaj: kamber
  Matlab 7'ye Giriş Görsel Anlatım (Ses+Görüntü :) ) kamber 0 171 04-03-2008 11:46 PM
Son Mesaj: kamber
  Programı mpasm ile derleme, ic prog ile pic entegresine atma kamber 0 110 04-03-2008 11:45 PM
Son Mesaj: kamber
  ACS800 Türkçe Kullanım Klavuzu kamber 0 36 04-03-2008 11:43 PM
Son Mesaj: kamber
  Matlab kullanma kılavuzu (Türkçe) kamber 0 185 04-03-2008 11:41 PM
Son Mesaj: kamber
  Simulink sinüsoidal R-L devresi modeli kamber 0 180 04-03-2008 11:38 PM
Son Mesaj: kamber
  powerworld ile ilgili bazi döküman ve kullanma klavuzları kamber 0 60 04-03-2008 10:24 PM
Son Mesaj: kamber
  PIC Programlama, Mpasm ve IcProg kullanımı, Adım adım ekran kamber 0 136 04-03-2008 10:22 PM
Son Mesaj: kamber
  matlab semineri - işaret işleme - görüntülü ve sesli kamber 0 82 04-03-2008 10:13 PM
Son Mesaj: kamber
  matlab semineri - görüntü işleme - görüntülü ve sesli kamber 0 104 04-03-2008 10:12 PM
Son Mesaj: kamber
  matlab semineri - simulinkle çok tabanlı sistem modelleme - kamber 0 89 04-03-2008 10:11 PM
Son Mesaj: kamber
  CCS C ile Microchip PIC programlama kılavuzu - türkçe kamber 0 151 04-03-2008 10:08 PM
Son Mesaj: kamber
  Matlab ve Simulink seminer slaytı kamber 0 191 04-03-2008 10:03 PM
Son Mesaj: kamber
  Mplab V7.6 Kullanım Kılavuzu kamber 0 245 04-03-2008 09:52 PM
Son Mesaj: kamber
  PIC16F877 İLE DATA BUS (VERİ YOLU) UYGULAMASI kamber 0 191 03-01-2008 12:06 AM
Son Mesaj: kamber
  PIC DONANIM VE YAZILIM TASARIMI (Assembler Temelli) kamber 0 129 02-08-2008 08:39 PM
Son Mesaj: kamber
  PIC 16F84 Kullanılarak Yapılan Trafik Işığı Simulasyonu kamber 0 135 02-08-2008 08:38 PM
Son Mesaj: kamber

Yazdırılabilir Bir Versiyona Bak
Bu Konuyu Bir Arkadaşına Gönder
Bu konuya abone ol |
 
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

Foruma Git: