PIC Programlama. Devrim Çamoğlu



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

DOKUMANLAR

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

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

BÖLÜM Mikrodenetleyicisine Giriş

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İ

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

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

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

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:

BESLEME KARTI RF ALICI KARTI

EEM 419-Mikroişlemciler Güz 2017

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

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

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

1 GİRİŞ 1 Bu Kitap Kimlere Hitap Eder 1 Kitabın İşleyişi 2 Kitabın Konuları 3 Kitabı Takip Etmek İçin Gerekenler 6 Kaynak Kodu ve Simülasyonlar 6

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

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

PIC PROG/DEKA PRO-2, Microchip mikro denetleyici ailesinde PIC16 ve PIC18 serisinin

PIC 16F877 nin kullanılması

EasyPic 6 Deney Seti Tanıtımı

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

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

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

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

Çizgi İzleyen Robot Yapımı

TECO N3 SERİSİ HIZ KONTROL CİHAZLARI

GENEL KULLANIM İÇİN SABİT AKIM LED SÜRÜCÜLERİ. Uygulama Notları ACG-D350/500/700/1000 UYGULAMA NOTLARI. 1. LED adedi

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ. Uzaktan Kumanda Edilen Lamba Dimmer inin Gerçekleştirilmesi

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

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

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

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

Mikroişlemciler. Microchip PIC

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

SANAEM RFQ (SPP) HIZLANDIRICISI GÜÇ KAYNAKLARI VE ÖLÇME KUTUSU KONTROL SİSTEMİ. Aydın ÖZBEY İstanbul Üniversitesi

YILDIZ TEKNIK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKULTESİ ELEKLTRONİK VE HABERLEŞME MÜHENDİSLİĞİ BÖLÜMÜ

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

IFD8520 ADRESLENEBİLİR RS-485/RS-422 İZOLELİ ÇEVİRİCİ KULLANIM KILAVUZU

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

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1

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

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.

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

MODÜLER PIC DENEY SETİ

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

EEM 419-Mikroişlemciler Güz 2016

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

PIC Mikrodenetleyicileri

MİKRODENETLEYİCİ UYGULAMA VE GELİŞTİRME SETİ KULLANIM VE DENEY KİTABI

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

Ölçü Aletlerinin Tanıtılması

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

Temel elektronik laboratuvarı olarak kullanılmaktadır. Bu laboratuvarda ders alan öğrencilerimiz;

8. MİKROİŞLEMCİ MİMARİSİ

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

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ Elektrik ve Elektronik Ölçmeler Laboratuvarı Deney Adı: Sensörler. Deney 5: Sensörler. Deneyin Amacı: A.

4. 8 adet breadboard kablosu, 6 adet timsah kablo

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

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

Doç. Dr. Cüneyt BAYILMIŞ

Mikroişlemciler. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

Deneyler artık çok KOLAY!

Donanımlar Hafta 1 Donanım

ACD BİLGİ İŞLEM ACD KABLOSUZ VERİ TOPLAMA SİSTEMLERİ URT-V2 KABLOSUZ VERİ TOPLAMA TERMİNALİ DONANIM TEKNİK BELGESİ. URT-V2 Terminallerinin

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

İ İŞİ BÖLÜM ROBOTİK KODLAMA ÖĞRENME ALANLARI BASİT ELEKTRONİK DEVRELERE GİRİŞ AKILLI CİHAZ TASARIMINA GİRİŞ ROBOTİĞE GİRİŞ

9- ANALOG DEVRE ELEMANLARI

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

ZENER DİYOTLAR. Hedefler

Embedded(Gömülü)Sistem Nedir?

2. Malzemeler: Bu bölümde size verilecek malzemeler anlatılacaktır ve montaj yaparken dikkat etmeniz gereken hususlar belirtilecektir.

PIC KULLANARAK GÜÇ KARSAYISI ÖLÇÜM DEVRESİ TASARIMI VE SİMÜLASYON

idea rsbasic KOMUTLARI

Çizgi İzleyen Robot Yapımı ve Teknik Bilgiler

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

Ders devam zorunluluğu bulunmaktadır ve 2 hafta derse katılmayan öğrenci devamsızlıktan kalacaktır.

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

BÖLÜM 2: PIC16F877 MİKRODENETLEYİCİSİ...

FRENIC MEGA ÖZET KULLANIM KLAVUZU

