BÖLÜM 2 2. PROGRAMLAMA MANTIĞI



Benzer belgeler
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.

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

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

BUTON KONTROLÜ. Pull-Down Bağlantı (Ters Bağlantı) Butona basılmadığında Giriş=1 Butona basıldığında Giriş=0

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Hacettepe Robot Topluluğu

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

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

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

Röle Ters röle Set rölesi Reset rölesi

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BİLGİSAYAR PROGRAMLAMA MATLAB

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

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

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

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.

EEM 419-Mikroişlemciler Güz 2017

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

TEMEL BİLGİSAYAR BİLİMLERİ

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

Haftalık Ders Saati Okul Eğitimi Süresi

UniGSM Arduino SHIELD (UniGSM-A) KURULUM ve KULLANIM KİTAPÇIĞI

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

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

Bilgisayar Programı Nedir?

EM-554 İleri Bilgisayar Programlama Teknikleri Algoritma ve Akış Diyagramları

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

Parametre stick yöneticisi ACS432. AGU2.56 parametre sticklerin programlanması için PC yazılımı. Kurlum ve çalıştırma talimatları

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

BÖLÜM 1 MİKROİŞLEMCİLERİN YAPISI VE ÇALIŞMASI 1.GİRİŞ

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

MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

UYGULAMA 1 SİEMENS S PLC UYGULAMALARI-2. Mühürleme Elemanları:

ENF110 Temel Bilgisayar Uygulamaları Vize Öncesi Tüm Notlar - Episode 2 Excel

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

BÖLÜM 3: AKIŞ DİYAGRAMLARI

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Amaç: C programlama dilini tanıtma, C programlama dilinde program yazma

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

UĞUR BÖCEĞİM KODLAMA ROBOTU

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

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

PRESTIGIO GEOVISION 150/450 KULLANMA KILAVUZU

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

KUMANDA DEVRELERİ Örnek 1: Stop öncelikli Start Stop Devresi (Klasik Mühürleme Devresi):

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

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BQ301 RF Ekstra Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

GÖRSEL PROGRALAMA HAFTA 2 PROGRAMLAMA DİLLERİNE GİRİŞ

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1-2: BİLGİSAYAR SİSTEMİ DERS SAATİ: 5. [!]: 1.2. İşletim sistemindeki dizin yapısı vurgulanır.

E5_C ile NB PANEL ARASI RS485 MODBUS HABERLEŞMESİ

1. PROGRAMLAMAYA GİRİŞ

Scratch 2.0 GOL OYUNU

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

PLANIZ2009 PLANLA ALARM IZLEME PROGRAMI

5S2 SCRATCH İ KEŞFEDİYORUM

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

İNÖNÜ ÜNİVERSİTESİ MALATYA MESLEK YÜKSEKOKULU DERS TANITIM FORMU. Kredisi AKTS Eğitim Dili Tipi: Zorunlu/ Saat

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

ALGORİTMA VE AKIŞ ŞEMALARI

ALGORİTMA HAZIRLAMA. Temel tanımlar ve işleyiş. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Tek kararlı(monostable) multivibratör devresi

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

SPEEDSENSE KONFİGÜRASYON ARACI KULLANIM KILAVUZU

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman

BÖLÜM 1 MİKROİŞLEMCİLERİN YAPISI VE ÇALIŞMASI 1.GİRİŞ

ÖRNEK. a=1 yazdığımızda ar k 1 sayısı a harfi olmuştur. Aynı şekilde b=2 dediğimizde 2 sayısı b. Diyagramımıza başlıyoruz. Başla

KONFİGÜRASYON BİTLERİ

BQ300 RF Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Programlanabilir Mantık Kontrolcüleri

DENEY 12 SCR ile İki yönlü DC Motor Kontrolü

MODELLER D6330, D6530

SBAR HIZLI KULLANIM KILAVUZU

Murat ÖZBEK

RFID OKUYUCU / YAZICI

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Smartnet PRO-W Kullanım Kılavuzu

