Mikroişlemciler. Microchip PIC

Benzer belgeler
İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

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

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

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

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

EEM 419-Mikroişlemciler Güz 2017

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

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

DOKUMANLAR

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

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

# 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İLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

Komutların İşlem Süresi

BÖLÜM 1: MİKRODENETLEYİCİLER

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

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

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

BÖLÜM 2 INTERRUPT ve TIMER İŞLEMLERİ

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

SAYISAL MANTIK LAB. PROJELERİ

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLİ SİSTEM LABORATUVARI KESMELİ GİRİŞ/ÇIKIŞ

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

PIC 16F877 nin kullanılması

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

BÖLÜM Mikrodenetleyicisine Giriş

EasyPic 6 Deney Seti Tanıtımı

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

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

BM-311 Bilgisayar Mimarisi

İÇİNDEKİLER. 3 STM32F4 MIKRO-DENETLEYICISI 23 STM32 Ailesi ve STM32F STM32 Ailesi 23 STM32 Mikrodenetleyicileri 30 Numaralandırılması 30

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

PIC Programlama. Devrim Çamoğlu

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

BÖLÜM 3 CAPTURE/COMPARE/PWM ve TUŞ TAKIMI İŞLEMLERİ

PIC Mikrodenetleyicileri

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

Ad Soyad: Öğrenci No:

ANOLOG-DİJİTAL DÖNÜŞTÜRÜCÜLER

KONTROL VE OTOMASYON KULÜBÜ

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

Çizgi İzleyen Robot Yapımı

ARTOS7F1 ARIZA TESPİT CİHAZI VE PC OSİLOSKOP 7 FONKSİYON 1 CİHAZDA

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

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

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

BÖLÜM 7 XTAL2 XTAL1. Vss. Şekil Mikrodenetleyicisi osilatör bağlantı şekli. Bir Makine Çevrimi = 12 Osilatör Periyodu

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

DC motorların sürülmesi ve sürücü devreleri

Configuration bitleri ve reset durumları hakkında kavramlar

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

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

Mikroişlemciler ve Mikrodenetleyiciler

SAYISAL ANALOG DÖNÜŞTÜRÜCÜ DENEYİ

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

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

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

MEKATRONİĞİN TEMELLERİ

Hacettepe Robot Topluluğu

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

Mikroişlemci ile Analog-Sayısal Dönüştürücü (ADC)

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

LCD (Liquid Crystal Display )

MİKROİŞLEMCİ İLE A/D DÖNÜŞÜMÜ

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

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

Endüstri 4.0 ve Nesnelerin Interneti

GENEL BİLGİ: GEREKLİ MALZEMELER:

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

Genel Kavramlar. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders Notları-2

SAKARYA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİNE GİRİŞ LABORATUARI

ADUC841 MİKRODENETLEYİCİ TABANLI GELİŞTİRME KARTININ TANITIMI:

FPGA İLE UYGULAMA ÖRNEKLERİ

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

MİKRO KONTROLÖR İLE SCR TETİKLEME DEVRESİ TASARIMI VE GERÇEKLEŞTİRİLMESİ

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

LOJİK DEVRELER-I III. HAFTA DENEY FÖYÜ

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

Şekil 1. 74LS47 entegresi bağlantı şeması

ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY 6 ANALOG/DİGİTAL DÖNÜŞTÜRÜCÜ. Grup Numara Ad Soyad RAPORU HAZIRLAYAN:

1.CİHAZ ÖLÇÜLERİ 2.CİHAZ BAĞLANTI ŞEMASI

PIC16F84A Mikroislemci Denetimli Bir Sayisal Sinyal Üretici Tasarimi

KESME (INTERRUPT) NEDİR?

x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar

DY-45 OSİLOSKOP V2.0 KİTİ

Hacettepe Robot Topluluğu

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

EEM 419-Mikroişlemciler Güz 2016

CPU ONE PLC KULLANMA KLAVUZU

Eğitim - Öğretim Yöntemleri Başlıca öğrenme faaliyetleri Kullanılan Araçlar Dinleme ve anlamlandırma

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

Transkript:

Mikroişlemciler Microchip PIC Öğr. Gör. M. Ozan AKI r1.1

Microchip PIC Mikrodenetleyiciler www.microchip.com

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Microchip PIC Mikrodenetleyiciler

Gömülü Yazılım Geliştirme PIC Mikrodenetleyiciler için yazılım geliştirme araçları ücretiz olarak üreticisi olan www.microchip.com adresinden indirilebilir. (MPLAB IDE ve CX8 derleyici) Ancak üçüncü parti üreticilerde benzer geliştirme araçları vardır. Genellikle ücretlidirler. (CCS PIC, MicroC, HI-TECH v.s.) Denemeleri yapabilmek için şunlardan biri gereklidir; Bilgisayarda sanal ortamda denemek için simülatör, Gerçek bir fiziksel devre