Deney 10: Analog - Dijital Dönüştürücüler (Analog to Digital Converters - ADC) Giriş

ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) 1

dirençli Gerekli Donanım: AC güç kaynağı Osiloskop

Proje Teslimi: güz yarıyılı ikinci ders haftasında teslim edilecektir.

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

KULLANIM KILAVUZU PIC ULAK. USB PIC Programlayıcı 3.3V ve 5V Güç Kaynağ Seri USB Dönüştürücü Bağlantı Portları

PIC Kontrollü LED Sürücü Devresi

PIC16F877A nın Genel Özellikleri

YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNE FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MEKATRONİK MÜHENDİSLİĞİNE GİRİŞ DERSİ. DC Motor Hız Kontrolü Proje No: 1

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

BÖLÜM 6 Seri Port Đşlemleri

GAZİANTEP ÜNİVERSİTESİ

ELEKTROLİZ YAPMAK İÇİN PI DENETİMLİ SENKRON DA-DA DÖNÜŞTÜRÜCÜ TASARIMI

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

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

MCR02-AE Ethernet Temassız Kart Okuyucu

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

Transkript:

PIC Programlama Devrim Çamoğlu

İçİndekİler XIII İçİndekİler 1. Bölüm - Temel Kavramlar Mikrodenetleyici Tanımı Mikroişlemci-Mikrodenetleyici 1. Mikro İşlemcili Bir Sistemde Kavramlar 2. Tasarım Felsefesi ve Mimari Cisc İşlemciler ve Risc İşlemciler Mikrodenetleyicilerin Kısa Tarihi PIC Mikrodenetleyiciler PIC Ailesi Genel Özellikler PIC Microdenetleyici Mimarisi 1. Merkezi İşlemci Modülü (CPU) 2. Genel Amaçlı Yazmaçlar (GPR) 3. Bellek Birimi (Memory Unit) 4. Zamanlayıcılar - Sayıcılar 5. Analog / Dijital Dönüşüm (ADC) 6. (E)USART Modülü ve Serİ Haberleşme Fiziksel Programlama Arayüzleri PICKit 2 Bootloader ile Programlama 19 20 21 21 22 23 25 28 28 30 31 31 33 34 36 37 40 41 43 2. Bölüm - PICBasic Pro Basic Dili ve Derleyicileri A. Basic Dili PICBasic Pro, Proton ve Micro Basic B. Programlama Ortamları Microchip MPLAB IDE Microcode Studio 45 46 48 50

İçİndekİler XIV PICBasic Pro 1. Temel Kavramlar Değişkenler Aliaslar Sabitler I/O Pinleri Semboller Yordamlar Karar Yapıları Döngüler 2. Operatörler ve Komutlar Aritmetik Operatörler Shift Operatörleri Fonksiyon Operatörleri Bit Operatörleri Mantık ve Karşılaştırma operatörleri PICBasic Pro Komutları 52 53 55 56 57 58 69 71 59 61 62 67 68 75

İçİndekİler XV 3. Bölüm - Temel Kavramlar ve Uygulamalar A. Elektronik ve Elektronik Devre Elemanları B. Çevre Birimler ve Temel Uygulamalar 1. İlk Çalıştırma - Enerjinin Verilmesi (1) 2. Temel Çevrebirimleri (2) Harici Osilatör Dijital Osiloskop 3. Sayısal I/O Uygulamaları Çıkış Portları - Ledler (3) Giriş Portları - Butonlar (4) Transistör - Röle - Motor (5) Potansiyometre - Pot Komutu (6) Buton Matrisleri (7) 4. Göstergeler 7 Segment Gösterge - 8 Bit ve BCD (8-9) Karakter LCD Gösterge (10) 8x8 Led Matris Gösterge (11) 5. EEPROM Bellek (12) C. Elektrik Sinyalleri, ADC ve PWM 6. Potansiyometre - ADCIN Komutu (13) ADC Değer Aralığının Ölçeklendirilmesi (14) 7. Analog Sensörler ile ADC 10 Bit ADC işlemi ve Değerin Okunması (15) Işık Sensörü - LDR (16) Sıcaklık Sensörü - LM35 (17) 8. Transistör - PWM Ve Motor Uygulamaları PWM - DC Motor devresi (18) PWM Komutu - DC Motor devresi (19) 9. Donanımsal PWM - H-Bridge devresi (20) 10. Diğer PWM Sinyalleri RC Servo Kontrolu - PulseOut komutu (21) Elektronik Piyano - FreqOut Komutu (22) D. Seri İletişim ve Kesme 11. TMR0 Kesmesi ile Elektronik Saat (23) 12. PC ile Seri iletişim (24) 81 83 85 89 89 90 95 96 100 106 112 115 119 120 126 132 139 145 146 164 167 168 170 174 413 179 185 189 197 197 205 211 212 219