Algoritmalar ve Programlama. Algoritma

Nice RUN1800 RUN2500. Montaj Kılavuzu

BM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7

Ekonometri. yöneylem araştırması ile ilgili temel kavramları öğrenebilecekler. bazı yöneylem araştırması tekniklerini uygulamayı öğrenebilecekler.

BU CİHAZ BİLGİSAYAR BAĞLANTILI SİSTEM OLMAYIP, BAĞLI OLDUĞU BİLGİSAYAR İLE DEVAMLI İLETİŞİM YAPMAMAKTADIR. Mali Onaylı Yazarkasa

SQL Uyarı Programı Kurulum ve Kullanımı

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

BQ351 Modbus Röle Kontrol Ünitesi. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

RTX2-LRN BX UZAKTAN KUMANDA

Transkript:

BÖLÜM 2 2. PROGRAMLAMA MANTIĞI Programlama bir düşünce sanatıdır ve aslında, kullanılacak programlama dilinden bağımsız bir düşünme tekniğidir. Kullanılan programlama dilinin bu işleme katkısı ise makine dilinde çok komutla yapılabilecek işlemleri, tek komutta yapma imkanını vermesidir. Ancak, yapılacak işe göre, kullanacağınız programlama dilinde hangi komutları, hangi sıra ve hangi formatta yazacağınızı bilmek, daha doğrusu düşünebilmek programlama sanatıdır. Direk mikroişlemci mantığıyla ya da istenirse de bir programlama dili kullanarak bir işlem yaptırılmak istendiğinde işin temeli her zaman iyi bir programlama mantığına sahip olmaktır. Aksi durumda sadece yapılmış örnekleri tekrarlamaktan ileri gidilemez. Bu sebeple bu konunun çok iyi anlaşılması gerekmektedir. Bu işlemi de öğrenmek için çok kullanılan iki teknik algoritma ve akış diyagramlarıdır. Algoritma; bir programın yapacağı işlemlerin adım adım yazılmasından ibarettir. Akış diyagramı ise yine bir programın yapması gereken işlemlerin çizgisel diyagramla gösterilmesidir. Bu iki tekniği kullanarak birkaç örnekle basit tip düşünmeyi öğrenmeye çalışacağız. Ama önce akış diyagramlarında rastlayacağımız birkaç sembolün anlamını inceleyelim. (Bakınız:şekil 2.1) Sembol Anlamı Genel işlemler, işlemin ne olduğu kutu içerisine yazılır. Karşılaştırma işlemleri; karar verme durumlarını simgeler ve doğru-yanlış gibi iki seçenek içerir 33

Başlangıç ve bitiş belirtmede kullanılır. Çıkış; genellikle yazı şeklindeki çıktılarda kulanılır. Sembol Anlamı Bağlantı bölümleri El ile bilgi girişi Şekil 2.1. Akış diyagramlarında rastlanılan bazı sembollerin anlamları. Şimdi bu sembollerle işlemlerin nasıl belirtilebileceğini çok bilinen bir örnekle vermeye çalışalım: Örnek 2.1. Bir pic 16f84 kullanarak bir butonla lambayı yakıp söndürme işlemi yapalım. Buton basılı olduğu sürece lamba yanık olsun. Buton basılı değil iken ise lamba sönük olsun. 34

