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

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

PIC 16F877 nin kullanılması

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

EEM 419-Mikroişlemciler Güz 2017

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İ

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

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

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

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:

PIC Programlama. Devrim Çamoğlu

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

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

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

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

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

Mikroişlemciler. Microchip PIC

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

RF Tabanlı Sayısal Veri Haberleşmesi

8051 Ailesi MCS51 ailesinin orijinal bir üyesidir ve bu ailenin çekirdeğini oluşturur çekirdeğinin temel özellikkleri aşağıda verilmiştir:

P IC 16F877. Program. Belleği

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

FBs-serisi. Programlanabilir Kontrol Cihazı. Kullanım Kitabı - II [ İleri Düzey Uygulamalar. Önsöz, İçerik. FBs-PLC Interrupt Fonksiyonu 9

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

Configuration bitleri ve reset durumları hakkında kavramlar

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ

PIC16F877A nın Genel Özellikleri

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

KANPUR/microcontrollers/micro/ui/Course_home3_16.htm Yrd.Doç. Dr.

ES130 Mikro Denetleyici Deney Seti

MİKROİŞLEMCİLER VE MİKRODENETLEYİCİLER

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

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

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

SAYISAL MANTIK LAB. PROJELERİ

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

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

EEM 419-Mikroişlemciler Güz 2016

DOKUMANLAR

BÖLÜM Mikrodenetleyicisine Giriş

T.C Niğde Üniversitesi Mühendislik Mimarlık Fakültesi Elektrik Elektronik Mühendisliği Bölümü

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

EasyPic 6 Deney Seti Tanıtımı

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

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

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

MODÜLER PIC DENEY SETİ

İÇİNDEKİLER. 1-1 Lojik ve Anahtara Giriş Lojik Kapı Devreleri... 9

T.C. MİLLÎ EĞİTİM BAKANLIĞI ELEKTRİK ELEKTRONİK TEKNOLOJİSİ MİKRODENETLEYİCİYLE ANALOG İŞLEMLER 523EO0022

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

PIC Mikrodenetleyicileri

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

ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİ

T.C Niğde Üniversitesi Mühendislik Mimarlık Fakültesi Elektrik Elektronik Mühendisliği Bölümü

L3 Otomasyon Laboratuvarı

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.

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 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

PIC Mikro denetleyiciler ve Programlama. Öğr.Gör.Bülent ÇOBANOĞLU

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

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

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

Bir mikroişlemci temel olarak üç kısımdan oluşur. Bunlar merkezi işlem birimi (CPU), giriş çıkış birimi (G/Ç) ve bellektir.

BESLEME KARTI RF ALICI KARTI

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

Ad Soyad: Öğrenci No:

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

PIC16F84 VE PIC C LITE COMPILER. Giriş / Çıkış port sayısı. Capture / Comp / PWM

2011 FİYAT LİSTESİ ISI KONTROL CİHAZLARI DİJİTAL PANELMETRELER ZAMAN RÖLELERİ DİJİTAL SAYICILAR ZAMAN SAATLERİ.

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ

MEKATRONİĞİN TEMELLERİ

Mikroişlemciler (EE 208) Ders Detayları

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

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

A-PDF Merger DEMO : Purchase from to remove the watermark T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

# 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ÖLÜM in Bellek Organizasyonu

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

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

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

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

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

RedoMayer Makina ve Otomasyon

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

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

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

Mikrodenetleyiciler (EE 314) Ders Detayları

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

KURULUMU İşletim Sistemi kurulumlarını(win7,pardus) bilgisayar üzerinde uygulama Bilişim Teknolojilerinin Temelleri Dersi Egzersizleri

TEKNOLOJİ FAKÜLTESİ ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ EET-206 SAYISAL ELEKTRONİK - II LABORATUVARI

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

RADYO FREKANSIYLA KABLOSUZ SICAKLIK KONTROLÜ WIRELESS TEMPERATURE CONTROL BY RADIO FREQUENCY

Doç. Dr. Cüneyt BAYILMIŞ

Komutların İşlem Süresi

C-Serisi PLC İleri Seviye Eğitim

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

PIC MİKRODENETLEYİCİLER İÇİN. mikrobasic DERLEYİCİSİ

Teorik Bilgi DENEY 7: ASENKRON VE SENKRON SAYICILAR

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

DERS BİLGİ FORMU ASENKRON VE SENKRON MAKİNALAR ( ) ELEKTRİK VE ENERJİ. Okul Eğitimi Süresi

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

Transkript:

V İÇİNDEKİLER BÖLÜM 1: MİKRODENETLEYİCİLER ve PIC16F877A... 13 1.1 Giriş... 13 1.2 Mikrochip Mikrodenetleyici Ailesi... 14 1.2.1 PIC12CXXX/PIC12FXXX Ailesi... 15 1.2.2 PIC16C5X Ailesi... 15 1.2.3 PIC16CXXX/PIC16FXXX Ailesi... 16 1.2.4 PIC17CXXX Ailesi... 16 1.2.5 PIC18FXXX Ailesi... 16 1.3 Genel Özellikleriyle PIC16F877A... 16 BÖLÜM 2: YAZILIM GELİŞTİRME ORTAMI... 21 2.1 Giriş... 21 2.2 MPLAB IDE (Uygulama Geliştirme Ortamı)... 22 2.2.1 MPLAB Metin Editörü İle Kaynak Kodu Oluşturma... 22 Program 2.1-0-255 Arasında İkilik Düzende Sayma... 23 2.2.2 PROJECT WIZARD Kullanarak Proje Oluşturma... 25 2.2.3 MPLAB ile Proje Derleme... 29 2.2.4 MPLAB SIM ile Simülasyon ve Hata ayıklama... 30 2.2.4.1 İzleme Penceresi (Watch)... 34 2.2.4.2 Durma Noktaları (Breakpoints)... 36 2.2.4.3 Simülasyon İzleme Penceresi (Simulator Trace)... 37 2.2.4.4 Simülasyon Sırasında Giriş Yapmak (Stimulus Controller)... 39 Program 2.2 - Saat Darbesini Dışarıdan Alan İkilik Tabanda Sayıcı... 41 2.3 IC-Prog (Programlama Ortamı)... 47 2.4 PIC DK V2.1 (Uygulama Deneme Kartı)... 51 2.4.1 Osilatör Seçimi... 53 2.4.2 Programlayıcı... 53 2.4.3 Güç Kaynağı... 54 2.4.4 PORTA... 55 2.4.5 PORTB... 56 2.4.6 PORTC... 57 2.4.7 PORTD... 58 2.4.8 PORTE... 59 BÖLÜM 3: PIC16F877A nın GENEL ÖZELLİKLERİ... 61 3.1 Mikrodenetleyici Mimarisi... 61 3.2 PIC16FXXX Komut Seti... 63 3.2.1 Byte Üzerine Uygulanan Komutlar... 64 3.2.2 Bit Üzerine Uygulanan Komutlar... 66

VI 3.2.3 Veri İşleme ve Kontrol Komutları... 66 3.2.4 Komut Açıklamaları... 68 3.3 PIC16F877A Bellek Organizasyonu... 73 3.3.1 FLASH Program Belleği... 74 3.3.1.1 Program Sayacı... 74 3.3.1.2 2Kb dan Uzak Adreslere Goto ve Call ile Ulaşmak... 75 3.3.2 RAM Veri Belleği... 78 3.3.2.1 PIC16FXXX RAM Adresleme Metodları... 80 İvedi Adresleme... 80 Doğrudan Adresleme... 82 Dolaylı Adresleme... 85 INDF ve FSR Kaydedicileri... 86 3.3.2.2 RAM Adreslerine Bank Değiştirerek Ulaşma İşlemi... 89 3.4 Giriş/Çıkış Portları... 90 3.4.1 PORTA... 91 3.4.2 PORTB... 93 3.4.3 PORTC... 94 3.4.4 PORTD ve PORTE... 95 3.5 STATUS ve TRIS Kaydedicileri... 96 3.5.1 STATUS Kaydedicisi... 96 Program 3.1 STATUS Kaydedicisi İçeriğinin Gösterilmesi... 97 3.5.1.1 STATUS Kaydedici İçeriğini Korumak... 100 STATUS Kaydedicisi... 102 3.5.2 TRIS Kaydedicileri... 103 3.6 Kesme ve INTCON Kaydedicisi... 104 3.6.1 INTCON Kaydedicisi İle Kontrol Edilen Kesmeler... 106 INTCON Kaydedicisi... 107 3.6.1.1 TMR0 Zamanlayıcısı Kesmesi... 107 3.6.1.2 RB0 Harici Kesmesi... 108 Program 3.2 Kesmelerin Genel Özellikleri ve RB0 Harici Kesmesi... 109 Program 3.3 Doğru Bir Harici Kesme Uygulaması... 111 3.6.1.3 RB4-RB7 Pinlerinde Değişiklik Kesmesi... 113 3.6.2 Çevresel Arabirim Kavramı ve Çevresel Kesme... 114 3.6.2.1 Çevresel Kesme Kaynakları... 118 3.6.3 Birden Fazla Kesme Kaynağını Beraber Kullanma... 118 Program 3.4 İki Kesme Kaynağını Birlikte Kullanmak... 119 3.7 CPU Özellikleri... 124 3.7.1 Osilatör Seçenekleri... 124 3.7.1.1 LP, XT ve HS Kristal Tipleri... 125 3.7.1.2 Harici Osilatör (Dışarıdan Uygulanan Saat Darbesi İle Çalışma)... 129 3.7.1.3 Direnç-Kondansatör Osilatör... 129 3.7.2 Sıfırlama(RESET) Devresi... 131 3.7.2.1 MCLR ile Sıfırlama... 132 3.7.2.2 Enerji Verildiği Anda Sıfırlama (POR)... 132 3.7.3 Düşük Güç (Sleep) Modu... 134 Program 3.5 RB0 Kesmesiyle Sleep Modundan Çıkma Uygulaması.. 136 Program 3.6 RB4 - RB7 kesmesiyle Sleep Modundan Çıkma Uygulaması... 138

VII 3.7.4 Program Doğrulama ve Kod Koruma... 139 3.7.5 Devre Üzerinde Programlama (ICSP)... 139 3.7.6 Düşük Gerilimle Programlama (LVP)... 140 3.7.7 Devre Üzerinde Hata Ayıklama (ICD)... 140 3.7.8 PCON (Power Control) Durum Kaydedicisi... 141 PCON Kaydedicisi... 141 3.7.9 Kimlik Bilgisi Konumu (ID Locations)... 142 3.7.10 Konfigürasyon Bit leri (Configuration Word)... 142 3.7.2.1 Program Yükleme Yazılımıyla Konfigürasyon Bit lerini Yazmak... 142 3.7.2.2 Programın İçerisinde Konfigürasyon Bit lerini Yazmak... 145 CONFIGURATION WORD... 146 BÖLÜM 4: ZAMANLAYICILAR ve SAYICILAR... 147 4.1 Giriş... 147 4.2 TIMER0 Modülü... 149 4.2.1 TIMER0 Kesmesi... 149 4.2.2 Harici Clock ile Timer0 Kullanımı... 150 4.2.3 Prescaler (Frekans Bölme Oranı)... 151 OPTION_REG Kaydedicisi... 153 Program 4.1 Timer0 ın Zamanlayıcı Olarak Kullanılması... 154 Program 4.2 Timer0 ın Harici Tetikleme (RB4/T0CKI) İle Sayıcı Olarak Kullanılması... 157 4.3 TIMER1 Modülü... 159 T1CON Kaydedicisi... 160 4.3.1 TIMER1 in Zamanlayıcı Olarak Kullanılması... 161 Program 4.3 Timer1 in Zamanlayıcı Olarak Kullanılması... 161 Program 4.4 Timer1 in Zamanlayıcı Olarak Kullanılması... 163 4.3.2 TIMER1 in Senkron Sayıcı Modunda Kullanımı... 166 Program 4.5 Timer1 in Senkronize Sayıcı Olarak Kullanılması... 166 4.3.3 TIMER1 in Asenkron Sayıcı Modunda Kullanımı... 169 4.3.4 TIMER1 Osilatörü... 169 4.3.5 TIMER1 Modülünü CCP Tetikleme Çıkışını Kullanarak Resetlemek... 170 4.3.6 TIMER1 Kaydedici Çiftini (TMR1H, TMR1L) Resetleme... 170 4.4 TIMER2 Modülü... 171 T2CON Kaydedicisi... 172 4.4.1 Timer2 Prescaler ve Postscaler ı... 173 Program 4.6 Timer2 nin Zamanlayıcı Olarak Kullanılması... 173 4.5 WDT (Watchdog Timer)... 175 Program 4.7 WDT nin Kullanılması... 176 Program 4.8 WDT Zamanlayıcısının Kullanılması... 179 BÖLÜM 5: CAPTURE/COMPARE/PWM MODÜLLERİ... 183 5.1 Giriş... 183 5.1.1 CCP1 Modülü... 184 5.1.2 CCP2 Modülü... 184 CCP1CON Kaydedicisi / CCP2CON Kaydedicisi... 185 5.2 Capture (Yakalama)... 186

VIII 5.2.1 Capture Modunda Pin Konfigürasyonu... 186 5.2.2 TIMER1 Modu Seçimi... 186 5.2.3 Capture Modunda Yazılım Kesmeleri... 187 5.2.4 Capture Modunda Prescaler Değeri... 187 Program 5.1 CCP1 Capture Modunun Kullanılması... 187 5.3 Compare (Karşılaştırma)... 190 5.3.1 CCP Pin Konfigürasyonu... 191 5.3.2 TIMER1 Modu Seçimi... 191 5.3.3 Özel Hal Tetikleyicisi... 191 Program 5.2 CCP1 Compare Modülünü Kullanmak... 192 5.4 PWM (Pals Genişlik Modülasyonu)... 195 5.4.1 PWM Peryodu... 196 5.4.2 PWM Duty Cycle (PWM Görev Çevrimi)... 197 5.4.3 PIC16F877A nın PWM İşlemi İçin Kurulması... 199 Program 5.3 PWM Modülünün Kullanılması... 199 BÖLÜM 6: SERİ İLETİŞİM... 205 6.1 Giriş... 205 6.2 SFR siz Seri İletişim... 206 6.2.1 SFR siz Asenkron Seri İletişim... 206 Program 6.1 SFR siz Asenkron Seri Veri İetişimi... 207 6.2.2 SFR siz Senkron Seri İletişim... 210 6.2.2.1 74HC595 (8-bit Kaydırmalı Kaydedici)... 211 Program 6.2 SFR siz Senkron Seri Veri İletişimi (74HC595 kullanılarak)... 212 6.2.2.2 74HC597(8-bit Kaydırmalı Kaydedici)... 216 Program 6.3 SFR siz Senkron Seri Veri İetişimi (74HC597 kullanılarak)... 217 6.3 MSSP Modülü ve Özellikleri... 222 6.4 MSSP İle SPI Modunda Seri İletişim... 222 SSPSTAT Kaydedicisi (SPI Modunda)... 223 SSPCON Kaydedicisi (SPI Modunda)... 224 6.4.1 SPI İşlemleri... 225 6.4.2 SPI Modunda Veri İletişim Kontrolü... 226 6.4.3 SPI Veri İletişimi Bağlantı Çeşitleri... 226 6.4.4 MSSP de SPI Master Modu... 227 Program 6.4 MSSP Modülünün SPI Master Modunda Veri İetişimi (74HC595 kullanarak)... 228 6.4.5 MSSP de SPI slave modu... 231 6.4.5.1 MAX7219 (8-Dijit LED Display Sürücü)... 233 Program 6.5 MSSP Modülü SPI Master İletişim (MAX7219 kullanarak)... 235 6.5 MSSP İle I 2 C Modunda Seri İletişim... 238 6.5.1 I²C Protokolü... 239 6.5.2 I²C Adresleme Modu... 241 6.5.3 MSSP de I 2 C Modu... 241 6.5.4 I 2 C Slave Modu... 243 SSPSTAT Kaydedicisi (I²C Modunda)... 244

IX SSPCON Kaydedicisi (I²C Modunda)... 245 SSPCON2 Kaydedicisi (I²C Modunda)... 246 6.5.4.1 PCF8574 (I²C Protokolü için 8-Bit Giriş/Çıkış)... 247 Program 6.6 I²C Protokolü İle Seri Veri İletişimi (PCF8574 kullanılarak)... 248 6.6 USART Modülü ve Özellikleri... 254 6.6.1 USART Baud Rate Generator (BRG)... 255 TXSTA Kaydedicisi... 256 RCSTA Kaydedicisi... 257 6.7 USART İle Asenkron Seri İletişim... 259 6.7.1 USART İle Asenkron Veri Gönderme... 259 6.7.2 USART İle Asenkron Veri Alma... 261 6.7.3 9 Bit Modunda Çalışma... 263 Program 6.7 USART Modülü İle Asenkron Seri Veri İetişimi... 264 Program 6.8 USART Modülü İle Asenkron Seri Veri İletişimi (PIC16F877A ile PIC 16F628A kullanılarak)... 267 6.8 USART İle Senkron Seri İletişim... 273 6.8.1 USART Senkron Master Modunda Veri Gönderme... 273 6.8.2 USART Senkron Master Modunda Veri Alma... 275 6.8.2.1 74HC165 (8-bit Kaydırmalı Kaydedici)... 276 Program 6.9 USART Modülü İle Senkron Master Mod Veri İetişimi (74HC165 kullanarak)... 277 Program 6.10 USART Modülü İle Senkron Master Mod Veri İletişimi (74HC595 kullanarak)... 280 6.8.3 USART Senkron Slave Modu... 283 6.8.3.1 USART Senkron Slave Modunda Veri Gönderme... 283 6.8.3.2 USART Senkron Slave Modunda Veri Alma... 284 Program 6.11 USART Modülü İle İki Mikrodenetleyici Arasında Master/Slave Senkron Seri Veri İletişimi... 285 BÖLÜM 7: ANALOG/DİJİTAL DÖNÜŞTÜRÜCÜ MODÜLÜ... 291 7.1 Giriş... 291 ADCON0 Kaydedicisi... 293 ADCON1 Kaydedicisi... 294 7.2 A/D Dönüşüm İçin Gereksinimler... 296 7.3 A/D Dönüşümü İçin Saat Kaynağı Seçimi... 297 7.4 Analog Port Pin lerini Yapılandırma... 297 7.5 A/D Dönüşüm... 298 Program 7.1 Analog/Dijital Dönüştürücü Uygulaması... 299 7.5.1 Sleep Modunda A/D Dönüşümü... 301 7.5.2 Resetlemenin Etkileri... 301 7.5.3 Transfer Fonksiyonu... 302 7.5.4 LM35 Isı Sensörü... 303 Program 7.2 A/D modülü kullanılarak ısı ölçümü (LM35 ile)... 304 BÖLÜM 8: KARŞILAŞTIRICI (COMPARATOR) MODÜLÜ... 309 8.1 Giriş... 309

X 8.2 Karşılaştırma Birimi... 309 8.2.1 Karşılaştırıcı Modları... 310 8.2.2 Karşılaştırıcının Çalışması... 310 8.2.3 Referans Gerilimi... 310 CMCON Kaydedicisi... 311 8.2.4 Karşılaştırıcı Çıkışları... 312 8.2.5 Karşılaştırıcı Kesmeleri... 313 8.2.6 Sleep Modunda Karşılaştırma İşlemi... 313 8.3 Voltaj Referans Birimi... 314 CVRCON Kaydedicisi... 315 Program 8.1 Komparatör modülünün iki bağımsız karşılaştırıcı olarak kullanılması... 316 Program 8.2 Komparatör modülünün dahili ortak referanslı 4 girişten seçimli iki karşılaştırıcı modunda kullanılması... 318 Program 8.3 Komparatörün ortak referanslı PORTA çıkışlı iki karşılaştırıcı olarak kullanılması... 321 BÖLÜM 9: DAHİLİ ve HARİCİ EEPROM BELLEKLER... 325 9.1 Giriş... 325 9.2 Dahili EEPROM Belleğin Özellikleri... 325 EECON1 Kaydedicisi... 326 9.2.1 EEADR ve EEADRH Kaydedicileri... 327 9.2.2 EECON1 ve EECON2 Kaydedicileri... 327 9.2.3 EEPROM Belleğinden Veri Okumak... 327 9.2.4 EEPROM Belleğe Veri Yazmak... 328 9.2.5 EEPROM a İstenmeyen Veri Yazılmasının Önlenmesi... 329 9.2.6 Kod Koruma Süresince EEPROM Veri İşlemi... 329 Program 9.1 Dahili EEPROM belleğe veri yazma ve okuma uygulaması... 329 9.3 Programın Çalışması Esnasında Flash Program Belleğine Erişim... 331 Program 9.2 Flash program belleğini okuma ve yazma uygulaması... 331 9.4 Harici EEPROM Bellekler... 337 9.4.1 24C32A Seri EEPROM... 338 Program 9.3 MSSP modülü kullanılarak 24C32A ile iletişim uygulaması... 340 9.4.2 24CXX Tipi EEPROM ların Özellikleri... 349 BÖLÜM 10: PARALEL SLAVE PORT (PSP) MODÜLÜ... 351 10.1 Giriş... 351 10.2 PSP Modülünün Kullanımı... 352 Program 10.1 Paralel slave port (PSP) uygulaması... 354 BÖLÜM 11: 7 SEGMENT li DİSPLAY ve TUŞ TAKIMI... 359 11.1 Giriş... 359 11.2 7 Segment li Display ler... 359 Program 11.1 7 segment display uygulaması (0-9 arası yukarı sayıcı)... 361 11.3 4 Dijitli 7 Segment Display Tasarımı... 363

XI 11.3.1 74LS47 (Ortak Anodlu 7 Segment Display Sürücü)... 364 Program 11.2 4 dijit 7 segment display uygulaması (0000-9999 arası yukarı sayıcı)... 365 11.4 Buton Kontrolü... 371 Program 11.3 Buton kontrol uygulaması... 371 11.5 Tuş Takımı (Klavye) Tasarımı... 373 Program 11.4 4x4 tuş takımı uygulaması... 374 Program 11.5.a Bir PIC ile 4x4 tuş takımdan okunan değeri USART senkron iletişim ile diğer bir PIC e gönderme uygulaması... 379 Program 11.5.b Bir PIC den USART senkron seri iletişim moduyla gönderilen veriyi diğer bir PIC den okuyarak PORTB deki LED lerde gösterme uygulaması... 382 BÖLÜM 12: LCD DİSPLAY ler... 385 12.1 Giriş... 385 12.2 Karakter Tabanlı LCD Display ler... 385 12.2.1 Display Data RAM (DDRAM)... 387 12.2.2 LCD Komutları... 388 12.2.3 LCD Karakter Seti... 390 Program 12.1 4-bit arabirim modunda LCD kullanımı... 391 12.3 Seri LCD Display ler... 403 Program 12.2 Seri LCD kullanımı... 404 12.4 Grafik Tabanlı LCD Display ler... 409 12.4.1 T6963C Tabanlı Grafik LCD Display... 409 12.4.2 T6963C Komut Seti... 411 T6963C STATUS Kaydedicisi... 413 Program 12.3 Grafik LCD kullanımı... 413 BÖLÜM 13: DC MOTOR UYGULAMALARI... 425 13.1 Giriş... 425 13.2 DC Motorlar... 425 13.2.1 L298 (DC Motor Sürücüsü)... 427 Program 13.1 DC motor yön ve hız kontrolü (L298 kullanarak)... 428 13.3 Step (Adım) Motorları... 430 13.3.1 Bipolar ve Unipolar Step Motorlar... 430 13.3.2 Step Motor Uç Tesbiti... 431 13.3.3 Step Motorun Çalıştırılması... 431 13.3.4 ULN2003 (Step Motor Sürücü)... 432 Program 13.2 Step motorun çift fazlı çalışmada tam ve yarım adım modunda kullanılması... 433 13.3.5 L297 (Step Motor Kontrol Sürücüsü)... 436 Program 13.3 Step motor kontrol uygulaması (L297 ve L298 sürücü ile)... 436 13.4 RC Servo Motorlar... 439 Program 13.4 RC servo motor kontrol uygulaması... 441

XII BÖLÜM 14: MikroC UYGULAMALARI... 445 14.1 Giriş... 445 14.2 Isı Uygulamaları... 447 14.2.1 DS1620 Isı Sensörü... 446 Program 14.1 DS1620 ısı sensörü uygulaması... 447 14.2.2 DS1621 Isı Sensörü... 451 Program 14.2 DS1621 ısı sensörü uygulaması... 453 14.2.3 DS18B20 Isı Sensörü... 458 Program 14.3 DS18B20 ısı sensörü uygulaması... 460 14.3 Saat Uygulamaları... 463 14.3.1 DS1302 RTC (Real-Time Clock Gerçek Zaman Saati)... 463 Program 14.4 DS1302 saat uygulaması... 464 14.3.2 DS1307 RTC (Real-Time Clock Gerçek Zaman Saati)... 470 Program 14.5 DS1307 saat uygulaması... 471 14.3.3 PCF8583 Saat/Takvim ve 240 x 8-bit RAM... 475 Program 14.6 PCF8583 saat uygulaması... 477 14.4 DS1990A (ibutton) Uygulaması... 481 Program 14.7 DS1990 (i-button) uygulaması... 482 14.5 DS1868 (Dijital Potansiyometre) Uygulaması... 484 Program 14.8 DS1868 (Dijital potansiyometre) uygulaması... 486 14.6 Rotary Pulse Encoder Uygulamaları... 489 Program 14.9 Rotary pulse encoder ile sayıcı uygulaması... 489 Program 14.10 Rotary pulse encoder ile ses üretme... 492 14.7 RF İletişim Uygulaması... 494 14.7.1 ATX-34 RF verici... 494 14.7.2 ARX-34 RF alıcı... 495 Program 14.11 PIC16F877A ile RF iletişim uygulaması... 496 14.8 DTMF Uygulaması... 500 14.8.1 MT8870 DTMF Ton Kod Çözücü... 501 Program 14.12 MT8870 ile DTMF ton kod çözücü uygulaması... 502 14.9 MPX4115 (Basınç Sensörü) Uygulaması... 506 Program 14.13 MPX4115 basınç sensörü uygulaması... 507 BÖLÜM 15: PIC DK 2.1 KARTI İÇİN TERMİNAL PROJESİ... 511 15.1 Giriş... 511 15.2 Terminal Projesi... 511 Program 15.1 Terminal Projesi... 515 KAYNAKÇA... 526 DİZİN... 527