Temel Kavramlar 1 Mikrodenetleyici Tanımı Mikroişlemci-Mikrodenetleyici 1. İki Kavram Arasındaki Farklar 2. Tasarım Felsefesi ve Mimari Cisc İşlemciler ve Risc İşlemciler Mikrodenetleyicilerin kısa Tarihi PIC Mikrodenetleyiciler 1. PIC Mikrodenetleyicilerin Tarihçesi 2. PIC Mikrodenetleyicilerin genel yapısı 3. PIC Mikrodenetleyicilerin Mimarisi Fiziksel Programlama 1. Microchip PicKit ICSP Programlama arayüzü 2. Bootloader Yöntemi ile Programlama 19 20 38 39 40 46 49 56 Mİkrodenetleyİcİ Tanımı Mikrodenetleyici (İngilizce olarak MCU-Micro Controller Unit veya µc), elektronik ve elektromekanik sistemleri denetlemek (yönetmek) amacı ile bir merkezi işlemci ünitesi (CPU) çevresinde yapılandırılmış, bellek (PRom, Eprom, EEProm ve Flash), programlanabilir giriş ve çıkışlar (Inputs/Outputs), analog/sayısal dönüştürücü, sinyal üreteci, sayıcı, iletişim arabirimi, kristal salınım üreteci gibi çevre birimlerinin tümleşik bir biçimde yani tek bir yonga şeklinde üretildiği bir mikro bilgisayardır. Mikrodenetleyiciler, sahip oldukları girişler sayesinde çevrelerinden analog veya sayısal olarak bilgi toplayabilir, bu bilgileri içerdikleri gömülü yazılım (firmware) ile değerlendirerek anlamlı çıkış sinyallerine dönüştürebilirler. Bu sayede tıpkı kişisel bilgisayarlarımız gibi girişler sonucunda topladıkları bilgileri işlerler ve sonuçlara varırlar ancak bilgisayarlardan farklı olarak bu sonuçları sadece kullanıcıya göstermekle kalmazlar, çıkış portlarına bağlanan motor sürücülerini, optik tabanlı arabirimleri (RGB veya Ir Ledler, led matrisler, LCD göstergeler vb.), ses aygıtlarını, elektro-mekanik röleleri veya transistörleri denetleyebilirler ve bu çevre birimler ile çeşitli amaçlara yönelik işleri doğrudan yerine getirirler.

28 PIC MİKRODENETLEYİCİLER PIC Aİlesİ 8 Bit PIC Ailesi, mikrodenetleyicilerin sahip oldukları özelliklere ve komut uzunluklarına göre 3 seviye halinde incelenebilir. Aşağıdaki tabloda genel olarak mikrodenetleyici ailelerini ve bu ailelerin özelliklerini görmektesiniz. Genel Özellİkler 8 Bit PIC mimarisi, çok sayıda özelliği ile karakterize edilir. Bunlar; Ayrı kod ve veri alanları (Harvard mimarisi, RISC İşlemci) PIC32, cihazlar için ise Von Neumann mimarisi. Sabit uzunlukta ve az sayıda komutlar. Tüm komutlar, bir komut döngüsü için 2 saat darbesi gerektirir. (bazı 8-bit modellerinde 4 saat darbesi) Tüm RAM alanları, yazmaçlar ve / veya matematik ve diğer fonksiyonların hedef noktaları olarak işlev görür. Depolama dönüş adresleri için donanımsal yığın (Stack)

