mikroc Dili ile Mikrodenetleyici Programlama Ders Notları

Benzer belgeler
OPERATÖRLER Alıştırmalar

Nesne Yönelimli Programlama

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Mantıksal (Logic) Operatörler

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

Programlama Dilleri 3

Degişken Tanımlama Ve Operatörler

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Java da İşleçler, Ders #3 (4 Kasım 2009)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

Bölüm 7. İfadeler ve atamalar ISBN

C++ Operatörler (Operators)

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

ÜNİTE İÇİNDEKİLER. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA HEDEFLER OPERATÖRLER

Operatörler. 6.1 Operatör Nedir?

1 JAVASCRIPT NEDİR? 1

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

BLM1011 Bilgisayar Bilimlerine Giriş I

BBS 514 YAPISAL PROGRAMLAMA (STRUCTURED PROGRAMMING)

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

2.3- OPERATÖRLER ÇALIŞMA YAPRAĞI

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

İŞLEVLER ve İŞLEÇLER. İstanbul Üniversitesi Elektrik Elektronik Mühendisliği. Kaynak: C ve Sistem Programcıları Derneği Kurs notu

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Java da Program Denetimi ve Operatörler

C PROGRAMLAMA DİLİNE GİRİŞ

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

BM-311 Bilgisayar Mimarisi

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Linux Assembly Programlamaya Giriş

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

PROGRAMLAMAYA GİRİŞ DERS 2

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

İnternet Programcılığı Dersi 2.Dönem Ders Notu

PASCAL PROGRAMLAMA DİLİ YAPISI

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Program Akış Kontrol Yapıları

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

MTM 305 MĠKROĠġLEMCĠLER

Nesne Tabanlı Programlama

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

SAYI SİSTEMLERİ ve BOOLE CEBİRİ 1+1=1 ÖĞR.GÖR. GÜNAY TEMÜR - TEKNOLOJİ F. / BİLGİSAYAR MÜH.

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

AND Komutu. and hedef, kaynak

SAYI SİSTEMLERİ. 1. Sayı Sistemleri. Sayı Sistemlerinde Rakamlar

Bölüm 2 - C ile Programlamaya Giriş

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

7.1- Operatörler ve Giriş-Çıkış İşlemleri. M.İLKUÇAR - 1

BÖLÜM 3 OPERAT A ÖRLER

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar

Adım Adım C-II. Eksik kalmış konular

Genel Programlama II

Algoritma ve Programlamaya Giriş

JAVASCRIPT JAVASCRIPT DİLİ

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

Yrd. Doç. Dr. Caner ÖZCAN

Göstericiler (Pointers)

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

1 PROGRAMLAMAYA GİRİŞ

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Donanım İÇERİK. Bölüm 1:FATEK FBs PLC Serisine Genel Bakış. Bölüm 2:Sistem Mimarisi

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Koşullu Önermeler (if else)

Bölüm 10: PHP ile Veritabanı Uygulamaları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİL1001 Bilgisayar Bilimlerine Giriş 1

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Otomatik Kontrol (Doğrusal sistemlerde Kararlılık Kriterleri) - Ders sorumlusu: Doç.Dr.HilmiKuşçu

Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK

Nesne Yönelimli Programlama

Bölüm 10 - Yapılar, Birlikler, Bit İşleme ve Sayma Sabitleri (Enumarations)

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

1. Bölüm Sayı Sistemleri

ALGORİTMA VE PROGRAMLAMA I

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

YZM 2105 Nesneye Yönelik Programlama

Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma

MATLAB Temelleri. EE-346 Hafta 2 Dr. Ayşe DEMİRHAN

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Transkript:

4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi tarafından desteklenen operatörler: Arithmetic Operators Assignment Operators Bitwise Operators Logical Operators Reference/Indirect Operators Relational Operators Structure Member Selectors Comma Operator, Conditional Operator? : Array subscript operator [] Function call operator () sizeof Operator Preprocessor Operators # and ## Operators Precedence and Associativity There are 15 precedence categories, some of them contain only one operator. Operators in the same category have equal precedence. If duplicates of operators appear in the table, the first occurrence is unary and the second binary. Each category has an associativity rule: left-to-right ( ), or right-to-left ( ). In the absence of parentheses, these rules resolve a grouping of expressions with operators of equal precedence. Operatörler yapılarına göre üç gruba ayrılır: Unary Operatörler (1 operand gerektirir) Binary Operatörler (2 operand gerektirir) Tenary Operatörler (3 operand gerektirir) Operatör Açıklama Örnek Kullanım Unary 1 operand gerektirir ++a Binary 2 operand gerektirir a+b Tenary 3 operand gerektirir buyuk = (a>b)? a : b -16-

