DERS 6 PIC 16F84 PROGRAMLAMA.

Slides:



Advertisements
Benzer bir sunumlar
8. SINIF 3. ÜNİTE BİLGİ YARIŞMASI
Advertisements

Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
DERS 10 PIC 16F84 ile ZAMAN GECİKME DÖNGÜLERİ
Bölüm 4 Seçme Komutları Koşul İfadesi if Komutu Bileşik Komut
NOKTA, DOĞRU, DOĞRU PARÇASI, IŞIN, DÜZLEMDEKİ DOĞRULAR
DERS 7 PIC 16F84 PROGRAMLAMA.
ÜNİTE DEĞERLENDİRMESİ 1.Sınıf Türkçe
Prof. Dr. Eşref ADALI Yrd. Doç. Dr. Şule Gündüz Öğüdücü SürümA
PIC Mikrodenetleyiciler
Atama ve Girdi/Çıktı Komutları
4 Kare Problemi 4 Kare Problemi Hazır mısın? B A Bu şekle iyi bak
Birinci Dereceden Denklemler
DERS 2 SAYI DÜZENLERİ.
PIC MIKRODENETLEYICILER-3: GECİKME ve KESME PROGRAMLARI
Yarbaşı İlköğretim Yarbaşı İlköğretim.
ORHAN EREN İLKOKULU 1-A.
Örnek Bİr VerİtabanI TasarImI
ZAMBAK 1 SORU BANKASI UĞUR CESUR 1 ZAMBAK 1 SORU BANKASI ÖZEL SORULARI Hazırlayan: UĞUR CESUR.
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
Matematik 2 Örüntü Alıştırmaları.
MikroC ile PIC Programlama
DERS 6 PIC 16F84 PROGRAMLAMA.
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
PROGRAMLAMA VE ASSEMBLY DİLİ
Mitat Zorlu 1 Adı ve Soyadı: ……….……………………………. 2 Nisan 2009 Çarşamba Matematik Sana göre 12’nin solundaki sayıdan 18’in solundaki sayıyı çıkarırsak.
TEST – 1.
DERS 8 PIC 16F84 PROGRAMLAMA.
PROGRAMLAMA VE ASSEMBLY DİLİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
TOPLAMA İŞLEMİNDE VERİLMEYEN TOPLANANI BULMA.
HABTEKUS' HABTEKUS'08 3.
Mikroişlemciler ve Mikrobilgisayarlar
8 ? E K S İ L E N EKSİLEN _ 5 5 ÇIKAN FARK(KALAN) 8.
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ
Üsküdar Halk Eğitim Merkezi Eczane Çalışanlarının Eğitimi Bilgisayar Dersi Ayşenur Buyruk
DERS 10 PIC 16F84 ile ZAMAN GECİKME DÖNGÜLERİ
DERS 5 PIC 16F84 PROGRAMLAMA.
DERS 14 PIC 16F84 ile EEPROM VERİ BELLEĞİ KULLANIMI.
Soru 4.6 Bir sayısal bilgisayar sisteminde seçicilerle oluşturulmuş 32 bitlik 16 yazaçlı veri yolu sistemi var. Her seçici için kaç seçim girişi kullanılır?
SAYI DOĞRUSUNDA GÖSTERİMİ
DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI
DERS 9 PIC 16F84 PROGRAMLAMA.
TAM SAYILARDA TOPLAMA VE ÇIKARMA
Toplama Yapalım Hikmet Sırma 1-A sınıfı.
Temel Komutlarla PLC Programlama
İnternet Programlama - 2
Atatürk Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi Atatürk Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi.
ANALOG-SAYISAL BÜYÜKLÜK VE SAYI SİSTEMLERİ
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
Komut Türleri  8051’de de kullanılan komutlar 8-bit opkoda sahiptir.  8-bit opkod 2 8 =256 farklı komuta imkan tanır ve 8051’de toplam 255 komut tanımlıdır.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
Mikroişlemciler ve Mikrodenetleyiciler: PIC Programlama
DERS 5 PIC 16F84 PROGRAMLAMA.
DERS 2 SAYI DÜZENLERİ.
PIC 16F84 ile ALT PROGRAMLARIN ve ÇEVRİM TABLOLARININ KULLANIMI
DERS 9 PIC 16F84 PROGRAMLAMA.
DERS 10 PIC 16F84 ile ZAMAN GECİKME DÖNGÜLERİ
DERS 6 PIC 16F84 PROGRAMLAMA.
ELT205 MİKRODENETLEYİCİLER DERSİ
Bilgisayar Donanım ve Sistem Yazılımı
Mikroişlemciler Giriş.
DERS 12 PIC 16F84 ile KESME (INTERRUPT) KULLANIMI
Algoritmanın Hazırlanması
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
DERS 13 PIC 16F84 ile DONANIM SAYICI KULLANIMI
DERS 14 PIC 16F84 ile EEPROM VERİ BELLEĞİ KULLANIMI
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

