DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü



Benzer belgeler
İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

B.Ç. / E.B. MİKROİŞLEMCİLER

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

KONFİGÜRASYON BİTLERİ

LCD (Liquid Crystal Display )

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

LCD (Liquid Crystal Display)

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

Hacettepe Robot Topluluğu

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI İÇERİK

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB= BCF STATUS,5 ;bank0 a geçiş

PIC TABANLI, 4 BASAMAKLI VE SER

PIC16F877A nın Genel Özellikleri

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

MİKRO DENETLEYİCİLER 1 DERS NOTLARI (Final) Prof. Dr. Hakan Ündil Güz

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

PIC Mikrodenetleyicileri

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil Bahar-Final

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

MİKROİŞLEMCİ (Microprocessor) NEDİR?

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü

DERS 11 PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI İÇERİK. Alt Program Çevrim Tabloları Program Sayıcı ( Program Counter PC )

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

KESME (INTERRUPT) NEDİR?

Hacettepe Robot Topluluğu

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

PROGRAMLANABİLİR ZAMANLAYICI

8 Ledli Havada Kayan Yazı

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

DERS 4 MİKROİŞLEMCİ PROGRAMLAMA İÇERİK

Komutların İşlem Süresi

DEVRELENDİRİLMİŞ LOJİK

EEM 419-Mikroişlemciler Güz 2017

MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil Güz (Vize sonuna kadar olan kısımdır.)

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR?

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

Bank değiştirme Bir banktan diğerine geçmek için STATUS register denilen özel registerin 5. ve 6. bitinin durumunu değiştirmek gerekir.

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

MİKRODENETLEYİCİLER I DERS NOTLARI Güz-Final. 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

EEM 419-Mikroişlemciler Güz 2016

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ

ONDOKUZ MAYIS ÜNİVERSİTESİ

BİLİŞİM TEKNOLOJİLERİ

Hacettepe Robot Topluluğu

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

Bu dersimizde pic pinlerinin nasıl input yani giriş olarak ayarlandığını ve bu işlemin nerelerde kullanıldığını öğreneceğiz.

T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

5.Eğitim E205. PIC16F628 ve PIC16F877 Hakkında Genel Bilgi IF THEN ELSE ENDIF HIGH-LOW GOTO-END- PAUSE Komutları Tanıtımı ve Kullanımı PIC16F628:

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Mikroislemci Kontrollu Prototip Trafik Lambalari ve Geri Sayici

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

Microprocessors and Programming

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

PIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN TELEFONLA UZAKTAN KONTROLÜ

Mikro denetleyicili Uygulama devresi bileşenleri

ADC: Anolog-Digital Çevirici

Hacettepe Robot Topluluğu

ÖĞRENME FAALİYETİ-1 1. MİKRODENETLEYİCİ PROGRAMI YAZMA

PİC HAKKINDA KISA KISA BİLGİLER GİRİŞ/ÇIKIŞ PORTLARI

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI İÇERİK KESME

PİC BASİC PROFESSİONAL

Birol Çapa Özen Özkaya Güz Dönemi Eğitimleri

KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

Transkript:

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü Ders 7, Slayt 2 1

PROGRAM 1 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:??????????? Ders 7, Slayt 3 PROGRAM 2 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:??????? Ders 7, Slayt 4 2

PROGRAM 3 PIC16F84 işlemcisinin A portunun farklı bitlerini GİRİŞ veya ÇIKIŞ olarak programlayalım: BSF STATUS, 5 MOVLW MOVWF b 00111100 TRISA Ders 7, Slayt 5 PROGRAM 4 PIC16F84 işlemcisinin GİRİŞ olarak programlanmış A portundan bilgi okuyup W register ına yazalım: BSF STATUS, 5 MOVLW b 11111111 MOVWF TRISA BCF STATUS, 5 MOVF PORTA, W Ders 7, Slayt 6 3