30 PIC MİKRODENETLEYİCİLER PIC Mİkrodenetleyİcİ Mİmarİsİ PIC mikrodenetleyicilerin fiziksel mimarilerini ve nasıl çalıştıklarını inceleyeceğimiz bu bölüm, geliştirilmiş mimariye sahip 30 pinli bir PIC olan 16F887 üzerinden anlatılacaktır. Yukarıda tüm birimlerinini gördüğünüz PIC Mikrodenetleyicinin nasıl çalıştığını ve bu birimlerin üslenmiş olduğu görevleri incelerken, bu birimlerle ilgili Bellek, Seri iletişim, Karşılaştırma, PWM, Analog- Sayısal dönüşüm, Kesme gibi önemli kavramları da açacağız. 16F887 Mikrodenetleyicisinin birçok PIC ile benzer olan Özellikleri: RISC Mimarisi, Sadece 35 Adet Komut, Çalışma frekansı: 0-20 MHz, Hassas Dahili Osilatör: Fabrikada kalibre edilmiş, yazılım ile seçilebilen 31KHz - 8MHz dahili frekans aralığı, 2.0-5.5V Besleme Voltaj aralığı, 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (Uyku Modu) Güç tüketimi (Nano Watt Teknolojisi), Yazılım kontrollu Brown-out Reset (BOR), 35 Adet I/O pini, Pin başına Led yakabilmek için yüksek Akım, Yazılım ile programlanabilir Pull-Up dirençleri, 8 Kb ROM FLASH bellek teknolojisi, 100.000 kere programlanabilir Program hafızası, Devre içi programlama seçeneği, 1.000.000 kere yazılabilir 256 byte EEPROM belleği, 368 byte RAM Bellek, 14 Kanal 10 Bit A/D dönüştürücü, 3 adet bağımsız Timer (zamanlayıcı-sayıcı), Watch-dog timer, İki adet Analog karşılaştırıcılı modül, Sabit Referans voltajı (0.6V), Program ile ayarlanabilir İç Voltaj Referansı, PWM Çıkışları, USART Modülü, RS-485, RS-232 ve LIN2.0 desteği, Otomatik Baud hızı algılama, MSSP (Master Synchronous Serial Port), 12C Modu ve SPI desteği.

Temel Kavramlar ve Uygulamalar 3 A. Elektronik ve Elektronik Devre Elemanları B. Çevre Birimler ve Temel Uygulamalar 1. İlk Çalıştırma - Enerjinin Verilmesi (1) 2. Temel Çevrebirimleri (2) Harici Osilatör Dijital Osiloskop 3. Sayısal I/O Uygulamaları Çıkış Portları - Ledler (3) Giriş Portları - Butonlar (4) Transistör - Röle - Motor (5) Potansiyometre - Pot Komutu (6) Buton Matrisleri (7) 4. Göstergeler 7 Segment Gösterge - 8 Bit ve BCD (8-9) Karakter LCD Gösterge (10) 8x8 Led Matris Gösterge (11) 5. EEPROM Bellek (12) C. Elektrik Sinyalleri, ADC ve PWM 6. Potansiyometre - ADCIN Komutu (13) ADC Değer Aralığının Ölçeklendirilmesi (14) 7. Analog Sensörler ile ADC 10 Bit ADC işlemi ve Değerin Okunması (15) Işık Sensörü - LDR (16) Sıcaklık Sensörü - LM35 (17) 8. Transistör - PWM Ve Motor Uygulamaları PWM - DC Motor devresi (18) PWM Komutu - DC Motor devresi (19) 9. Donanımsal PWM - H-Bridge devresi (20) 10. Diğer PWM Sinyalleri RC Servo Kontrolu - PulseOut komutu (21) Elektronik Piyano - FreqOut Komutu (22) D. Seri İletişim ve Kesme 11. TMR0 Kesmesi ile Elektronik Saat (23) 12. PC ile Seri iletişim (24) 81 83 85 89 89 90 95 96 100 106 112 115 119 120 126 132 139 145 146 164 167 168 170 174 413 179 185 189 197 197 205 211 212 219