DERS 6 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

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

KOMUTLAR Dersin bu bölümünde I. Aritmetik Atama ve İşlem Komutların ne şekilde kullanıldıklarını sırayla inceleyelim…

KOMUTLAR (yükleme işlemi) Değişken (register) değerini belirleme (= işlemi) 0x00 MOVWF W MOVLW sabit 0x4E MOVF 0x4F

KOMUTLAR (yükleme işlemi) Değişken (register) değerini belirleme (= işlemi) MOVLW k : k W MOVWF f : W  f MOVF f , d : f  d veya d=0 ise f  W d=1 ise f  f

KOMUTLAR (aritmetik işlem) Toplama, Çıkarma 0x00 W sabit ADDLW, SUBLW sabit ile W topla/çıkar Sonucu W akü.’ne gönder 0x4E ADDWF, SUBWF Register ile W topla/çıkar Sonucu herhangi birisine gönder 0x4F

KOMUTLAR (aritmetik işlem) Toplama, Çıkarma ADDLW k : k + W  W SUBLW k : k – W  W ADDWF f , d : f + W  d veya d=0 ise f + W W d=1 ise f + W  f SUBWF f , d : f – W  d veya d=0 ise f - W W d=1 ise f - W  f

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)

KOMUTLAR (mantıksal işlem) AND, OR, XOR 0x00 ANDLW IORLW XORLW sabit ve W için and, or, xor hesapla Sonucu W akü.’ne gönder W sabit 0x4E ANDWF, IORWF, XORWF Register ile W and, or, xor hesapla Sonucu herhangi birisine gönder 0x4F

KOMUTLAR (mantıksal işlem) AND, OR, XOR 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 veya d=0 ise f and W W d=1 ise f and W  f IORWF f , d : f or W  d veya d=0 ise f or W W d=1 ise f or W  f XORWF f , d : f xor W  d veya d=0 ise f xor W W d=1 ise f xor W  f

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.

KOMUTLAR (içerik değiştirme işlemi) Değişken içeriğini temizle, arttır, azalt, eşlenik al 0x00 CLRW W  00000000 W 0x4E CLRF: register  00000000 COMF: register  register DECF: register  register-1 INCF: register  register+1 0x4F

KOMUTLAR (içerik değiştirme işlemi) Değişken içeriğini temizle, arttır, azalt, eşlenik al CLRW : 00000000  W CLRF f : 00000000  f COMF f , d : f  d veya d=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

KOMUTLAR (bit işlemleri) Register’ın herhangi bitini 0 veya 1 yap 0x00 0x4E BCF: register istenilen bit0 BSF: register istenilen bit1 0x4F

KOMUTLAR (bit işlemleri) Register’ın herhangi bitini 0 veya 1 yap BCF f , b : (f ’ nin b. biti)  0 BSF f , b : (f ’ nin b. biti)  1

KOMUTLAR (bit işlemleri) Register ve carry bitlerini (toplam 8+1) sanki bir çember üzerinde sıralılarmışçasına sağa/sola döndür 0x00 MSB LSB Carry y a ş a s ı n F B B y a ş a s ı n F  RRF: file register’ın 8 biti ve carry biti bir çember üzerindeler gibi SAĞA döndürülür MSB LSB Carry 0x4E y a ş a s ı n F B a ş a s ı n F B y  0x4F RLF: file register’ın 8 biti ve carry biti bir çember üzerindeler gibi SOLA döndürülür

KOMUTLAR (bit işlemleri) Register ve carry bitlerini (toplam 8+1) sanki bir çember üzerinde sıralılarmışçasına sağa/sola döndür 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

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) .

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?

KOMUTLAR (bit işlemleri) Register içerisindeki ilk 4 bit ile son 4 bit yer değiştirilir. 0x00 MSB LSB MSB LSB a b c d e f g h e f g h a b c d  SWAPF: file register’ın ilk ve son 4 biti (nibble) yer değiştirilir. 0x4E 0x4F

KOMUTLAR (bit işlemleri) Register içerisindeki ilk 4 bit ile son 4 bit yer değiştirilir. 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

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