PROGRAM 5 PIC16F84 işlemcisinin ÇIKIŞ olarak programlanmış B portuna W register ında tutulan bilgiyi yazalım: BSF STATUS, 5 BSF STATUS, 5 MOVLW b 00000000 CLRF TRISB MOVWF TRISB BCF STATUS, 5 BCF STATUS, 5 MOWF PORTB MOWF PORTB Ders 7, Slayt 7 PROGRAM 6 PIC16F84 işlemcisinin A portundan okunan bilgiyi B portuna gönderelim. Ders 7, Slayt 8 4

PROGRAM 6 CLRF PORTB BSF STATUS, 5 CLRF TRISB MOVLW b 11111111 MOVWF TRISA BCF STATUS, 5 MOVF PORTA, 0 MOVWF PORTB Ders 7, Slayt 9 KOMUTLAR Assembly programlarımızın işlem kapasitesini arttıralım: Yeni komutlar Ders 7, Slayt 10 5

KOMUTLAR 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 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ı Ders 7, Slayt 11 KOMUTLAR Dersin bu bölümünde III. Diğer İşlem Komutlarının neler olduklarına bakalım Ders 7, Slayt 12 6

KOMUTLAR (dallanma) GOTO : Program akışında bir etiket ile belirlenen komut satırına dallanma. komut N komut N GOTO SICRA GOTO SICRA komut M-1 komut M-1 SICRA komut M SICRA komut M komut M+1 komut M+1 Ders 7, Slayt 13 KOMUTLAR (dallanma) Program akışı bir etiket ile belirlenen bir komut satırına dallanır. GOTO k : programın işletilecek sıradaki komutu k etiketi ile işaretlenmiş komut satırı olarak yürütülür. Ders 7, Slayt 14 7

KOMUTLAR (dallanma) CALL: Program akışı bir etiket ile belirlenen bir alt_programa dallanır. komut N komut N CALL alt_prog CALL alt_prog komut M-1 komut M-1 alt_prog komut M alt_prog komut M komut M+1 komut M+1 Ders 7, Slayt 15 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. Ders 7, Slayt 16 8

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 CALL alt_prog komut M komut M alt_prog komut N alt_prog komut N RETURN RETURN komut K komut K Ders 7, Slayt 17 KOMUTLAR (dallanma) Alt_programın işletilmesi sona erdiğinde ana programda sıçramanın yapıldığı komut (CALL) sonrasına geri dönülür. 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. kullanılır. Dolayısıyla CALL komutu ile Ders 7, Slayt 18 9

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. Ders 7, Slayt 19 KOMUTLAR (dallanma) RETFIE: Interrupt alt_programı sona erdirilerek ana programa geri dönülür. RETFIE : Interrupt programını sona erdirip, ana programa kalınan yerden devam edilir. Ders 7, Slayt 20 10

PIC16F84 işlemcisi ile sonsuz döngü oluşturalım: PROGRAM 7 DONGU GOTO DONGU Ders 7, Slayt 21 PROGRAM 8 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. Ders 7, Slayt 22 11

DONGU CLRF PROGRAM 8 PORTB BSF STATUS, 5 CLRF TRISB MOVLW b 11111111 MOVWF TRISA BCF STATUS, 5 MOVF PORTA, W MOVWF PORTB GOTO DONGU END Ders 7, Slayt 23 PROGRAM 9 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? Ders 7, Slayt 24 12

PROGRAM 9 CLRF PORTB BSF STATUS, 5 CLRF TRISB MOVLW b 11111111 MOVWF TRISA BCF STATUS, 5 MOVF PORTA, W MOVWF PORTB????????? Ders 7, Slayt 25 Program 9 ile kullanılabilecek deneme devresi, Mikrodenetleyiciler ve PIC Prog., sayfa 77 Ders 7, Slayt 26 13

DERS 7 MİKROİŞLEMCİ PROGRAMLAMA - SON - -Kaynak: -Mikrodenetleyiciler ve PIC Prog., Orhan ALTINBAŞAK, ISBN 975-883-409-6 14