Gömülü Yazılım Geliştirme Yazılım geliştirme işleminin aşamaları şunlardır; Problemin tanımlanması ve sınırlarının çizilmesi Çözümün üretilmesi ve tasarlanması Giriş Çıkış bağlantı ve sayılarının belirlenmesi ADC, PWM, CAPTURE, TIMER, COUNTER gibi kullanılacak özel donanımların belirlenmesi Kullanılacak mikrodenetleyicinin seçilmesi Devre şemalarının çıkarılması ve prototip imalatı Yazılımın geliştirilmesi Prototip üzerinde deneme Donanımsal ve yazılım hatalarının düzeltilmesi

Gömülü Yazılım Geliştirme Mikrodenetleyici Yazılımının Temel Yapısı Bir mikrodenetleyici temel olarak iki bölümden oluşur; Initialization, setup, mikrodenetleyiciyi çalışmaya hazırlama. Bu kısım, mikrodenetleyiciye ilk enerji verildiğinde ya da resetlendiğinde sadece bir kez çalışır ve donanımsal ayarlamaları yapar. Main Loop, Infinity Loop, Ana döngü, Sonsuz döngü, mikrodenetleyici çalıştığı sürece çalışacak olan kodun olduğu kısımdır.!!! Mikrodenetleyicilerde, programın sonlanması söz konusu değildir. Mikrodenetleyici çalıştığı sürece ana döngüde dönmelidir ve bu şekilde tasarlanmalıdır.

Mikrodenetleyici Çevrebirimleri Port Interrupt Timer ADC (Analog to Digital Converter) DAC (Digital to Analog Converter) PWM (Pulse Width Modulation) I2C (Inter-Integrated Circuit) SPI (Serial Peripheral Interface) USB (Universal Serial Bus)

Interrupt PIC Mikrodenetleyicilerinde sadece bir Interrupt (Kesme) vektörü bulunmasına karşın birçok Interrupt kaynağı vardır. Bunlardan en çok kullanılanları şunlardır; TMR0 Interrupt: Ayarlanan zaman aralıklarında interrupt fonksiyonu çağırılır. Display sürme, buton okuma, zaman sayma gibi işlemler bu fonksiyon içerisinde yapılabilir. INT Interrupt: RB0 pini, ayarlanan lojik seviyeye geçiş yaptığında interrupt fonksiyonu çağırılır PORTB Interrupt: PORTB nin üst 4 bitinden herhangi birinin (RB4,RB5,RB6,RB7) lojik seviyesi değiştiğinde interrupt fonksiyonu çağırılır.

TMR0 Interrupt TMR0 Kesmesi, 8 bitlik bir kaydedici olan TIMER0 kaydedicisinin taşması (255 -> 0) sonucu meydana gelir. TIMER0 kaydedicisi, kristal frekansına bağlı olarak sürekli bir şekilde artması ya da RB4 pin girişinden gelen kare dalgaları sayması sağlanabilir. Kristaller, tam olarak üzerinde yazan frekansta osilasyon sağlayan elektronik devre elemanlarıdır. Bu nedenle tüm saat devrelerinde de kullanılır. Eğer TIMER0 kaydedicisi kristal frekansına bağlanırsa, bu kesinlikte bir Interrupt elde edilecektir.

TMR0 Interrupt TMR0 kesmesini kullanmak için 2 register ayarlanmalıdır

TMR0 Interrupt OPTION_REG kaydedicisinde; TMR0 saat frekans kaynağı ve önbölen (prescalar) değerleri seçilir. PIC, dışarıdan devresine bağlı olan kristal frekansının ¼ zamanında çalışır. O halde T=1/F formülünden birim çevrim (cycle) zamanını bulabiliriz. (4Mhz -> 1MHz -> 1uS) Örneğin, yaklaşık her 1 milisaniyede bir Interrupt çağırılmasını istiyorsak; TIMER0 kaydedicisi 8 bit olup her 255 sayısında bir taşma meydana gelir. hiç bölen kullanmazsak, 255 mikrosaniyede bir kesme çağırılır. önbölen değerini 4 olarak ayarlarsak, 255 x 4 = 1020 mikrosaniye, yani yaklaşık 1 milisaniyede bir kesme çağırılır.

TMR0 Interrupt TMR0 kesmesini kullanmak için 2 register ayarlanmalıdır

TMR0 Interrupt INTCON kaydedicisi, tüm kesme işemleri için toplu bir kontrol kaydedicisidir. TMR0 kesmesini devreye almak için, GIE (Global Interrupt Enable), 1 yapılmalıdır, T0IE (Timer 0 Interrupt Enable), 1 yapılmalıdır T0IF biti ise, interrupt fonksiyonu çağırıldığında, hangi interruptların oluştuğunu kontrol etmek amacıyla kullanılır. T0IF biti 1 olmuş ise, demekki TMR0 interruptu oluşmuş anlamına gelir.