Operatör Öncelikleri Öncelik No Operatör Operand Sayısı Öncelik Yönü 1 () []. -> 2 2! ~ ++ -- + - * & (type) sizeof 1 3 * / % 2 4 + - 2 5 << >> 2 6 < <= > >= 2 7 ==!= 2 8 & 2 9 ^ 2 10 2 11 && 2 12 2 13?: 3 14 = *= /= %= += -= &= ^= = <<= >>= 2 15, 2 4.1. Aritmetik Operatörler Operatör Açıklama Öncelik Örnek Binary Operatörler + Toplama 12 c = a + b - Çıkarma 12 c = a - b * Çarpma 13 c = a * b / Bölme 13 c = a / b % Mod Bölme 13 c = a % b Unary Operatörler + Pozitif İşaret 14 c = + a - Negatif İşaret 14 c = - a ++ Artırma 14 c = ++a -- Azaltma 14 c = --a -17-

Uygulama: Aşağıdaki program işletildiğinde değişkenlerin alacağı son değer ne olur? a=5; b=10; c = ++a + b++; a=? b=? c=? Unary Operatör kullanımında; Unary operatör eğer solda ise; önce unary operatör işletilir elde edilen sonuç ifadede kullanılır ve ifade sonucu soldaki değişkene aktarılır. Unary operatör eğer sağda ise; önce unary operatör işletilmeden operand değeri ifadede kullanılır ve ifade sonucu soldaki değişkene aktarılır. Soldaki değişkene aktarımdan sonra, ilgili unary operatör işletilir. Bu durumda sonuçlar şu şekilde bulunur: a=6 b=11 c=16 Uygulama: Aşağıda sembolik bellek üzerinde x, y ve z değişkenleri verilmektedir. Bu değişkenlerin ilgili program satırları işletildikten sonraki alacakları son değerleri sembolik bellek üzerinde gösteriniz. Komut Satırları x = 5; y = ++x; x = y--; z = x % y; x = z-- - --y; Sembolik Bellek x y z??? Uygulama: Aşağıda sembolik bellek üzerinde x, y ve z değişkenleri verilmektedir. Bu değişkenlerin ilgili program satırları işletildikten sonraki alacakları son değerleri sembolik bellek üzerinde gösteriniz. Komut Satırları Sembolik Bellek int x, y, z; x y z??? x = 3; 3?? y = ++x + x++;??? z = x * y / 3 % y + 5;??? -18-

Uygulama: Aşağıda sembolik bellek üzerinde x, y ve z değişkenleri verilmektedir. Bu değişkenlerin ilgili program satırları işletildikten sonraki alacakları son değerleri sembolik bellek üzerinde gösteriniz. Komut Satırları Sembolik Bellek int x, y, z; x y z??? x = 3; 3?? y = x++ + ++x; 5 8? z = x * y / 3 % y + 5; 5 8 10 Notlar: ++ ve -- unary operatörlerde öncelik sırası sağdan sola doğrudur. (y = x++ + ++x;) işleminde, ++x işlem sonucunda elde edilen değer, soldaki x++ için başlangıç değeri kabul edilir. 4.2. Karşılaştırma Operatörleri Operatör Açıklama Örnek == Eşit a==b!= Eşit Değil a!=b > Büyük a>b < Küçük a<b >= Büyük Eşit a>=b <= Küçük Eşit a<=b 4.3. Mantıksal Operatörler Operatör Açıklama Örnek! NOT!(a==1) && AND (a==1) && (b<5) OR (a==1) (b<5) -19-

Doğruluk Tabloları DOĞRULUK TABLOLARI A B! A! B A && B A B false false true true false false false true true false false true true false false true false true true true false false true true 4.4. Bitsel (Bitwise) Operatörler Operatör Açıklama Örnek & And 0x02 (0x12 & 0x0F) Or 0x1F (0x12 0x0F) ^ Exor 0x1D (0x12 ^ 0x0F) ~ Invert 0xF0 (~ 0x0F) << Shift Left 0x1E ( 0x0F << 1) >> Shift Right 0x07 ( 0x0F >> 1) 0x01 ( 0x0F >> 3) Uygulama: Aşağıdaki ifadenin sonucu nedir? F = 0xA9 & ( 0xD6 0b01010101 ) + 0x05 Çözüm : Not : Operatörlerin öncelik sırasına göre aşağıdaki gibi işletim gerçekleşir : 1. Öncelikle Parantez içi (bitwise operatörü ) 2. + 3. bitwise & operatörü F = 0xA9 & ( 0xD6 0b01010101 ) + 0x05 F = 0xA9 & ( 0xD6 0b01010101 ) + 0x05 1.Adım F = 0xA9 & ( 11010111 ) + 0x05 F = 0xA9 & 11010111 + 0x05 2.Adım F = 0xA9 & 1101110 F = 0xA9 & 1101110 3.Adım F = 10001000-20-