82 PIC MİKRODENETLEYİCİLER Elektronİk Devreler Bir elektronik devre aslında bir elektrik devresi üzerine kuruludur, ve tümleşik elektronik devre elemanların yanında, temel elektrik devrelerine özgü direnç, kondansatör, gerilim ve akım kaynağı, iletim hatları, anahtarlar gibi devre elemanlarının bağlantılarından oluşur. ve bu haliyle de tıpkı elektrik devreleri gibi elektrik akımının kapalı bir döngü içinde akmasına izin veren bir çeşit elektriksel ağdır (Network). Elektrik devrelerinden temel farkları, elektronik devre elemanları içermeleri ve bu devrelerde kullanılan elektrik sinyalinin yapısının klasik elektrik sinyali olan doğru ve alternatif akımı sinyalinden farklı olabilmesidir. Bir direnç ve gerilim kaynağından oluşan temel bir elektrik devresindeki ilişkiler, İ=V/R yani Ohm yasası ile açıklanabilir. Elektrik devreleri ise, pasif ve aktif devre elemanlarından oluşabilir ve buna göre de karmaşıklık seviyeleri değişebilir. Bir doğrusal devre, özel bir şekilde sadece bir voltaj veya akım kaynağı, doğrusal elemanlar (dirençler, kondansatörler, indüktörler vb.) ve doğrusal iletim hatlarından oluşabilir. Giriş ve çıkış frekansları aynı olan bu tür bir devrenin AC (Alternatif akım) veya DC (Doğru akım) formlarını frekans analizi metodları ile incelemek nisbeten kolaydır. Analog veya Sayısal devrelerin tasarımında beklenen, devrenin içindeki tüm gerilimleri ve akımları kestirebilmek ve dolayısı ile tüm dinamiklere hakim olmaktır. Kuşkusuz ideal olan bu durum, kapsamlı bilgi gerektirir. Bu yüzden, bu kitapta da yapılmak istenen, içeriğin sistematik olması ve kavramların da birbirleri ile bağlantılı olmasıdır. Ancak, analog ve sayısal çok sayıda kavramı kapsayan elektronik, çok geniş bir konu olduğundan, Temel Kavramlar başlığı altında bulunan bu bölümde, bilinen tüm elektronik devrelerini ve bunların analiz yöntemlerini kronolojik olarak incelemek yerine, PIC uygulamaları ile birlikte gerekli devre elemanlarını incelemeyi tercih edeceğiz. Elektronik Devre Elemanları da genel bir tanımın ardından, elektronik devrelerin içinde kullanılan devre simgeleri olarak gösterilecek ve yine uygulamaların içinde gerekli olduğu kadar incelenecektir.

B Temel Uygulamalar 1. İlk Çalıştırma - Enerjİnİn Verİlmesİ Amaç Uygulamalar Bölümüne başlarken, 18 bacaklı fakat yetenekli bir PIC Mikrodenetleyici üzerinde, bir mikrodenetleyicinin ayağa kaldırılması için gereken minimum yapıyı incelemek. Uygulama İçeriği Konu Anlatımı Uygulama için Gereken Malzemeler PIC16F88 in tanıtımı Devre Şeması Devrenin Breadboard Kurulumu PICBasic Pro ile Programlama KAVRAMLAR VE UYGULAMALAR 85 Bu uygulama, özellikle uygulamalar bölümünün ilki olması yüzünden basit ama önemlidir. Bir PIC mikrodenetleyiciyi çalıştırabilmek için gereken en az çevre birimini kullanmak istediğimiz için, içinde saat hızı ayarlanabilir gelişmiş bir dahili osilatör barındıran ve bu özelliği sayesinde harici saat devresi gerektirmeyen 18 bacaklı küçük bir mikrodenetleyici, PIC16f88 seçilmiştir. Gereken Malzemeler 1. Breadboard 2. PIC16F88 Mikrodenetleyici 3. Multimetre Ölçü aleti 4. 5V - 500 ma Güç kaynağı 5. İzoleli ince bakır tel (zil veya Jumper teli)

86 PIC MİKRODENETLEYİCİLER PIC16F88 Mİkrodenetleyİcİsİ PIC16F88, az sayıdaki pin sayısı ve yetenekleri ile PIC mikrodenetleyiciler arasında çok popüler olan PIC16F628 ile aynı pin sayısına sahip, ancak ondan daha yeteneklidir. Özellikleri PIC16F887 ye benzemektedir. Ancak düşük enerji tüketimi, ADC yetenekleri, 8 MHz seçilebilir dahili Osilatörü, düşük I/0 sayısı, belleği ve boyutu ile az yer kaplaması gereken küçük hacimli projelerin ideal mikrodenetleyicisi olmaktadır. Yüksek Performanslı RISC CPU: Sadece 35 Komut. FLASH program Belleği: 4K x 14 word. 256 byte EEPROM Veri Belleği. 20 MHz Saat hızında 5 MIP. Güç: 14 μa, 2V Normal Modda, 0.2 μa, 2V (Uyku). Osilatör Arıza Monitörü Desteklediği Pin Akımı: 25 ma Timer0 modülü: 8-bit Zamanlayıcı/Sayıcı Timer1 modülü: 16-bit Zamanlayıcı/Sayıcı Timer2 modülü: 8-bit Zamanlayıcı/Sayıcı Bir adet Capture/Compare/PWM (CCP) modülü Senkron Seri Port (SSP) modülü (iki adet Mod) 3-wire SPITM (4 SPI modunu destekler) I2CTM Slave modları Adreslenebilir USART modülü Desteği 10-bit, 7- Kanal Analog tan Dijitale Dönüştürücü. İki Adet analog karşılaştırıcı. Programlanabilir dahili voltaj referansı. Karşılaştırıcı Çıkışlarına harici erişim.

