Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

DERS 7 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 2İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz.

Benzer bir sunumlar


... konulu sunumlar: "DERS 7 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 2İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz."— Sunum transkripti:

1 DERS 7 PIC 16F84 PROGRAMLAMA

2 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 2İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

3 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 3 RAM bellekte 0x0C ve 0x0D hücrelerinde tutulan iki 8-bit sayının toplamını hesaplayıp sonucu 0x0E hücresine kaydeden PIC16F84 işlemcisi assembler programını hazırlayalım: ??????????? PROGRAM 1

4 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 4 RAM bellekte 0x0C ve 0x0D hücrelerinde tutulan iki 8-bit sayının toplamını hesaplayıp sonucu 0x0E hücresine kaydeden PIC16F84 işlemcisi assembler programını hazırlayalım: ??????? PROGRAM 2

5 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 5 PIC16F84 işlemcisinin A portunun farklı bitlerini GİRİŞ veya ÇIKIŞ olarak programlayalım: BSFSTATUS, 5 MOVLWb’ ’ MOVWFTRISA PROGRAM 3

6 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 6 PIC16F84 işlemcisinin GİRİŞ olarak programlanmış A portundan bilgi okuyup W register’ına yazalım: BSFSTATUS, 5 MOVLWb’ ’ MOVWFTRISA BCFSTATUS, 5 MOVFPORTA, W PROGRAM 4

7 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 7 PIC16F84 işlemcisinin ÇIKIŞ olarak programlanmış B portuna W register’ında tutulan bilgiyi yazalım: BSFSTATUS, 5BSFSTATUS, 5 MOVLWb’ ’CLRF TRISB MOVWFTRISB  BCFSTATUS, 5BCFSTATUS, 5 MOWFPORTBMOWFPORTB PROGRAM 5

8 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 8 PIC16F84 işlemcisinin A portundan okunan bilgiyi B portuna gönderelim. PROGRAM 6

9 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 9 CLRF PORTB BSFSTATUS, 5 CLRFTRISB MOVLWb’ ’ MOVWFTRISA BCFSTATUS, 5 MOVFPORTA, 0 MOVWF PORTB PROGRAM 6

10 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 10 Assembly programlarımızın işlem kapasitesini arttıralım: Yeni komutlar KOMUTLAR

11 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 11 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

12 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 12 Dersin bu bölümünde III. Diğer İşlem Komutlarının neler olduklarına bakalım… KOMUTLAR

13 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 13 KOMUTLAR (dallanma) GOTO :Program akışında bir etiket ile belirlenen komut satırına dallanma. komut N GOTO SICRA komut M-1 SICRA komut M komut M+1 komut N GOTO SICRA komut M-1 SICRA komut M komut M+1

14 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 14 Program akışı bir etiket ile belirlenen bir komut satırına dallanır. KOMUTLAR (dallanma) GOTO k :programın işletilecek sıradaki komutu k etiketi ile işaretlenmiş komut satırı olarak yürütülür.

15 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 15 KOMUTLAR (dallanma) CALL: Program akışı bir etiket ile belirlenen bir alt_programa dallanır. komut N CALL alt_prog komut M-1 alt_prog komut M komut M+1 komut N CALL alt_prog komut M-1 alt_prog komut M komut M+1

16 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 16 Program akışı bir etiket ile belirlenen bir alt_programa dallanır. KOMUTLAR (dallanma) CALL k :programın sıradaki komutu k etiketi ile işaretlenmiş alt_program’ın başlangıç satırından itibaren yürütülür. CALL komutun GOTO komutundan farkı, dallanılan alt programdan ana programa geri dönmenin de mümkün olabilmesidir. Yani GOTO ile sadece bir başka program bölümüne dallanılırken CALL ile geri dönülmek üzere yine bir başka program bölümüne dallanılır.

17 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 17 KOMUTLAR (dallanma) RETURN: Alt_programın işletilmesi sona erdiğinde ana programda sıçramanın yapıldığı komut (CALL) sonrasına geri dönülür. CALL alt_prog komut M alt_prog komut N RETURN komut K CALL alt_prog komut M RETURN komut K alt_prog komut N

18 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 18 Alt_programın işletilmesi sona erdiğinde ana programda sıçramanın yapıldığı komut (CALL) sonrasına geri dönülür. KOMUTLAR (dallanma) RETURN : Alt programın işletilmesi sona erdiğinde CALL komutunun olduğu satır sonrasına geri dönmeyi mümkün kılar. Dolayısıyla CALL komutu ile kullanılır.

19 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 19 RETLW: Alt_programın işletilmesi sona erdiğinde yine ana programda sıçramanın yapıldığı komut (CALL) sonrasına geri dönülür. Ancak bu işlem yapılırken istenilen bir sabit değer W akümülatörü vasıtasıyla ana programa geri taşınır. KOMUTLAR (dallanma) RETLW k : k sabit değeri W akümülatörüne aktarılarak ana programa geri taşınır.

20 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 20 RETFIE: Interrupt alt_programı sona erdirilerek ana programa geri dönülür. KOMUTLAR (dallanma) RETFIE : Interrupt programını sona erdirip, ana programa kalınan yerden devam edilir.

21 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 21 PIC16F84 işlemcisi ile sonsuz döngü oluşturalım: DONGU GOTO DONGU PROGRAM 7

22 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 22 Program 6 ve Program 7’ yi birleştirelim: PIC16F84 işlemcisinin A portundan okunan bilgiyi B portuna gönderelim ve program sonunda işlemcinin duraklatma komutu olmadığı için bu işlevi yerine getirecek bir sonsuz döngü ekleyelim. PROGRAM 8

23 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 23 CLRF PORTB BSFSTATUS, 5 CLRFTRISB MOVLWb’ ’ MOVWFTRISA BCFSTATUS, 5 MOVFPORTA, W MOVWF PORTB DONGU GOTO DONGU END PROGRAM 8

24 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 24 Bu program çalıştırıldığında A portundan okunan bilgiyi B portuna gönderilir. Ancak bu işlem yinelenmek istenirse işlemcinin resetlenmesi gerekir. Peki işlemcinin RESETLEMESİNE GEREK KALMAKSIZIN aynı işlem nasıl yapılır? PROGRAM 9

25 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 25 PROGRAM 9 CLRF PORTB BSFSTATUS, 5 CLRFTRISB MOVLWb’ ’ MOVWFTRISA BCFSTATUS, 5 MOVFPORTA, W MOVWF PORTB ?????????

26 Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 26 Program 9 ile kullanılabilecek deneme devresi, Mikrodenetleyiciler ve PIC Prog., sayfa 77

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


"DERS 7 PIC 16F84 PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 7, Slayt 2İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz." indir ppt

Benzer bir sunumlar


Google Reklamları