Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

DERS 6 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 2İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı.

Benzer bir sunumlar


... konulu sunumlar: "DERS 6 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 2İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı."— Sunum transkripti:

1 DERS 6 PIC 16F84 PROGRAMLAMA

2 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 2İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

3 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 3 Programlamada iki önemli kavramdan bir diğeri ise verilerin işlenmesini sağlayan komutlardır. Bunlar sınıflandırılacak olursa; I. Aritmetik ve Atama işlem komutları a. Yükleme İşlemi: Değişken (register) değerini belirleme (=) b. Aritmetik İşlem: Toplama, Çıkarma c. Mantıksal İşlem: AND, OR, XOR d. İçerik Değiştirme İşlemi: Değişken değerini değiştirme içerik temizle, arttır, azalt, eşlenik al içerik temizle, arttır, azalt, eşlenik al e. Bit İşlemleri: Değişken bitini 0 veya 1 yap f. Kaydırma İşlemleri: Değişken bitlerini sağa veya sola kaydır II. Karar verme işlem komutları a. Koşullu Dallanma: Değişken sıfır–herhangi biti 0/1 ise dallan III. Diğer işlem komutları a. Program Akış Komutları: Dallanma b. Mikrodenetleyici Kontrol Komutları KOMUTLAR

4 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 4 Dersin bu bölümünde I. Aritmetik Atama ve İşlem Komutların ne şekilde kullanıldıklarını sırayla inceleyelim… KOMUTLAR

5 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 5 Değişken (register) değerini belirleme (= işlemi) KOMUTLAR (yükleme işlemi) 0x4F 0x00 W 0x4E MOVWF MOVF MOVLW sabit

6 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 6 Değişken (register) değerini belirleme (= işlemi) KOMUTLAR (yükleme işlemi) MOVLW k : k  W MOVWF f : W  f MOVF f, d : f  d veyad=0 ise f  W d=1 ise f  f

7 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 7 KOMUTLAR (aritmetik işlem) 0x4F 0x00 W 0x4E ADDWF, SUBWF Register ile W topla/çıkar Sonucu herhangi birisine gönder sabit ADDLW, SUBLW sabit ile W topla/çıkar Sonucu W akü.’ne gönder Toplama, Çıkarma

8 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 8 KOMUTLAR (aritmetik işlem) ADDLW k : k + W  W SUBLW k : k – W  W ADDWF f, d : f + W  d veyad=0 ise f + W  W d=1 ise f + W  f SUBWF f, d : f – W  d veyad=0 ise f - W  W d=1 ise f - W  f Toplama, Çıkarma

9 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 9 KOMUTLAR (aritmetik işlem) ÖRNEK: 0x0C ve 0x0D RAM bellek gözlerinde tutulan iki adet 1B sayıyı toplayan assembler programını hazırlayın. ALGORİTMA 1)X  W 2)Y+W  ? (bu neden önemli)

10 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 10 AND, OR, XOR KOMUTLAR (mantıksal işlem) 0x4F 0x00 W 0x4E ANDWF, IORWF, XORWF Register ile W and, or, xor hesapla Sonucu herhangi birisine gönder sabit ANDLW IORLW XORLW sabit ve W için and, or, xor hesapla Sonucu W akü.’ne gönder

11 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 11 AND, OR, XOR KOMUTLAR (mantıksal işlem) ANDLW k : W and k  W IORLW k : W or k  W XORLW k : W xor k  W ANDWF f, d :f and W  d veyad=0 ise f and W  W d=1 ise f and W  f IORWF f, d : f or W  d veyad=0 ise f or W  W d=1 ise f or W  f XORWF f, d : f xor W  d veyad=0 ise f xor W  W d=1 ise f xor W  f

12 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 12 KOMUTLAR (mantıksal işlem) ÖRNEK: 0x0C RAM bellek gözünde tutulan 1B sayıyının hex gösteriminde 1’ler basamağını hesaplayıp, 0x0D RAM bellek gözünde kaydeden assembler programını hazırlayın.

13 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 13 Değişken içeriğini temizle, arttır, azalt, eşlenik al KOMUTLAR (içerik değiştirme işlemi) 0x4F 0x00 W 0x4E CLRF: register  COMF: register  register DECF: register  register-1 INCF: register  register+1 CLRW W 

14 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 14 Değişken içeriğini temizle, arttır, azalt, eşlenik al KOMUTLAR (içerik değiştirme işlemi) CLRW :  W CLRF f :  f COMF f, d : f  d veyad=0 ise f  W d=1 ise f  f DECF f, d : (f) - 1  d veya d=0 ise (f) - 1  W d=1 ise (f) - 1  f INCF f, d : (f) + 1  d veya d=0 ise (f) + 1  W d=1 ise (f) + 1  f

15 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 15 Register’ın herhangi bitini 0 veya 1 yap KOMUTLAR (bit işlemleri) 0x4F 0x00 0x4E BCF: register istenilen bit  0 BSF: register istenilen bit  1

16 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 16 Register’ın herhangi bitini 0 veya 1 yap KOMUTLAR (bit işlemleri) BCF f, b : (f ’ nin b. biti)  0 BSF f, b : (f ’ nin b. biti)  1

17 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 17 Register ve carry bitlerini (toplam 8+1) sanki bir çember üzerinde sıralılarmışçasına sağa/sola döndür KOMUTLAR (bit işlemleri) 0x4F 0x00 0x4E yaşaBsınFByaşFasın yaşaBsınFaşasyınFB RRF: file register’ın 8 biti ve carry biti bir çember üzerindeler gibi SAĞA döndürülür MSB LSB Carry RLF: file register’ın 8 biti ve carry biti bir çember üzerindeler gibi SOLA döndürülür MSB LSB Carry  

18 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 18 Register ve carry bitlerini (toplam 8+1) sanki bir çember üzerinde sıralılarmışçasına sağa/sola döndür KOMUTLAR (bit işlemleri) RRF f, d : d=0 ise sağa döndür (f ’in 8 biti + carry)  W veya d=1 ise sağa döndür (f ’in 8 biti + carry)  f RLF f, d : d=0 ise sola döndür (carry + f ’in 8 biti)  W veya d=1 ise sola döndür (carry + f ’in 8 biti)  f

19 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 19 KOMUTLAR (bit işlemleri) ÖRNEK: 0x0C RAM bellek gözünde tutulan ve değeri 0-15 olan bir sayının 3 katını hesaplayan assembler programını hazırlayın. ALGORİTMA 1)X  W 2)X+W . 3).

20 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 20 KOMUTLAR (bit işlemleri) SORU: 3 yerine 8 kat hesaplayan program nasıl (ve daha kısa nasıl) gerçekleştirilir? Daha kısa gerçekleştirirken neye dikkat etmek gerekir?

21 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 21 Register içerisindeki ilk 4 bit ile son 4 bit yer değiştirilir. KOMUTLAR (bit işlemleri) 0x4F 0x00 0x4E abcdefghefghabcd SWAPF: file register’ın ilk ve son 4 biti (nibble) yer değiştirilir. MSB LSB 

22 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 22 KOMUTLAR (bit işlemleri) SWAPF f, d : d=0 ise f’in nibble parçaları yerdeğiştirilir  W veya d=1 ise f’in nibble parçaları yer değiştirilir  f Register içerisindeki ilk 4 bit ile son 4 bit yer değiştirilir.

23 DERS 6 MİKROİŞLEMCİ PROGRAMLAMA - SON - - Kaynak: - Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN


"DERS 6 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 6, Slayt 2İÇERİK PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı." indir ppt

Benzer bir sunumlar


Google Reklamları