KAVRAMLAR VE UYGULAMALAR 87 Devre Şeması Devrenİn Kurulumu PIC16F88, çalışmak için sadece besleme ve toprak bağlantılarına ihtiyaç duymaktadır. Bu özelliği sayesinde, yer kısıtlaması olan devreler için çok uygundur. Uygulamada amaçlanan, 9 nolu pinden sayısal çıkış sağlanmasıdır. RB3 pinini yüksek yapmak amacıyla yazılan program yüklenip +5V enerji verildiğinde, multimetrenin voltaj kademesi ile ölçülen RB3 pininin yüksek (+5V) olduğu görülmektedir. PIC16F88 Mikrodenetleyicisinin çalıştırılmasının bu kadar kolay oluşu, onu amatörler ve hobiseverler için de ideal bir çalışma platformu yapmaktadır. Besleme geriliminin temini, halk arasında adaptör diye anılan küçük (5V - 500 ma) Switch Mod bir güç kaynağına bağlanacak olan iki küçük krokodil pens ile kolay ve ucuz bir şekilde sağlanabilir.

KAVRAMLAR VE UYGULAMALAR 139 5. EEPROM Bellek Amaç Mikrodenetleyicinin dahili (On-Chip) EEPROM belleğinin, programın çalışması sırasında veri girişleri ve göstergeler yardımıyla kullanılmasını sağlayacak programları yazmak ve bunlarla ilgili çevre birimlerini oluşturmak. Uygulama ve İçeriği Veri Girişi için Buton Arayüzünün Yapılması Veri Çıkışı için LCD Arayüzünün Kullanılması Konu Anlatımı ve EEPROM Komutları Devre Şemaları Breadboard Kurulumu Programlama Eeprom Belleğİn Kullanımı Bu uygulamada, EEPROM belleğin kullanımını görürken, kullanıcı arayüzleri olarak, bir 16x2 LCD Gösterge ve 4 adet Buton kullanacağız. Aynı zamanda bu uygulama, veri girişi ve gösteriminin aynı devrede yer alacağı ilk uygulamamız olacak, ve bundan sonrası için de PICBasic PRo dili ile yazılım denemelerinizi yapabileceğiniz bir platform oluşturacak. Size tavsiyem, breadboard olarak adlandırdığımız deney tahtalarını birkaç tane almanızdır. Zira, bu deneyi oluşturan breadboard u saklarsanız, bir çok uygulamada kullanabileceğiniz bir yardımcıya sahip olmuş olacaksınız. Proteus gibi devreyi kurabileceğiniz ve programı yükleyebileceğiniz simülasyon programları yararlıdır ancak, bazı koşulların yerine getirildiğini varsayarak kolayca çalışırlar ve bu yüzden de gerçek devrelerin bize kazandıracağı tecrübenin yerini tutamazlar.

140 PIC MİKRODENETLEYİCİLER Uygulama için Gereken Malzemeler 1. Breadboard 2. PIC16F88 Mikrodenetleyici 3. 1 adet Hitachi uyumlu, 16x2 Karakter LCD Gösterge 4. 1 adet 5K Ohm Potansiyometre veya TrimPot 5. 1 adet 330 Ohm Direnç 6. 4 adet 10 K Direnç 7. 4 adet mikro Bas Buton 8. 5V - 500 ma Güç kaynağı 9. İzoleli ince bakır tel (zil veya Jumper teli) Devre Şeması Devrede veri girişini sağlayacak olan butonların bağlantıları için A portunun A0, A1, A6 ve A7 pinleri kullanılıyor. Butonlar Pull-Down bağlantı biçimleri ile lojik 1 üretecek şekilde düzenleniyorlar. LCD ekranın bağlantısı ise, aynı LCD tanımlarının kullanılabilmesi için, önceki uygulamada olduğu gibi B portu üzerinden yapılıyor.