Uygulama: Aşağıdaki kodların işletimi sonucunda b nin son değeri ne olur? short a, b; a = 0x81; b = a >> 1; Sign Bit B7 B6 B5 B4 B3 B2 B1 B0 Hex a 1 0 0 0 0 0 0 1 0x81 b 1 1 0 0 0 0 0 0 0xC0 Not: İşaretli tip değişkenlerde sağa kaydırma (>>) işlemlerinde, B7 den B6 ya Sign Bit aktarılır. Sola kaydırma işlemlerinde ise, normal kaydırma işlemleri yürütülür (Sola kaydırmada Overflow meydana gelebilir.) Uygulama: Aşağıdaki kodların işletimi sonucunda b nin son değeri ne olur? short a, b; a = 0xA5; b = a << 1; Sign Bit B7 B6 B5 B4 B3 B2 B1 B0 Hex a 1 0 1 0 0 1 0 1 0xA5 b 0 1 0 0 1 0 1 0 0x4A Uygulama: Aşağıdaki kodların işletimi sonucunda b nin son değeri ne olur? short a, b; a = 0x75; b = a << 1; Sign Bit B7 B6 B5 B4 B3 B2 B1 B0 Hex a 0 1 1 1 0 1 0 1 0x75 b 1 1 1 0 1 0 1 0 0xEA -21-

Örnek: ^ Ex-Or Exclusive-Or ( Özel Veya) Girişler birbirinden farklı ise sonuç 1, girişler birbirinin aynı ise so nuç 0 olarak elde edilir. x 0 0 1 1 0 1 1 0 y 1 0 0 0 1 1 0 0 x^y 1 0 1 1 1 0 1 0 4.5. Atama Operatörleri 4.5.1. Basit Atama Operatörü Atama operatörü, ifade_2 sonucunun ifade_1 ile temsil edilen değişkene aktarılmasını sağlar. Genel Format ifade_1 = ifade_2; Örnek Kullanımlar a = b; a = 10; 4.5.2. Bileşik Atama Operatörü Genel Format ifade_1 op = ifade_2; Bileşik Atama Operatörleri Atama Açıklama Örnek Operatörü Gösterim Karşılığı += Topla Ata x += 5; x = x + 5; -= Çıkart Ata x -= 5; x = x - 5; *= Çarp Ata x *= 5; x = x * 5; /= Böl Ata x /= 5; x = x / 5; %= Mod Ata x %= 5; x = x % 5; &= Bitsel And Ata x &= 5; x = x & 5; = Bitsel Or Ata x = 5; x = x 5; ^= Bitsel ExOr Ata x ^= 5; x = x ^ 5; <<= Bitsel Sola Shift Ata x <<= 5; x = x << 5; >>= Bitsel Sağa Shift Ata x >>= 5; x = x >> 5; -22-

Örnek: PORTA'nın PA1 bit değeri 1 ise PortC'nin PC0 bitinin SET edilmesi, değilse RESET edilmesi için gerekli MikroC kodunu yazınız. -23-

Örnek: PORTA'nın PA0 ve PA1 bit değerleri 1 ise PortC'nin PC0 bitinin SET edilmesi, değilse RESET edilmesi için MikroC kodunu yazınız. Örnek: 8 bit işaretli/işaretsiz bir sayının LSB 4 bitinin elde edilmesi Sayımız 0x85 olsun. MSB LSB 1 0 0 0 0 1 0 1 0x85 133 & 0 0 0 0 1 1 1 1 0x0F 15 Maskeleme 0 0 0 0 0 1 0 1 0x05 5-24-

Sayımız signed X olarak tanımlı iken X = 0xEC olduğunda ise; Hex Dec 1 1 1 0 1 1 0 0 0xEC -20 & (Bitwise And) 0 0 0 0 1 1 1 1 0x0F 15 0 0 0 0 1 1 0 0 0x0C 12 Örnek : Tek bitin sonsuz çevrimde sola ve sağa kaydırılması. B7 B6 B5 B4 B3 B2 B1 B0 Hex 0 0 0 0 0 0 0 1 0x01 0 0 0 0 0 0 1 0 0x02 0 0 0 0 0 1 0 0 0x04 0 0 0 0 1 0 0 0 0x08 0 0 0 1 0 0 0 0 0x10 0 0 1 0 0 0 0 0 0x20 0 1 0 0 0 0 0 0 0x40 1 0 0 0 0 0 0 0 0x80 0 1 0 0 0 0 0 0 0x40 0 0 1 0 0 0 0 0 0x20 0 0 0 1 0 0 0 0 0x10 0 0 0 0 1 0 0 0 0x08 0 0 0 0 0 1 0 0 0x04 0 0 0 0 0 0 1 0 0x02 0 0 0 0 0 0 0 1 0x01 0 0 0 0 0 0 1 0 0x02-25-

-26-