Çözüm: Önce problemin algoritmasını yazalım. Algoritma: 1) Başlangıç ayarlamalarını yap. 2) Ledi söndür. 3) Butonun basılı olup olmadığını kontrol et. 4) Buton basılı değilse 3. adıma dön. 5) Buton basılı ise ledi yak. 6) Butonun basılı olup olmadığını kontrol et. 7) Buton basılı ise 6. adıma dön. 8) Buton basılı değilse 2. adıma dön. Burada 1. adımda belirtilen başlangıç ayarı, mikroişlemcilerin tamamında olan bir olaydır ki, sistem tasarlanırken yapılması gereken donanım eklemeleri ve program yazılırken başlangıçta yapılacak işlemleri içerir. Bu işlemler ise bazen sistemin tüm çalışmasını etkileyebilecek kadar önemlidir. Örneğin, sisteme ilk enerji geldiğinde programın başlangıçtan başlamasını sağlayacak POR (Power On Reset) sistemi tasarlanmamışsa, sistem ilk enerjilendiğinde bazen başlangıçtan bazen de rastgele bir yerden başlar. Böylece sistem bazen doğru çalışırmış bazen de çalışmamış olur. Programla yapılacak işlemlere örnek ise açılışta yapılması gereken port ayarları olarak verilebilir. 35

Şimdi de bu algoritmaya göre akış diyagramını çizelim: Şekil 2.2. Örnek 2.1. için akış diyagramı 36

Örnek 2.2. Şimdi birinci örneği bir adım daha ileri götürelim. Örneğimiz şöyle olsun: Tuşa ilk basıldığında led yansın; İkinci basıldığında ise led sönsün. (Not:Burada tuşa basılması kelimesi, basılıp bırakmak anlamındadır.) Çözüm 2: Algoritma: 1) Başlangıç ayarlamalarını yap. 2) Ledi söndür. 3) Butonun basılı olup olmadığını kontrol et. 4) Buton basılı değilse 3. adıma dön. 5) Buton basılı ise ledi yak. 6) Butonun basılı olup olmadığını kontrol et. 7) Buton basılı ise 6. adıma dön. 8) Butonun basılı olup olmadığını kontrol et. 9) Buton basılı değilse 8. adıma dön. 10) Buton basılı ise ledi söndür. 11) Butonun basılı olup olmadığını kontrol et. 12) Buton basılı ise 11. adıma dön. 13) Buton basılı değilse 3. adıma dön. 37

Şimdide bu işlem için, akış diyagramını tasarlayalım. Şekil2.3 Örnek 2.2. akış diyagramı. 38

Örnek 2.3. Şimdi ikinci örneği biraz değiştirelim Örneğimiz şöyle olsun. Tuşa ilk basılıp bırakıldığında led yansın, ikinci basıldığında ise bırakılmayı beklemeksizin led sönsün. Çözüm 3: Algoritma: 1) Başlangıç ayarlamalarını yap. 2) Ledi söndür. 3) Butonun basılı olup olmadığını kontrol et. 4) Buton basılı değilse 3. adıma dön. 5) Butonun basılı olup olmadığını kontrol et. 6) Buton basılı ise 5. adıma dön. 7) Ledi yak. (Buton bırakılmıştır.) 8) Butonun basılı olup olmadığını kontrol et. 9) Buton basılı değilse 8. adıma dön. 10) Buton basılı ise ledi söndür. 11) Butonun basılı olup olmadığını kontrol et. 12) Buton basılı ise 11. adıma dön. 13) Buton basılı değilse 3. adıma dön. Bu örnekle ikinci örnek birbirine benzemekle birlikte, aslında işlem önceliğini burada görmekteyiz. Program yazımında bu önemli bir ayrıntıdır. Şimdi de bu işlem için akış diyagramını tasarlayalım. 39

Şekil2.4. Örnek 2.3 için akış diyagramı. 40

Bu şekildeki basit akış diyagramları örnekleri ile bir sistemdeki çalışma mantığına temel olarak bakmış olduk. Artık bazı komutları da bu işe ekleyerek ilk pic programı yazma denemelerimizi yapma zamanımız gelmiş oldu. Akış diyagramlarını bu şekilde verdiğimiz bu örneklerin programını yazarken, buradakinden daha değişik (ve kısa) metotlarla farklı çözümlerini göreceğiz. Program yazımına geçmeden önce pic 16f84 mikrokontrollörün komutlarını ve ne iş yaptıklarını öğrenerek temel bilgilerimizi tamamlamış olmakta fayda var. 41