KAVRAMLAR VE UYGULAMALAR 159 Devrenİn Breadboard Kurulumu Ve Çalışması ADC dönüşüm işleminin sonuçlarını görebilmek için hazırlamış olduğumuz devre önceki LCD devrelerine çok benzemektedir. Sadece devreye sağ tarafta görülen Potansiyometre devresi eklenerek bu devrenin gerilimi, diğer iki devrenin gerilimi ile ortak güç kaynağından sağlanmıştır. Potansiyometre devresinin voltajı, farklı bir güç kaynağından da temin edilebilirdi. Aynı zamanda, bu güç kaynağının gerilimi, diğer iki devrenin voltajından daha büyük de olabilirdi. Ancak bu durumda, potansiyometre devresine mikrodenetleyiciye giren voltajın 5V u aşmaması için 5V luk zener diyot bağlanmalı ve devrenin çalışabilmesi için devrelerin toprakları ortaklanmalıdır. ADC İşlemİ Tanımları Ve Konfİgürasyonları ADC yani, Analog - Dijital dönüşümü işleminin gerçekleşebilmesi için bazı tanımların ve konfigürasyonların yapılması gerekmektedir. Bunlar, DEFINE deyimi ile yapılan tanımlar ve yazmaç konfigürasyonlarından oluşmaktadır. Define ile başlayan tanımlar, PICBasic Pro nun bizi bazı yazmaç konfigürasyonlarından kurtarmak amacıyla eklediği ifadelerdir. Ancak ADCON1 ve ANSEL yazmaçlarının konfigürasyonu kullanıcıyı ilgilendirdiğinden bunlar yazılımcı tarafından yapılmalıdır. Tüm bu yazmaçlar ile ilgili daha kapsamlı bilgiyi hatırlamak için 176-182 sayfaları arasındaki ADC modülü açıklamasına tekrar gözatmanızı tavsiye ederim.

162 PIC MİKRODENETLEYİCİLER ADCIN Komutu ADCIN komutu, analog giriş olarak tanımlanmış bir pinden en büyük gerilim değeri 5V u geçmemesi gereken bir analog sinyali okumak için kullanılır. Söz dizimi; ADCIN Analog_PinNo, Değişken şeklindedir. Komut satırında belirtilmesi gereken Analog pin no, analog pinlerin Etiket numaralarıdır. Örneğin, PIC16F88 in AN0 etiketli RA0 pini, 0 olarak, AN6 etiketli RB7 pini ise 6 olarak yazılmalıdır. ADC modülü bulunan çeşitli mikrodenetleyicinin pin yapılarına göre farklı portlar AN etiketi taşıyabilirler. Konfigürasyonlar ve etiketler değişebileceğinden mikrodenetleyicilerin datasheet lerine bakılması gerekir. ADC dönüşüm Programının Yazılması ************************************************* * Uygulama : ADC Modülü İşlemleri * * : Potansiyometre ve ADCIN * * Mikrodenetleyici : 16F88 * * Derleyici : PICBasic Pro * ************************************************* Dahili Osilatör Kullanılacak... @ DEVICE pic16f88, INTRC_OSC_NOCLKOUT LCD Tanımlaları... DEFINE LCD_RSREG PORTB LCD RS Pini PortB DEFINE LCD_RSBIT 0 LCD RS Pini bit 0 DEFINE LCD_RWREG PORTB LCD RW Pini PortB DEFINE LCD_RWBIT 1 LCD RW Pini bit 1 DEFINE LCD_DREG PORTB LCD Veri Pinleri PortB de. DEFINE LCD_DBIT 4 LCD Veri bıtlerı 4.den, DEFINE LCD_EREG PORTB LCD enable Pini PortB DEFINE LCD_EBIT 2 LCD enable biti bit 2 DEFINE LCD_BITS 4 LCD Verisi 4 bit DEFINE LCD_LINES 2 LCD Satır Sayısı 2 ADC Tanımları... DEFINE ADC_BITS 8 Sonucu 8 bit olarak al.. DEFINE ADC_CLOCK 3 Saat Kaynağı dahili... DEFINE ADC_SAMPLEUS 50 Örnekleme zamanı 50 µs. Programın devamı yan sayfada >