INT Interrupt INT kesmesi, RB0 pini okuma pini yapıldığında, dışarıdan gelen bir lojik sinyal 0 dan 1 e çıktığında ya da 1 den 0 a düştüğünde meydana gelen bir kesmedir. Sadece yükselen ya da düşen kenarlarda meydana gelir. Örneğin, dönen bir cismin devrini ölçme istiyorsak, bu cismin kenarına koyacağımız bir sensör ile her turda 1-0 bilgisini okuyup, arada geçen süreyi ölçerek devir hızılı bulabiliriz.

INT Interrupt Bu kesmeyi kullanmak için sadece INTCON kaydedicisini ayarlamak yeterlidir. Öncelikle INTCON kaydedicisinin 7. biti olan GIE (Global Interrupt Enable) biti 1 yapılır. INTCON kaydedicisinin 4. biti olan INTE biti 1 yapılarak bu kesme devreye sokulur. Daha sonra 1. bit olan INTF bitinden ise, interrupt fonksiyonu çağırıldığında bu kesmenin oluşup oluşmadığı kontrol edilir.

Buton ve Mekanik siviç okumak Mikrodenetleyicinin dış dünyadan okuduğu bilgilerin en çok kullanılanı buton, siviç ve sensör bilgileridir. Ancak bunlardan buton ve siviçler, mekanik temas yoluyla çalışan mekanizmalar olduğundan, basma ve bırakma sırasında parazitler meydana gelir.

Buton ve Mekanik siviç okumak Bu parazitler (teknik olarak gürültü olarak isimlendirilir), mikrodenetleyicinin hatalı okuma yapmasına ve butona bir kez basmada sanki birden çok kez basılmış gibi işlem yapmasına neden olur. Bunu engellemek için mikrodenetleyicilerde DEBOUNCE adı verilen yazılımsal bir filtre kullanılır. Bu filtre, mikrodenetleyicinin ancak buton ancak belirli bir süre boyunca kararlı bir şekilde basılı kaldıysa işlem yapmasını sağlar.

7 Segment Display Sadece sayısal gösterim yapan birçok cihazda düşük maliyeti ve basit tasarımı nedeniyle 7 segment display (7 parçalı gösterge) tercih edilmektedir. Yapısı basit olarak, her bir rakamı kolayca oluşturacak şekilde dizilmiş çubuk parçaları şeklinde ışık veren 7 adet LED ten oluşur. Her bir rakam için belirli segmentler (parçalar) yakılarak rakamlar oluşturulur. Devreyle bağlantı için 7 bağlantıya ihtiyacı vardır. Bunun dışında, LEDlerin diğer uçları ise birleştirilerek dışarıya ortak uç olarak çıkartılmıştır.

7 Segment Display

7 Segment Display LEDlerin hangi uçlarının dışarıya ortak olarak çıkarıldığına bağlı olarak içi türde üretilirler. Ortak Katot: Segmentleri oluşturan LEDlerin tümünün Katot uçları birleştirilerek dışarıya çıkarılmıştır. Ortak ucu şaseye (-) bağlanır ve hangi LED (segment) yakılmak isteniyorsa o LEDin diğer (Anot) ucuna (+) gerilim verilir. En çok kullanılan çeşididir. Ortak Anot: Segmentleri oluşturan LEDlerin tümünün Anot uçları birleştirilerek dışarıya çıkarılmıştır. Ortak ucu artıya (+) bağlanır ve hangi LED (segment) yakılmak isteniyorsa o LEDin diğer (Katot) ucu şaseye bağlanır. Her dijit ancak ve ancak sadece bir sayı basamağını temsil ettiğinden dolayı, cihazda en çok kaç basamaklı sayı gösterilecek ise o kadar dijit kullanılmalıdır.

LCD Göstergeler Eğer cihaz, sadece sayılardan başka kullanıcıya yazıyla da bildirimde yapması gerekiyorsa, ASCII tablosundaki karakterleri destekleyen Text LCD ekranlar kullanılır. Bunlar, mikrodenetleyici ile 11 ya da 7 bağlantı üzrerinden haberleşir. İsimlendirilmelerinde satır sayısı x karakter sayısı kullanılır. 1x8, 2x8, 1x16, 2x16, 4x20 gibi çeşitli seçeneklerde üretilirler.

LCD Göstergeler LCD datasheet kataloğunda, devreye bağlantısı ve haberleşme ile ilgili tüm bilgileri bulabilirsiniz. Haberleşme fonksiyonlarını tamamen kendiniz yazabileceğiniz gibi, daha önceden yazılmış hazır bir kütüphane de kullanabilirsiniz. Kütüphaneleri özelleştirirken, kendi devrenizin bağlantılarına göre kütüphane üzerinde değişiklikler yapmanız gerekecektir. Text LCD göstergelerin yaznında birde Grafik LCD göstergeler vardır. Bunlar çok daha fazla işlemci gücü ve hafıza gerektirdiği için genellikle daha güçlü mikrodenetleyicilere sahip projelerde kullanılabilir.