168 PIC MİKRODENETLEYİCİLER Programın Yazılması Önceki uygulamalara benzer şekilde, LCD tanımlarından sonra ADC tanımlarını yaparak programın yazımına başlıyoruz. ************************************************* * Uygulama : ADC Modülü İşlemleri * * : 10 Bit ADC İşlemi * * Mikrodenetleyici : 16F88 * * Derleyici : PICBasic Pro * ************************************************* Dahili Osilatör Kullanılacak... @ DEVICE pic16f88, INTRC_OSC_NOCLKOUT LCD Tanımlaları... DEFINE LCD_RSREG PORTB LCD RS Pini PortB DEFINE LCD_RSBIT 0 LCD RS Pini bit 0 DEFINE LCD_RWREG PORTB LCD RW Pini PortB DEFINE LCD_RWBIT 1 LCD RW Pini bit 1 DEFINE LCD_DREG PORTB LCD Veri Pinleri PortB de. DEFINE LCD_DBIT 4 LCD Veri bıtlerı 4.den, DEFINE LCD_EREG PORTB LCD enable Pini PortB DEFINE LCD_EBIT 2 LCD enable biti bit 2 DEFINE LCD_BITS 4 LCD Verisi 4 bit DEFINE LCD_LINES 2 LCD Satır Sayısı 2 ADC Tanımları... DEFINE ADC_BITS 10 Sonucu 10 bit olarak al.. DEFINE ADC_CLOCK 3 Saat Kaynağı dahili... DEFINE ADC_SAMPLEUS 50 Örnekleme zamanı 50 µs. Programın devamı yan sayfada >

170 PIC MİKRODENETLEYİCİLER LDR İle Işık Sensörü LDR (Light Dependent Resistor) yani, Işığa Bağımlı Dirençler, ışık şiddeti ile ters orantılı olarak direnci değişen elemanlardır. LDR lerin üzerine düşen ışık miktarı arttıkça dirençleri azalır. Karanlıkta ise dirençleri maksimum seviyededir. Bir LDR nin ışıksız bir ortamda direncini ölçtüğünüzde ölçü aletinin ölçemeyeceği kadar yüksek bir değeri ifade eden 0.L kademesini gösterdiğini göreceksiniz. Dolayısı ile bir LDR nin direncinin göreli veya ışığa bağımlı olduğunu söyleyebiliriz. Ancak, bu elemanlar, bir devreye gerilim bölücü olarak bağlandıklarında gerilimi ışığa bağlı olarak böldükleri için birer ışık sensörü olarak kullanılabilen yararlı elemanlardır. Bu uygulamada bir LDR ile yapacağımız Işık Sensörünü PIC16F88 in analog pinlerinden birine bağlayarak okuduğumuz değeri LUX cinsinden bir ışık ölçüm birimine çevireceğiz. Değer eşlemesini ve kalibrasyonu yapmak için ise, LUX birimini destekleyen bir fotoğraf pozometresi kullanacağız. Öncelikle eşlemeyi yapacağımız birim olan LUX biriminin ne olduğunu açıklamak gerekirse, 1 LUX, 1 m2 alanın, 555 nano metre dalga boyu ışıktan aldığı toplam Işık akısı veya güç birimi ile ifade edersek, 1,47 mw/m2 ışık enerjisi olarak tanımlanmaktadır. Bu birimi seçmemin sebebi, bir nesnenin veya yüzeyin üzerine düşen ışığın tanımı olması ve tanımın ışık kaynağına uzaklık ve açı değişkenlerini içermemesidir. Bu yüzden, sıklıkla ışık kaynakları için kullanılan Lumen birimine bu birimi tercih ettim. Gereken Malzemeler 1. Breadboard 2. PIC16F88 Mikrodenetleyici 3. 1 adet Hitachi uyumlu, 16x2 Karakter LCD Gösterge 4. 1 adet LDR 5. 1 adet 5 K.Ohm Potansiyometre veya TrimPot 6. 1 adet 10 K.Ohm Direnç 7. 1 adet 330 Ohm Direnç 8. 5V - 500 ma Güç kaynağı 9. İzoleli ince bakır tel (zil veya Jumper teli)