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İ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ-3



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

# 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

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

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İ

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

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

PIC TABANLI, 4 BASAMAKLI VE SER

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

LCD (Liquid Crystal Display )

LCD (Liquid Crystal Display)

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB= BCF STATUS,5 ;bank0 a geçiş

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.

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

DENEY 5: İŞLEMSEL YÜKSELTEÇLER ve UYGULAMA DEVRELERİ

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

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

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

Karadeniz Teknik Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü Elektronik Laboratuvarı I İŞLEMSEL YÜKSELTECİN TEMEL ÖZELLİKLERİ VE UYGULAMALARI

BİLGİSAYARLI KONTROL OPERASYONAL AMFLİKATÖRLER VE ÇEVİRİCİLER

Hacettepe Robot Topluluğu

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

HUNRobotX - Makaleler - Hız Ayarlı Çoklu DC Motor Kontrolü. Makaleler Hız Ayarlı Çoklu DC Motor Kontrolü

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:

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ELEKTRONİK LAB 1 DERSİ İŞLEMSEL KUVVETLENDİRİCİ - 2 DENEYİ

Algılayıcılar (Sensors)

Deney 3: Opamp. Opamp ın (işlemsel yükselteç) çalışma mantığının ve kullanım alanlarının öğrenilmesi, uygulamalarla pratik bilginin pekiştirilmesi.

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

DENEY 6a- Dijital/Analog Çevirici (DAC) Devreleri

Şekil 3-1 Ses ve PWM işaretleri arasındaki ilişki

Bölüm 14 Temel Opamp Karakteristikleri Deneyleri

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

ELM202 ELEKTRONİK-II DERSİ LABORATUAR FÖYÜ

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

T.C FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

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İ

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

DENEY 6- Dijital/Analog Çevirici (DAC) Devreleri

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

KONFİGÜRASYON BİTLERİ

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

8 Ledli Havada Kayan Yazı

Komutların İşlem Süresi

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

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

DENEY NO: 7 İŞLEMSEL KUVVETLENDİRİCİ VE UYGULAMALARI. Malzeme ve Cihaz Listesi:

SAYISAL-ANALOG (DAC) ANALOG-SAYISAL(ADC) DÖNÜŞTÜRÜCÜLER

T.C. ONDOKUZ MAYIS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK LABORATUVARI-II DENEY RAPORU

DENEY NO : 2 DENEY ADI : Sayısal Sinyallerin Analog Sinyallere Dönüştürülmesi

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İ) TESİSAT TEKNOLOJİSİ VE İKLİMLENDİRME

Çizgi İzleyen Robot Yapımı

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

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

BÖLÜM X OSİLATÖRLER. e b Yükselteç. Be o Geri Besleme. Şekil 10.1 Yükselteçlerde geri besleme

DENEY 2 Op Amp: AC Uygulamaları

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İ

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

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

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ELEKTRONİK LAB 1 DERSİ İŞLEMSEL KUVVETLENDİRİCİ - 2 DENEYİ

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

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

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

DENEY FÖYÜ 7: İşlemsel Yükselteçlerin Doğrusal Uygulamaları

OP-AMP UYGULAMA ÖRNEKLERİ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1 OPAMP DEVRELERİ-1

KOCAELİ ÜNİVERSİTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ELEKTRONİK LAB 1 DERSİ İŞLEMSEL KUVVETLENDİRİCİ 1 DENEYİ. Amaç:

DENEY 21 IC Zamanlayıcı Devre

PIC 16F877 nin kullanılması

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

Analog Sayısal Dönüşüm

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

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

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

BÖLÜM Mikrodenetleyicisine Giriş

FAZ KİLİTLEMELİ ÇEVRİM (PLL)

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

ANALOG ELEKTRONİK - II YÜKSEK GEÇİREN FİLTRE

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

Bölüm 12 İşlemsel Yükselteç Uygulamaları

AREL ÜNİVERSİTESİ DEVRE ANALİZİ

ELM019 - Ölçme ve Enstrümantasyon 3

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

Şekil 5.1 Opamp Blok Şeması ve Eşdeğer Devresi

# 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

Deneyle İlgili Ön Bilgi:

Bölüm 10 İşlemsel Yükselteç Karakteristikleri

DENEY NO 3. Alçak Frekans Osilatörleri

4. 8 adet breadboard kablosu, 6 adet timsah kablo

Multivibratörler. Monastable (Tek Kararlı) Multivibratör

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

Fatih Üniversitesi Elektrik ve Elektronik Mühendisliği Bölümü EEM 316 Haberleşme I LAB SINAVI DARBE GENLİK MODÜLASYONU (PWM)

Şekil 6.1 Faz çeviren toplama devresi

Transkript:

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İ) BİLİŞİM TEKNOLOJİLERİ MİKRODENETLEYİCİ-3 ANKARA, 2008

Millî Eğitim Bakanlığı tarafından geliştirilen modüller; Talim ve Terbiye Kurulu Başkanlığının 02.06.2006 tarih ve 269 sayılı Kararı ile onaylanan, Mesleki ve Teknik Eğitim Okul ve Kurumlarında kademeli olarak yaygınlaştırılan 42 alan ve 192 dala ait çerçeve öğretim programlarında amaçlanan mesleki yeterlikleri kazandırmaya yönelik geliştirilmiş öğretim materyalleridir (Ders Notlarıdır.) Modüller, bireylere mesleki yeterlik kazandırmak ve bireysel öğrenmeye rehberlik etmek amacıyla öğrenme materyali olarak hazırlanmış, denenmek ve geliştirilmek üzere Mesleki ve Teknik Eğitim Okul ve Kurumlarında uygulanmaya başlanmıştır. Modüller teknolojik gelişmelere paralel olarak, amaçlanan yeterliği kazandırmak koşulu ile eğitim öğretim sırasında geliştirilebilir ve yapılması önerilen değişiklikler Bakanlıkta ilgili birime bildirilir. Örgün ve yaygın eğitim kurumları, işletmeler ve kendi kendine mesleki yeterlik kazanmak isteyen bireyler modüllere İnternet üzerinden ulaşabilirler. Basılmış modüller, eğitim kurumlarında öğrencilere ücretsiz olarak dağıtılır. Modüller hiçbir şekilde ticari amaçla kullanılamaz ve ücret karşılığında satılamaz.

İÇİNDEKİLER AÇIKLAMALAR...ii GİRİŞ...1 ÖĞRENME FAALİYETİ-1...3 1. MİKRODENETLEYİCİ İLE AD VE DA ÇEVİRİM...3 1.1. Çeviriciler...3 1.1.1. Analog...3 1.1.2. Sayısal (Dijital)...4 1.1.3. Çevrim Prensibi...4 1.1.4. Çeviricilerin Kullanım Alanları...4 1.1.5. İşlemsel Yükselteçler...6 1.2. Dijital Analog Çevirici (Digital To Analog Convertor - DAC )...11 1.2.1. DA Konvertör Prensibi...11 1.2.2. Dijital Analog Çevirici Uygulaması (DAC)...18 1.3. Analog Dijital Çevrici (Analog To Digital Convertor - ADC )...23 1.3.1. AD Konvertör Prensibi...23 1.3.2. AD Konvertör Uygulaması...31 UYGULAMA FAALİYETİ...41 UYGULAMA FAALİYETİ...43 UYGULAMA FAALİYETİ...45 UYGULAMA FAALİYETİ...47 ÖLÇME VE DEĞELENDİRME...49 ÖĞRENME FAALİYETİ 2...51 2. MİKRODENETLEYİCİ UYGULAMALARI...51 2.1. Led Gösteri...51 2.2. Zamanlayıcı...59 2.3. Mikrodenetleyici Bilgisayar Haberleşmesi...78 2.3.1. Bilgisayar Ayarları...83 UYGULAMA FAALİYETİ...84 UYGULAMA FAALİYETİ...85 UYGULAMA FAALİYETİ...86 ÖLÇME VE DEĞELENDİRME...87 MODÜL DEĞERLENDİRME...89 CEVAP ANAHTARLARI...90 i

KOD ALAN DAL/MESLEK MODÜLÜN ADI MODÜLÜN TANIMI SÜRE 40/32 ÖN KOŞUL AÇIKLAMALAR AÇIKLAMALAR 523EO0193 Bilişim Teknolojileri Bilgisayar Teknik Servisi Mikrodenetleyici-3 Mikrodenetleyicilerin programlanmasına ilişkin bilgilerin verildiği öğrenme materyalidir. YETERLİK Mikrodenetleyici ile D/A ve A/D çevrim yapabilmek. Uygulamalar yapmak ve geliştirmek. Genel Amaç Mikrodenetleyici ile çevrim kontrolleri ve uygulamaları yapabileceksiniz. MODÜLÜN AMACI EĞİTİM ÖĞRETİM ORTAMLARI VE DONANIMLARI ÖLÇME VE DEĞERLENDİRME Amaçlar 1. Mikrodenetleyici ile D/A çevrim yapabileceksiniz. 2. Mikrodenetleyici ile A/D çevrim yapabileceksiniz. 3. Mikrodenetleyiciler ile uygulamalar yapabileceksiniz. Mikrodenetleyici, programlama kartı ve yazılımı, bilgisayar, osilaskop, güç kaynağı, deney bordu, elektronik malzeme ve bu donanımların bulunduğu laboratuar. Her faaliyet sonrasında o faaliyetle ilgili değerlendirme soruları ile kendi kendinizi değerlendireceksiniz. Modül içinde ve sonunda verilen öğretici sorularla edindiğiniz bilgileri pekiştirecek, uygulama örneklerini ve testleri gerekli süre içinde tamamlayarak etkili öğrenmeyi gerçekleştireceksiniz. Sırasıyla araştırma yaparak grup çalışmalarına katılarak ve en son aşamada alan öğretmenlerine danışarak ölçme ve değerlendirme uygulamalarını gerçekleştirin. ii

GİRİŞ GİRİŞ Sevgili Öğrenci; Mikrodenetleyiciler bir çok alanda karşımıza çıkmaktadır. Sadece bilgisayar alanında kullanım yerleri için masaüstü ve dizüstü bilgisayarlar, modemler, yazıcılar, tarayıcılar, hub, router, pcmcia kartlar, pdalar ve dijital kameraları sayabiliriz. Mikrodenetleyici dersinin tamamladığınız modüllerinde assembler dilinde programlama kurallarına uygun temel programlar yazdınız, bu programların nasıl derlenip mikrodenetleyiciye yüklendiğini gördünüz. Birçok durumda şimdiye kadar gördüğünüz sayısal sistemlerden başka analog bilginin de işlem sürecine dahil edilmesi gerekir. Görüntü, ses gibi analog değerlerin işlenmesinde ve taşınmasında mikrodenetleyici tabanlı devreler de kullanılır. Bu nedenle analog sinyal yapısını bilmek gerekir. Bu modülde analog sinyal ile dijital bilginin yapısı, bunların birbirine nasıl dönüştürülebileceği açıklanacak, sonra da mikrodenetleyici ile analog ve dijital sinyaller kullanılarak kontrol uygulamaları ve bağımsız uygulamalar yapılacaktır. Bu modülü tamamlandığınızda mikrodenetleyici ve A/D, D/A çevirim kullanarak analog ve dijital sinyal içeren sistemlerin kontrolünün yapılmasına yönelik yeterliklere sahip olacaksınız. Ayrıca bir projeyi baştan sona her aşamasıyla uygulayabileceksiniz. Amacınıza uygun değişiklikleri yapabileceksiniz. 1

2

ÖĞRENME FAALİYETİ 1 AMAÇ ÖĞRENME FAALİYETİ-1 Mikrodenetleyicilerle yapılan Dijital / Analog (DA) ve Analog / Dijital (AD) çevrim işleri için gerekli temel bilgilere sahip olacaksınız. ARAŞTIRMA Bu faaliyet öncesinde yapmanız gereken öncelikli araştırmalar şunlardır: Çevrenizde ölçebileceğiniz büyüklüklerin neler olduğunu tespit edip bunların hangi birimlerle ölçüldüğünü tartışınız. Dijital ve analog cihazların neler olduğunu günlük yaşantımızda bunlardan hangileriyle karşılaşabileceğimizi not ediniz. 1. MİKRODENETLEYİCİ İLE AD VE DA ÇEVİRİM 1.1. Çeviriciler 1.1.1. Analog Şekil 1.1: Analog sinyal Doğada ölçebildiğimiz bilgilerin çoğunluğu analog bilgidir. Ağırlık, ses, sıcaklık ölçtüğümüz iki değer arasında süreklidir. Sonsuz sayıda seviye içerir örneğin sıcaklık 24 C ile 25 C arasında dediğimiz de, bu iki değer arasında sonsuz sıcaklık değerleri vardır 24.0000 01 C, 24.0000 02 C gibi bu örneği diğer fiziksel büyüklükler içinde çoğaltabiliriz. Bu şekilde sürekliliği olan bilgilere analog bilgi diyoruz. Sonsuz bilginin saklanması ve işlenmesi sayısal sistemlerde mümkün olmadığı için bu bilginin belirli aralıkta örneklenmesi gereklidir ancak bu şekilde sayısal sistemler tarafından işlenebilir. Disk, disket, cd, yarıiletken hafıza vb. de saklanabilir. 3

1.1.2. Sayısal (Dijital) Şekil 1.2: Sayısal bilgi Şekil 1.3: İkilik sayısal bilgi Sayısal (Dijital) ise ara değerlerin olmadığı lojik (mantık) bilgi olarak adlandırılabilir. İkilik sayısal formda ise yalnız iki durum vardır.yüksek ve alçak seviye, lojik 1 ve lojik 0, kapı tam açık yada tam kapalı gibi, analog olarak kapının durumunu ifade etmek için sonsuz seçenek vardır. Kapının kapanması için 100 cm var 99,000000001 cm var gibi, oysa ikilik sayısal formda kapı sadece iki durumdan birinde olabilir. Kapının pozisyonu için ya açıktır yada kapalıdır ifadesi kullanılır. 1.1.3. Çevrim Prensibi Mikroişlemciler, mikrodenetleyiciler ikilik sayısal bilgiyi işlerler. Dış ortamda ölçülmesi, alınması gereken bilgi yada dış ortama verilmesi gereken bilgi analog olabilir Bu çevrim işini yapan devreler vardır. Analog sinyali sayısal bilgiye çeviren devrelere dijital analog konvertör, DAC (Digital to Analog Converter), analog bilgiyi dijital bilgiye çeviren devrelere Analog dijital konvertör,adc (analog-to-digital converter) denir. Bilgisayar ve kontrol sistemlerinde bu dönüşümlerin kullanıldığı bir çok yer vardır. Örneğin Kesintisiz güç kaynakları (ups), tv radyo kartları, crt monitörler,ekran kartları(ramdac kısmında), ses kartları, modemler, dijital girişli yükselteçler (pc SPDIF çıkışını kullananlar),görüntü yakalama kartlarında,kontrol ve ölçüm sistemlerinde kullanılan mikrodenetleyici ve mikrobilgisayar sistemlerinde DA ve AD çevrim için kullanılırlar. 1.1.4. Çeviricilerin Kullanım Alanları Fax modemlerde;adc ve DAC kullanılır analog şekildeki veri, telefon hattındaki taşıyıcı sinyale bindirilir ve karşı taraftaki modeme ulaştırılır. Karşı modem iletilen verileri ters işleme tabi tutar ve ADC vasıtasıyla sayısal hale getirilir. Tv radyo kartların da; Tuner de analog sinyalin sayısal sinyale dönüştürülmesinde.görüntü yakalama kartlarında; Analog kaynaktan gelen görüntü ve ses bilgisinin sayısala dönüştürülmesinde.ses kartlarında; Mikrofondan yada analog girişten gelen analog sinyalin sayısala dönüştürülmesinde.ekran kartları da bilgisayarda üretilen dijital biçimdeki görüntülerin ekrana (monitör) analog sinyaller olarak aktarılmasını sağlayan bir donanım bileşenidir. PC anakartlarında sıcaklık ölçümünde, PC güç kaynaklarında şebeke geriliminin elde edilmesinde (DAC) kullanılır. 4

Resim 1.1: Ekran kartı RAMDAC (RAM Dijital-to-Analog Converter) Resim 1.2: Power supply Resim 1.3: Çift yönlü analog dijital video konvertör 5

Resim 1.4: Fax modem kartı 1.1.5. İşlemsel Yükselteçler Resim 1.5: ses kartı 4 kanal ADC entegresi DAC ve ADC lerin çalışmasını kavrayabilmek için işlemsel yükselteçlerin çalışmasını anlamak gereklidir.aşağıdaki konularda; işlemsel yükselteçler karşılaştırıcı ve toplayıcı yükselteç olarak kullanılmıştır. İşlemsel yükselteçler (Operationel amplifier ) kısaca Op-amp olarak adlandırılır. Opamp lar direkt kuplajlı yüksek kazanca sahip dc yükselteç içeren devrelerdir. Entegre devre şeklinde Op-amplar olduğu gibi Op-amp devreleri başka entegre devrelerin içerisinde de kullanılır( örneğin DAC ve ADC entegre devreleri gibi) kullanım alanları çoktur. Devre tasarımında oldukça kolaylık sağlarlar, Dışarıdan eklenecek birkaç elemanla değişik özelliklere sahip devreler oluşturmak mümkündür. (Op-amplar modülüne bakınız) Farklı özelliklere sahip birçok Op-amp entegresi vardır LM353, LM10, TL051, LM324, NE5532, LMV932 gibi. Bazı entegre kılıfları içerisinde iki yada dört Op-amp olabilir. Çalışma gerilimleri ± 22 volta çıkabilir(lm359).çalışma frekansları 100 MHz (LM6172) ve üzerinde olabilir. Kullanılacak Op-ampın bilgi sayfalarında bu tip bilgilerin tamamı vardır. Op-amplar içerisinde XX741 en sık rastlayacağımız Op-amp entegrelerinden biridir. 6

Resim 1.6: Farklı Op-amp ve özellikleri Op-amp temel devrelerine ; tersleyen, terslemeyen yükselteç devreleri, türev ve integral alıcı devreler, filtre devreleri, sinyal üreteci devreleri, DAC ve ADC devreleri verilebilir. Op-amplar, mikrodenetleyicilerle, giriş/çıkış sinyal seviyesinin yükseltilmesi yada tampon devresi olarak kullanılır. 1.1.5.1. Op-amp Girişleri Op-ampların iki girişi vardır bunlardan birincisi çeviren( -, tersleyen, eviren, inverting) giriş, diğeri çevirmeyen ( +, terslemeyen, evirmeyen, non-inverting) girişdir.çevirmeyen girişe uygulanan sinyal 180 faz farklı olarak çevirmeyen girişe uygulanan sinyal ise aynı fazlı olarak yükseltilip çıkışa aktarılır. Şekil 1.4: Op-amp sembolü 1.1.5.2. Op-ampların Besleme Gerilimleri Op-ampların ideal beslemesi simetrik olmalıdır. ( ± 5V, ±12 Volt gibi) Devreye uygun olarak asimetrik yada sanal simetrik beslemeyle de çalıştırılabilirler. 7

Şekil 1.5: Simetrik Besleme Şekil 1.6: Asimetrik Besleme Şekil 1.7: Sanal simetrik besleme 8

1.1.5.3. Op-ampların Özellikleri İdeal Op-ampların özellikleri: Giriş empedansları çok yüksektir Çıkış empedansları çok düşüktür Geri beslemesiz gerilim kazançları çok yüksektir A = 200000 Band genişlikleri yüksektir. Yukarıdaki değerler Op-ampa göre farklılık göstermekle beraber genel bir kabuldür. 1.1.5.4. Gerilim İzleyici (Voltage Follower) Şekil 1.8: Op-amp gerilim izleyici bağlantısı Gerilim izleyici devre, gerilim kazancının 1 ve giriş olduğu devre şeklidir. çıkış işaretlerinin aynı fazda Eşdeğer devresinden görüldüğü gibi Vo = Vi 'dir. Bu devrenin giriş empedansı yüksek, çıkış empedansı düşük olduğu için empedans uygunlaştırmada kullanılır. Katlar arasında en az kayıpla sinyal transferinin gerçekleştirir. Gerilim izleyici devrelerde gerilim kazancı l 'e eşittir. Av = 1 En yüksek band genişliği bu devre şeklinde sağlanır. 1.1.5.5. Toplar Yükselteç (Summing Amplifier) Olarak Kullanılması DAC devrelerinde kullanılır. Girişlerine verilen gerilimleri toplar kazancıyla çarpıp tersler ve çıkışına verir. 9

Şekil 1.9: Op-amp toplar yükselteç bağlantısı Şekil 1.9 da görüldüğü gibi devre, tersleyen yükselteç gibi çalışmaktadır. Direnç değerlerini eşit ve kazancı -1 kabul ettiğimizde Vo = -(Vi1+Vi2+Vi3) olarak hesaplanır. DAC devrelerinde ise giriş dirençleri; Bitin ağırlığıyla orantılı olarak değişir bu durumda çıkış gerilimi V o = -[(R f / R 1 ).Vi 1 + (R f / R 2 ).Vi 2 + (R f / R 3 ).Vi 3 + + (R f / R n ).Vi n ] olur. Formüldeki (-) işaret, OP-AMP'ın tersleyen yükselteç olarak çalışmasından kaynaklanmaktadır. 1.1.5.6. Karşılaştırıcı (Comparator) Olarak Kullanılması ADC lerde kullanılır: Şekil 1.10: Op-amp karşılaştırıcı bağlantısı 10

Karşılaştırıcı, giriş gerilimini, referans gerilimi ile karşılaştıran devredir. Çıkış Gerilimi; giriş geriliminin referans gerilimine eşit, referans geriliminden büyük ya da küçük olmasına bağlı olarak O volt, pozitif veya negatif kaynak gerilimlerinden biri olur. Opampların açık çevrim kazançları çok yüksek olduğu için (200000) girişler arasındaki çok küçük bir gerilim farkı çıkışa +V ya da V olarak yansır. Tablo 1.1 de giriş gerilimine göre çıkışın alacağı durumlar belirtilmiştir. Tablo 1.1: Simetrik besleme için karşılaştırıcı giriş çıkış durumları 1.2. Dijital Analog Çevirici (Digital To Analog Convertor - DAC ) 1.2.1. DA Konvertör Prensibi Şekil 1.11: Dijital analog konvertör Bilgisayar sistemleri sayısal olmakla beraber, çalışmak için analog katlara da ihtiyaç duyarlar. Ekran kartları, ses kartları, görüntü yakalayıcı, modem, UPS lerdeki gibi. Bu tip donanımların çalışabilmeleri için dijital analog çevrime ihtiyaçları vardır. Sistem içerisinde işlem ikilik sayısal sayı sistemiyle olur. Çıkışların ise bazı durumlarda analog bilgiye dönüştürülmesi gerekir, hoparlör gibi. Yukarıda örneğini verdiğimiz ses bilgisinin duyulabilir bir hale gelmesi için analog sinyale dönüştürmek gerekmektedir. UPS lerde şebeke gerilim şeklini taklit edebilmek için sayısal analog dönüşümü yapmak gereklidir. Modemde ise bilginin telefon hattına verilebilmesi için kullanılır. Bu dönüşümü yapan devrelere, dijital analog çevirici devreleri denir. DAC lar giriş bit sayısına ve hızına (çevrim süresine) göre gruplandırılır. 8-24 bit arası girişe sahip DAC entegre devreler vardır. 11

Resim 1.7: Seri 8-bit gerilim çıkışlı DAC Resim 1.8: Yüksek hızlı 60 MHz 8-bit DAC Resim 1.9: DAC 1220 Seri 20-bit DAC 12

Temel olarak DAC devreleri iki şekilde oluşturulabilir. Ağırlık dirençli (paralel girişli) çeviriciler (Weighted-Resistor converters) R-2r merdiven tipi çeviriciler (R-2R resistor ladder D/A converters) 1.2.1.1. Temel Dijital Analog Çeviriciler Ağırlık Dirençli ( paralel girişli) Çeviriciler (Weighted-Resistor converters) Şekil 1.12: Ağırlık dirençli çevirici Temel olarak toplayıcı devrelerdir. Giriş dirençlerinin değerleri veri bitlerinin ağırlığına göre seçilmiştir. Şekil 1.12 deki devre dört bitlik DAC tır. Dirençler kat olarak verilmiştir. Dört bitlik DAC için; MSB bitini sağlayan direnç değeri 2 0 = 1 R, LSB bitini sağlayan direnç değeri 2 4 = 8 R olacaktır. Örneğin R = 5 K seçersek LSB bitinin girişindeki direnç 8 x 5K = 40 K olacaktır. Buradaki Op-amp toplama işlemi yapar, yüksek giriş empedansı ve düşük çıkış empedansı da sağlar. Çıkış gerilimi Vout = -RF / ( 8R x Vref x (8 x d + 4 x c + 2 x b + 1 x a )) dır. Bu tip bir DAC ın kararlılığı ve hassasiyeti düşüktür. Çıkış gerilim hatası, direnç toleranslarına ve sıcaklığa bağlı olarak fazladır. 13

Tablo 1.2: DAC giriş bilgisine göre çıkış geriliminin değişimi Tablo 1.2 de 4 bitlik DAC devresi giriş çıkışları değerleri görülmektedir. 4 bitlik DAC için 2 4 = 16 farklı çıkış seviyesi oluşturulmaktadır. Vref 5V için = 5/16 = 333mV luk hassasiyet sağlanmaktadır. Bit sayısı artırıldıkça hassasiyet de artacaktır. Bit sayısının değiştirilebilmesi için 2 n değerini koruyarak daha fazla giriş direnci eklemelidir. R-2R Merdiven Tipi Çeviriciler (R-2R resistor ladder D/A converters) R-2R merdiven tipi DAC tercih edilen ve DAC entegrelerinde sıklıkla kullanılan bir yöntemdir. Kararlılığı iyidir. Malzeme çeşitliliğinin az olması üretim aşamasında avantaj sağlar. Resim 1.10 da mikrodenetleyici çıkışına bağlanmış R-2R merdiven tipi DAC devresi görülmektedir. 1.2.1.2. Mikrodenetleyiciler ve DAC Mikrodenetleyici kullandığınız bir uygulama devresinde, analog gerilim çıkışı gerekebilir. Bu durumda portlardan çıkan dijital sinyalleri analog gerilime çevirme işlemi söz konusu olmaktadır. Bu durumda mikrodenetleyici çıkışına bir DAC devresi kurulabilir. 14

Resim 1.10: Mikrodenetleyici çıkışına bir DAC devresi bağlantısı 1.2.1.3. Darbe Genişlik Modülasyonu PWM (Pulse Width Modulation) Metodu Kullanmak PWM, üretilen kare dalganın iş ve bekleme süreleri oranını ( duty cycle) kontrol ederek çıkışta istenilen değerde doğru gerilim elde etme tekniğidir. PWM tekniği, telekomünikasyon, güç, voltaj düzenleyiciler veya ses üreteçleri gibi farklı yerlerde kullanılmaktadır. PWM'in kullanıldığı yerlerden biri de güç kaynaklarıdır. SMPS (Switched mode power supply) güç kaynakları, çıkış gerilimlerini bu teknikten yararlanarak oluştururlar. Şekil 1.13: Pwm sinyali 15

Örnek 1 t = 5 milisaniye T = 20 milisaniye Vp = 5 V Vo (ölçülen çıkış gerilimi)=? n = 5 / 20 = 0,25 oran %25 için Vo = 0,25 x 5 Volt Vo = 1,25 Volt Örnek 2 t = 10 milisaniye T = 20 milisaniye Vp = 5 V Vo =? n = 10 / 20 = 0,5 oran %50 için Vo = 0,5 x 5 Volt V0 = 2,5 Volt Soru 1 t = 150 milisaniye T = 200 milisaniye Vp = 5 V Vo =? Vo = (3,75 Volt) İş süresi uzatıldığında çıkış geriliminin ortalama değeri de büyümektedir. Öncelikle iş ve bekleme süreleri değil, birbirine oranları önemlidir. olur. Eğer iş süresi % 100 olursa çıkış gerilimi 5 V, iş süresi % 0 olursa çıkış gerimi 0 V İş süresi % 50 ise çıkış gerilimi (5 V) 2.5 V İş süresi % 25 ise çıkış gerilimi (5 V) 1.25 V İş süresi % 75 ise çıkış gerilimi (5 V) 3.75 V olur. 1.2.1.4. Mikrodenetleyiciler ile PWM R 4kΩ C = 10nF 16

Şekil 1.14: Mikrodenetleyici pwm çıkışının filtre edilmesi PWM metodu da bir DAC gibi çalışır. Burada mikrodenetleyici kaydedicisindeki ikilik sayıyla orantılıdır ve DC gerilim PWM pininden doğru gerilim olarak alınır. Bu sayı h 00 ila h FF arası olabilir. Aslın da pinden çıkan iş ve bekleme süreleri farklı kare dalgadır. RC filtresinden Şekil 1.14 geçirilen bu sinyal doğru gerilime dönüşmüş olur. Kare dalganın pals genişliğini ayarlama suretiyle DC çıkış gerilimini değiştirebilir. Birçok mikrodenetleyici donanımsal PWM çıkışına sahiptir ( örneğin 16f628). 1.2.1.5. İş ve Bekleme Süresinin Tespit Etmek Şekil 1.15: PWM çıkış algoritması Mikrodenetleyici ile PWM tekniğini kullanmak istediğimizde Şekil 1.15 teki algoritmayı kullanabiliriz. Burada bekleme1 bekleme süresini, bekleme ise iş süresini belirler. Aşağıda basit bir PWM programındaki gecikme alt programı verilmiştir. GECIKME MOVWF SAYAC DONGU DECFSZ SAYAC, F GOTO DONGU RETURN 17

SAYAC registeri içerisindeki ilk sayı h'ff' olursa her defasında SAYAC'tan "1" çıkarılır. SAYAC'ın "0" a gelmesi için 256 döngü gerekir. Bu GECIKME alt programıyla çıkış peryodunun % 100'ünü elde ettiğimizi düşünürsek iş süresi ve bekleme süresini tespit etmek için h'ff' /Desimal 256) sayısının yüzdesini almak gerekir. Örneğin; 2.5 V luk çıkış için % 50 iş süresi % 50 bekleme süresi gerekir. Bu durumda SAYAC registeri içerisine atayacağımız sayılar ne olmalıdır? 256 x (% 50) = 128 h'80' (İş süresi için) 256 x (% 50) = 128 h'80' (bekleme süresi için) 1.25 V luk çıkış için %25 iş süresi % 75 bekleme süresi 256 x (%25) = 64 h'40' (İş düresi için) 256 x (%75) = 192 h'c0' (Bekleme süresi için) 0.5 V luk çıkış için % 10 iş süresi % 90 bekleme süresi 256 x (% 10) = 25.6 26 h'1a' (iş süresi için) 256 x (% 90) = 230.4 230 h'e6' (bekleme süresi) 1.2.2. Dijital Analog Çevirici Uygulaması (DAC) 1.2.2.1. Uygulama 1 Bu program; mikrodenetleyici ve DAC entegresi kullanarak sinüzoidal gerilim üretir. Uygulamalarda mikrodenetleyici ve DAC entegre devresi kullanılarak farklı dalga şekillerinde analog gerilimler elde edilecektir. Programa uygun çıkış veren portb deki sayısal bilgi, DAC entegresi tarafından analog gerilime dönüştürülür. Portb değeri çıkış genliğini, değişim hızı da çıkış frekansını belirler. Op-amp çıkış gerilimini tersler ve yükseltir. Uygulanacak üç programda da aynı devre kullanılacaktır. Kullanılan araç gereç ve malzeme 1) Pc, pic programlama kartı 1 2) Güç kaynağı 2 3) 27pF mercimek kondansatör 2 4) 16F84A 1 5) DAC0808 1 6) 10K 1 7) 4K7 2 8) 100nF polyester kondansatör 1 9) LM741 1 18

10) 4 MHz Kristal 1 11)Osilaskop 1 12) Avometre 1 13) Deney bordu 1 Uygulama devresi Şekil 1.16: Uygulama devresi Program Resim 1.11: Deney bordu kurulumu LIST P=16F84A #include "P16F84A.INC" CONFIG _WDT_OFF &_XT_OSC &_PWRTE_ON &_CP_OFF ; SAYAC EQU H'0021' OFSET_SAY EQU H'0022' BASLA BSF STATUS,5 ; Bankl e geç CLRF TRISA ; PORTA tüm uçları çıkış CLRF TRISB ; PORTB tüm uçları çıkış 19

BCF STATUS,5 ; Bank0 a geç CLRF PORTA ; CS ucunu "0" yap SAYKIL CLRF OFSET_SAY ; Tablo ofset sayacını sıfırla ADIM MOVF OFSET_SAY, W ; W Ofset sayacını yaz CALL TABLO MOVWF PORTB ; Veriyi portb'ye yükle BCF PORTB, 0 CALL GECIKME MOVF OFSET_SAY, W ; Ofset sayacını W'ye yaz SUBLW h'23' ; Saykıl bitti mi? BTFSC STATUS, 2 ; Zero flag'ı kontrol et GOTO SAYKIL INCF OFSET_SAY ; OFSET_SAY OFSET + 1 GOTO ADIM GECIKME MOVLW h'01' ; 3N+3 saykıl(desimal), N=1 MOVWF SAYAC ; W SAYAC TEKRAR DECFSZ SAYAC, F ; SAYAC SAYAC - 1 GOTO TEKRAR ; SAYAC 0 değil RETURN TABLO ADDWF PCL,F ; OFSET_SAY'ı PLC'ye yükle RETLW h'80' ; RETLW h'95' ; RETLW h'ad' ; RETLW h'c1' ; RETLW h'd3' ; RETLW h'e2' ; RETLW h'ef' ; RETLW h'f8' ; RETLW h'fd' ; RETLW h'ff' ; RETLW h'fd' ; RETLW h'f8' ; RETLW h'ef' ; RETLW h'e2' ; RETLW H'D3' ; RETLW h'c1' ; RETLW h'ad' ; RETLW H'95' ; 20

RETLW h'80' ; RETLW h'6a' ; RETLW h'54' ; RETLW h'40' ; RETLW h'2e' ; RETLW h'1e' ; RETLW h'11' ; RETLW H'08' ; RETLW h'02' ; RETLW h'00' ; RETLW h'02' ; RETLW h'08' ; RETLW h'11' ; RETLW h'1e' ; RETLW h'2e' ; RETLW h'40' ; RETLW h'54' ; RETLW h'6a' ; END 1.2.2.2. Uygulama 2 Bu program; mikrodenetleyici ve DAC entegresi kullanarak testere dişi gerilimi üretir. Program LIST P=16F84A #include "P16F84A.INC" CONFIG _WDT_OFF &_XT_OSC &_PWRTE_ON &_CP_OFF VOLT EQU H'0021' SAYAC EQU H'0022' BASLA BSF STATUS, 5 ; Bankl CLRF TRISA ; PORTA tüm uçları çıkış CLRF TRISB ; PORTB tüm uçları çıkış BCF STATUS, 5 ; Bank0 CLRF VOLT ; VOLT değişkenini sıfırla DONGU MOVF VOLT, W ; W = VOLT (h'00') MOVWF PORTB ; PORTB W INCF VOLT, F ; VOLT = VOLT +1 21

;** VOLT içeriği h FF den +1 le h 00 a otomatik döner** GOTO DONGU END 1.2.2.3. Uygulama 3 Bu program; mikrodenetleyici ve DAC entegresi kullanarak kare dalga gerilimi üretir. PWM tekniği olarak da kullanılabilir. Eğer bu şekilde kullanılacaksa DAC kullanılmayabilir. PROGRAM LIST P=16F84A #include "P16F84A.INC" CONFIG _WDT_OFF &_XT_OSC &_PWRTE_ON &_CP_OFF ; ; Değişken tanımlamaları yapılıyor SAYICI1 EQU H'0022' SAYICI2 EQU H'0021' ; Giriş çıkış ayarlamaları yapılıyor CLRF PORTB BSF STATUS, 5 ; Bankl CLRF TRISA ; PORTA tüm uçları çıkış CLRF TRISB ; PORTB tüm uçları çıkış BCF STATUS, 5 ; Bank0 ; Program başlangıcı BASLA MOVLW H'FF' ; Çıkışlar lojik 1 MOVWF PORTB CALL GECIKME MOVLW H'00' ; Çıkışlar lojik 0 MOVWF PORTB CALL GECIKME GOTO BASLA ;**Kare dalganın yüksek ve düşük seviye zamanlarını buradan ayarlıyoruz.** GECIKME ; İçiçe iki zaman gecikmesi kullanılıyor MOVLW H'64' MOVWF SAYICI1 DONGU1 MOVLW H'64' MOVWF SAYICI2 22

DONGU2 DECFSZ SAYICI2,F GOTO DONGU2 DECFSZ SAYICI1, F GOTO DONGU1 RETURN END 1.3. Analog Dijital Çevrici (Analog To Digital Convertor - ADC ) 1.3.1. AD Konvertör Prensibi Resim 1.15: Analog dijital çevrim Resim 1.16 Analog dijital konvertör (ADC) blok gösterimi Analog sinyalini sayısal bilgiye çeviren devrelerdir. ADC olarak (analog-to-digital converter) adlandırılırlar. Bilgisayarlara ya da dijital sistemlere gelen analog sinyalini bu sistemlerin işleyebileceği ikili sayısal sisteme çevirirler. 23

Dış dünyadaki fiziksel büyüklüklerin çoğu analog değerlerdir. Örneğin ısı, sıcaklık, ağırlık, nem oranı, ışık şiddeti, ses şiddeti vb. büyüklükler hep analog olarak değişkenlerdir. Dijital sistemlerin dış dünya ile bağlantılarını sağlamak için; ölçülen fiziksel büyüklüklerin, dijital sistemin anlayabileceği ve işleyebileceği sayısal değerlere dönüştürülmeleri gerekir. Çeşitli transdüserlerle (ısı sensörü, ışık sensörü, basınç sensörü, termistör, fototransistor vb.) gerilim, akım gibi değerlere dönüşen fiziksel büyüklükler analog sistemlerde direkt olarak işlenebilirler. Fakat bu gerilim değerlerinin dijital sistemlerde kullanılabilmeleri için ikili sayı şekline dönüştürülmeleri gerekir. Dijital sistemlerde, analog gerilim büyüklüklerinin belli gerilim aralıklarıyla temsil edilen lojik 1 veya 0 değerlerine dönüştürülmeleri gerekir. 1.3.1.1. Örnekleme Analog sinyalin tümünü çevirmek yerine belirlenmiş aralıklarla örnekler alınır ve bu değerler çevrilir. Bir gerilim aralığını tek ikili sayı temsil eder bu da çevrim sonucunun analog sinyalle tamamen aynı olmasını engeller. Örnekleme adedi (frekansı) artırılarak orijinaline en uygun sayısal dönüşüm sağlanabilir. Dezavantaj olarak da örneklemenin arttırılmasıyla; analog sinyalin karşılığı olan sayısal bilginin boyutu büyür. Ayrıca gelen işaret ADC devresinin sayısallaştırma hızından daha hızlı bir şekilde değişiyorsa ölçülen verilere hata eklenir. Diğer bir deyişle çok yavaş örneklenmiş veri tamamen farklı bir frekans şeklinde ortaya çıkabilir. En yüksek frekanslı bileşenin en az iki katı frekansta örnekleme yapılmalıdır. Resim 1.17: Analog sinyalin örneklenmesi ve dijitale dönüşümü 1.3.1.2. Çoğullama (Multiplexing) Tek bir A/D Çevirici ile birden fazla işareti ölçmenin genel bir yoludur. Giriş işareti seçilir, A/D çeviriciye yönlendirilir, sıradaki kanala anahtarlanır ve bu şekilde tekrar eder. ADC birden fazla kanalı örneklediğinden etkin (effective) örnekleme hızı kanal sayısı arttıkça düşecektir. Çok kanallı ADC ler ve mikrodenetleyiciler içerisinde tek ADC varken çoğullama ile iki ya da fazla ADC girişine sahip olabilirler. 24

1.3.1.3. Hassasiyet Resim 1.18: Analog dijital konvertörün iç yapısı ADC ler 8-24 bitlik çıkışa sahip olabilirler. Çıkış sayısı artıkça hassasiyet de artar. Bir A/D çeviricinin hassasiyeti çözünürlük için kullandığı bit sayısı ve Vref gerilimiyle orantılıdır. Hassasiyet = Vref / 2 çıkış bit sayısı volt tur. Örneğin; 8 bitlik ADC0800 entegresiyle elde edeceğimiz maksimum voltaj kombinasyonu 2 8 = 256 adettir. Vref ADC nin çalışması için gerekli sabit gerilimdir. Bu Vref adını verdiğimiz referans voltajının 1/256 sı kadar küçük parçalarının toplamı ile o anda girişte bulunan voltajı ifade edebileceğimiz anlamına gelir. Vref voltajımız 5 volt ise en küçük voltaj birimimiz yaklaşık olarak 19 milivolt olacaktır. Bu; 5 volt = 5000 mv 5000/256=19mV olarak kolayca hesaplanabilir. Eğer 12 Bit bir A/D çevirici kullansak hassasiyet 1/2 12 = 1/4096 birim olur. Örnek olarak Vref = 5 Volt = 5000 milivolt ise 5000/4096 = 1.2 mv luk bir çözünürlük elde ederiz. 1.3.1.4. Hız A/D çeviricilerin performans karakteristiklerini belirleyen faktörlerden biri işlem hızı yani analog voltajı dijital bilgiye çevirme hızlarıdır. Girişteki analog sinyalin değişim hızı (frekansı) kullanılan ADC nin çevirme hızından yüksekse; çıkıştaki dijital bilgi girişteki analog sinyali takip edemeyecek ve yanlış olacaktır. 25

Entegre şeklinde bir çok ADC vardır. Örnek ADC0804(8 bit), ADS1210(24 bit), max195(16 bit) Resim 1.19: ADC10080 10 bit ADC Resim 1.20: MCP3204 12-bit Analog Dijital Konvertör Resim 1.21: 7107 display çıkışlı ADC 26

1.3.1.5. ADC Tasarım Şekilleri ADC ler farklı şekillerde tasarlanabilir bunlar; Kodlayıcı ile (encoder) ile A/D çeviriciler, Direnç merdiven dalgalı A/D çeviriciler, Tek meyil tamamlaması ile yapılan ADC ler, Çift meyil tamamlaması ile yapılan ADC lerdir. 1.3.1.6. Kodlayıcı ile (Encoder) A/D Çeviriciler Şekil 1.18: Kodlayıcılı ADC Şekil 1.18 deki devrenin çalışması şu şekildedir; Devre iki bitlik bir ADC işlemi yapar. n çıkış bit sayısı olmak üzere 2n den; 2² = 4, 4 farklı gerilim değeri gösterebilir. V ref gerilimini 4 V seçtiğimizde gerilim bölücü dirençleri üzerindeki gerilimler; X = 1 V Y = 2 V Z = 3 V olur. Tablo 1.6: ADC giriş çıkış durumları 27

Karşılaştırıcıların tersleyen girişlerine, gerilim bölücü dirençlerle V ref gerilimine göre değiştirilebilen gerilimler uygulanmıştır. Terslemeyen girişleri ise birleştirilerek analog giriş olarak kullanılmıştır. Şekil 1.18 analog giriş geriliminin bir an için 2,5 V olduğunu kabul edersek B ve C karşılaştırıcılarının eşik gerilimleri aşılacağından dolayı B ve C Op-amp çıkışları +5 Volt, A Op-amp çıkışı ise eşik değeri aşılamadığı için 0 V olur. Bu çıkış değerleri kodlayıcı devre tarafından değerlendirilir ve girişe uygun bir sayısal değer olarak çıkar. Burada kodlayıcı desimal sayıyı ikilik sayıya dönüştürür. Olabilecek bütün durumlar Tablo 1.6 da gösterilmiştir. 1.3.1.7. ADC Genel Bilgiler Bazı ADC lerin çıkışları direk LCD ya da display sürecek şekilde yapılandırılmışlardır. gibi). Kullanımda bu amaçla üretilmiş entegrelerden faydalanılmaktadır. (xx7107,xx7106 Bilgiyi sayısal ortama çevirmeden önce; bilginin gönderileceği hedef platformun yapısı ve bilginin hedefe nasıl gönderileceği önceden belirlenmelidir. Ses, video veya bilgi sayısal forma dönüştürülmeden önce; bu bilgilerin hangi programlarda ve PC'lerde kullanılacağı ve bu iletimin nasıl yapılacağı (56K, ISDN, T1 vb.) öncelikle tespit edilmesi gerekir. Örneğin MPEG-1 ile kaydedilen bir video bilgisi mevcut bir PII-300 PC'de seyredilebilirken çevirmeli bağlantıda bu işlem zor olacaktır. Geliştirilecek uygulamanın nasıl olacağına (noktadan noktaya iki yönlü, noktadan çok noktaya iki yönlü, noktadan noktaya tek yönlü, noktadan çok noktaya tek yönlü) karar verilmelidir. Bu tip uygulamalarla hedefte ses ve video konferansı, paylaşımlı beyaz tahta, interaktif video, video konferans, video server, multimedya tabalı e-mail, LAN TV gibi seçenekler düşünülmelidir. Bilginin gönderileceği hedef platformun nasıl bir yapıda olması gerektiği (Intel, Mac), hedefte kullanılacak işletim sistemin özelliği (Unix, Windows) ve bilginin görüntülenmesi için kullanılacak program (IE5, Netscape, vb.) öncelikle tespit edilmelidir. 1.3.1.8. Mikrodenetleyicilerle ADC Bir çok mikrodenetleyicide ADC vardır. Birden fazla ADC kanala sahip olabilirler. 10 ya da 12 bit çözünürlükte çevrim yaparlar. ADC ye sahip mikrodenetleyicilerde bu iş için ayrılmış registerler vardır. Her biri için ayrıntılı bilgi, özellik sayfalarında bulunur. Tablo 1.7 de ADC ye sahip MCU lar gösterilmiştir. 28

Tablo 1.7: Microchip mikrodenetleyici donanımı ADC için kullanılan registerler ADCON0, ADCON1 ve ADRES (register) kayıtçılarıdır. Bu registerlerin adı ve sayısı farklı olabilir. Bu nedenle kullanılacak ADC ye sahip mikrodenetleyicinin bilgi sayfası incelenmelidir. ADCHS,adcon3 vb. Tablo 1.8 de ve Tablo 1.9 da bu kaydedicilerin kontrolü ile ilgili bitlerin kullanımı gösterilmektedir. Tablo 1.8: Adcon0 register içeriği 29

Tablo1.9: Adcon1 register içeriği 1.3.1.9. Mikrodenetleyici ADC Ayarları Aşağıdaki adımlar, A/D dönüşüm yapmak için takip edilmelidir. 1-2- PCGF0 ve PCGF1 bitleriyle pinin analog, dijital yada Vref olarak kullanılacağı belirlenir (ADCON1). CHS0 ve CHS2 bitleriyle giriş olarak kullanılacak pin (AN) belirlenir (ADCON0). ADCS0 ve ADCS1 le ADC saat frekansı seçilir (ADCON0). ADON ( bit0) 1 yapılır. ADC açılmış olur (ADCON0). GO/DONE (bit2) 1 yapıldığında A/D dönüşümü başlar. Bu bitin 0 olduğunu, çevrimin bittiğini ve sonucun hazırlandığını bildirir. ADC açıldıktan sonra bu bitin durumu program aracılığıyla devamlı kontrol edilir. Sonuç alt bitleri ADRESL, üst bitleri ADRESH registeri içerisine yüklenmiştir. Sonuç 10 bitlik olduğu için alt 8 biti ADRESL registerine, üst 8 biti ADRESH registerine yüklenir. ADC okuma rutini Bsf adcon0, 2 Dongu Btfsc adcon0,2 Goto dongu ; GO/DONE biti 1 yapıldı, ölçüme hazır ; GO/DONE biti = 0 mı? ölçüm bitti mi? ; hayır ölçüm bitmedi. ;ölçüm bittiğinde sonuçlar ADRESL ve ADRESH içerisine yüklenmiştir. 30

1.3.2. AD Konvertör Uygulaması AÇIKLAMA Bu devre, Lm35 sıcaklık sensöründen gelen ortam sıcaklığıyla orantılı analog gerilimi mikrodenetleyici ile dijital hâle dönüştürür, sonucu tarama mantığıyla displaylerde gösterir. LM35 Sıcaklık Sensörü Bu sensör TO 92 plastik transistör kılıfında ve üç bacaklıdır. İki bacağı besleme, diğer üçüncü bacağı ise Vout bacağıdır. Vout bacağından ortam sıcaklığının gerilim eşdeğeri okunur. Vout bacağındaki gerilim sıcaklıkla doğrusal olarak değişmektedir. Her 1 derece için 10 mv luk bir değişim göstermektedir. LM35 in en büyük avantajı kalibre gerektirmemesidir. Düşük akımda çalışır (ortalama 2mA). Aşağıda LM35 in teknik özellikleri belirtilmiştir. Lineer 10 mv/ C çıkış 0.5 C doğruluk (+25 C) -55 / +150 C ölçüm aralığı Uzak uygulamalar için uygunluk 4 ile 30 volt arası çalışma gerilimi Dinlenmede çektiği akım 60 A den daha az Resim 1.22: LM35 kılıf şekli Resim 1.23: LM35 bacak bağlantısı 31

Kullanılan araç gereç ve malzeme 1) PC, pic programlama kartı 1 2) Avometre 1 3) Güç kaynağı 2 4) 16F877 1 5) 10K 1 6) 270 7 7) LM35 1 8) BC558 3 9) Ortak Katod display 3 10) 4 MHz Kristal 1 11) 22pF mercimek kondansatör 2 12) Deney Bordu 1 Program ;---------------------------------------------------------------------------- ; DİSPLAY GÖSTERGELİ TERMOMETRE ;16F877A kullanılırsa LIST satırı 16F877A olarak değiştirilmelidir ;---------------------------------------------------------------------------- LIST p=16f877 ;INC dosyası kullanılmamış, register tanımlamaları program içerisinde yapılmıştır ;---------------------------------------------------------------------------- w equ 0 f equ 1 carry equ 0 zero equ 2 rp0 equ 5 rp1 equ 6 ;---------------------------------------------------------------------------- ; Genel register tanımlamaları ;---------------------------------------------------------------------------- indf equ 00 tmr0 equ 01 optionreg equ 01 pcl equ 02 status equ 03 fsr equ 04 trisa equ 05h trisd equ 08h trisb equ 06h trise equ 09 trisc equ 07h 32

porta equ 05 portb equ 06 portc equ 07 portd equ 08 porte equ 09 pclath equ 0Ah intcon equ 0Bh tmr1l equ 0Eh tmr1h equ 0Fh pir1 equ 0Ch pie1 equ 0Ch t1con equ 10h rcsta equ 18h txsta equ 18h txreg equ 19h spbrg equ 19h rcreg equ 1Ah adresl equ 1Eh adresh equ 1Eh adcon0 equ 1Fh adcon1 equ 1Fh _WDT_OFF equ 3FFBh _XT_OSC equ 3FFDh ;---------------------------------------------------------------------------- ; Özel register tanımlamaları ;---------------------------------------------------------------------------- CBLOCK 20h simage wimage digit1 digit2 digit3 ledindex delaysmall delaylarge delaytime resultlbyte resulthbyte tmrodelay count temp H_byte L_byte Treultlbyte Tresulthbyte TH_byte 33

TL_byte R0 R1 R2 ENDC ;---------------------------------------------------------------------------- ; Bit tanımlamaları ;---------------------------------------------------------------------------- gie equ 7 go equ 2 T0IF equ 2 ADON equ 0 ;---------------------------------------------------------------------------- ; Programlayıcı ayarları ;---------------------------------------------------------------------------- CONFIG _XT_OSC & _WDT_OFF ; XT osilatör WDT kapalı ;---------------------------------------------------------------------------- ORG 0 goto start ; ;---------------------------------------------------------------------------- org 04 isr movwf wimage swapf status,w movwf simage movf H_byte,w movwf TH_byte movf L_byte,w movwf TL_byte ;---------------------------------------------------------------------------- ; Kesme ;---------------------------------------------------------------------------- decfsz tmrodelay,f goto isrexit nop call atodcon call atodforbcd movlw.16 movwf tmrodelay 34

;---------------------------------------------------------------------------- isrexit nop nop bcf intcon,t0if bsf intcon,gie movf TH_byte,w movwf H_byte movf TL_byte,w movwf L_byte bcf intcon,t0if swapf simage,w movwf status swapf wimage,f swapf wimage,w retfie ;---------------------------------------------------------------------------- display_table addwf pcl,f ; W + PCL -> PCL retlw b'00111111' ; '0' retlw b'00000110' ; '1' retlw b'01011011' ; '2' retlw b'01001111' ; '3' retlw b'01100110' ; '4' Display pattern tablosu retlw b'01101101' ; '5' retlw b'01111101' ; '6' retlw b'00000111' ; '7' retlw b'01111111' ; '8' retlw b'01100111' ; '9' retlw b'10000000' ; '.' ;---------------------------------------------------------------------------- ; Alt program displayleri seçme (tarama) ;---------------------------------------------------------------------------- display movlw movwf movwf movf call rlf movf movwf movf b'00000001' ledindex porte digit1,w digitout ledindex,f ledindex,w porte digit2,w 35

call digitout rlf ledindex,f movf ledindex,w movwf porte movf digit3,w call digitout return ;---------------------------------------------------------------------------- digitdelay movlw 5h movwf delaylarge loopl decf delaylarge,f btfsc status,zero return movlw 0FFh movwf delaysmall loops decfsz delaysmall,f goto loops goto loopl ;---------------------------------------------------------------------------- digitout nop call display_table movwf portd call digitdelay clrf portd clrf porte return ;---------------------------------------------------------------------------- iniports bsf status,rp0 movlw b'00000001' movwf trisa ; RA0 giriş olarak seçildi clrw movwf trisd ; Diğer portlar çıkış olarak ayarlandı movwf trise bcf status,rp0 clrf porta ; Portları temizle clrf portd clrf porte return ;---------------------------------------------------------------------------- iniatod bsf status,rp0 movlw b'10001110' movwf adcon1 ; AN0 ve AN1 ADC giriş 36

bcf status,rp0 movlw b'01000000' ; ADC saat biti Tosc/8 ve AN0 analog giriş olarak seçildi movwf adcon0 return ;---------------------------------------------------------------------------- ; TMRO ayarları initimer bsf status,rp0 movlw b'10000111' movwf optionreg movlw b'10100000' movwf intcon bcf status,rp0 movlw.1 movwf tmrodelay return ;---------------------------------------------------------------------------- atodcon bsf adcon0,adon ; ADC açıldı movlw 0Ah movwf delaytime aquiloop decfsz delaytime,f goto aquiloop bsf adcon0,go ; Çevrim başladı converloop btfsc adcon0,go ; Çevrimin bitmesi bekleniyor goto converloop bsf status,rp0 movf adresl,w bcf status,rp0 movwf resultlbyte ; movf adresh,w ; high byte of result movwf resulthbyte return ;---------------------------------------------------------------------------- B2_BCD bcf status,0 movlw.16 movwf count clrf R0 clrf R1 clrf R2 loop16 rlf L_byte, f rlf H_byte, f rlf R2, f rlf R1, f rlf R0, f decfsz count, f ; bcd dönüşümü 37

goto adjdec retlw 0 ; adjdec movlw R2 movwf fsr call adjbcd ; movlw R1 movwf fsr call adjbcd ; movlw R0 movwf fsr call adjbcd ; goto loop16 ; adjbcd movlw 3 addwf 0,W movwf temp btfsc temp,3 movwf indf movlw 30 addwf 0,W movwf temp btfsc temp,7 movwf indf retlw 0 ;---------------------------------------------------------------------------- ; Displaye datalar gönderiliyor bcdsplit movf R1,w andlw 0Fh movwf digit1 ; 1. rakam yazılır movf R2,w andlw 0F0h movwf digit2 swapf digit2,f ; 2. rakam yazılır movf R2,w andlw 0Fh movwf digit3 ; 3. rakam yazılır return ;---------------------------------------------------------------------------- atodforbcd rrf resultlbyte,f bcf status,carry rrf resulthbyte,f btfsc status,carry 38

bsf resultlbyte,7 xxx movf resultlbyte,w movwf L_byte movf resulthbyte,w movwf H_byte return ;---------------------------------------------------------------------------- ; Ana program başlangıcı ;---------------------------------------------------------------------------- start clrf simage clrf wimage clrf digit1 clrf digit2 clrf digit3 clrf ledindex clrf delaysmall clrf delaylarge clrf porta clrf portd clrf porte bsf status,rp0 clrf trisd clrf trisb clrf trisc clrf trise clrf trisa bcf status,rp0 bcf status,rp1 call iniports call iniatod call initimer ;------------------------------------------- main call atodcon call atodforbcd call xxx call B2_BCD call bcdsplit call display goto main END 39

Devre Şeması Şekil 1.19: Termometre devre şeması 40

UYGULAMA FAALİYETİ İşlem Basamakları Şekil 1.16 daki devreyi kurunuz. Devreyi öğretmeninize kontrol ettiriniz. Yukarıdaki programı MPLAB IDE editöründe yazarak sinus.asm olarak kaydediniz. Dosyayı 16F84A için derleyiniz. Derlenen sinus.hex isimli dosyayı yazdırma programı (IC-Prog vb.) ve uygun bir programlayıcı ile 16F84A ya yazdırınız. Devre çıkışına osilaskop bağlayınız. Devreye enerji verip çalıştırınız Osilaskopta ürettiğiniz dalga şeklini görünüz. Çıkış dalga şeklini ölçekli olarak Tablo 1.3 e çiziniz. Çıkış sinyalinin frekansını ve tepeden tepeye genliği hesaplayıp yazınız. Genliği değiştirecek şekilde programı düzenleyip uygulayınız. Öneriler Besleme gerilimlerine dikkat ediniz. Devrede simetrik 12 v ve asimetrik 5 V luk besleme gerilimleri kullanılmıştır. Şaseleri ortaktır. Programlayıcı yazılımda sigorta seçimleri yapmaya gerek yoktur.bu seçimler program içerisinde tanımlanmıştır. Şekil 1.17: Test bağlantısı 41

Resim1.12: Deney çıktısı Tablo 1.3 Volt ( ) V/div Zaman ( ) s/div Frekans ( ) Hz s/div x yatay kare sayısı V tepedentepeye ( ) Volt V/div x düşey kare sayısı 42

UYGULAMA FAALİYETİ İşlem Basamakları Uygulama 2 de verilen programı MPLAB IDE editöründe yazarak testere.asm olarak kaydediniz. Dosyayı 16F84A için derleyiniz. Derlenen testere.hex isimli dosyayı yazdırma programı (IC-Prog vb.) ve uygun bir programlayıcı ile 16F84A ya yazdırınız. Devre çıkışına osilaskop bağlayınız. Devreye enerji verip çalıştırınız Osilaskopta ürettiğiniz dalga şeklini görünüz. Çıkış dalga şeklini ölçekli olarak Tablo 1.4 e çiziniz. Çıkış sinyalinin frekansını ve tepeden tepeye genliği hesaplayıp yazınız. Frekansı ve genliği değiştirecek şekilde programı düzenleyip uygulayınız. Öneriler Besleme gerilimlerine dikkat ediniz. Devrede simetrik 12 v ve asimetrik 5 V luk besleme gerilimleri kullanılmıştır. Programlayıcı yazılımda sigorta seçimleri yapmaya gerek yoktur. Bu seçimler program içerisinde tanımlanmıştır. Resim 1.13: Deney çıktısı 43

Tablo 1.4 Volt ( ) V/div Zaman ( ) s/div Frekans ( ) Hz s/div x yatay kare sayısı V tepedentepeye ( ) Volt V/div x düşey kare sayısı 44

UYGULAMA FAALİYETİ İşlem Basamakları Uygulama 3 te verilen programı MPLAB IDE editöründe yazarak kare.asm olarak kaydediniz. Dosyayı 16F84A için derleyiniz. Derlenen kare.hex isimli dosyayı yazdırma programı (IC-Prog vb.) ve uygun bir programlayıcı ile 16F84A ya yazdırınız. Devre çıkışına osilaskop bağlayınız. Devreye enerji verip çalıştırınız Osilaskopta ürettiğiniz dalga şeklini görünüz. Çıkış dalga şeklini ölçekli olarak Tablo 1.5 e çiziniz. Çıkış sinyalinin frekansını ve tepeden tepeye genliği hesaplayıp yazınız. Frekansı ve genliği değiştirecek şekilde programı düzenleyip uygulayınız. Öneriler Besleme gerilimlerine dikkat ediniz. Devrede simetrik 12 v ve asimetrik 5 V luk besleme gerilimleri kullanılmıştır. Programlayıcı yazılımda sigorta seçimleri yapmaya gerek yoktur.bu seçimler program içerisinde tanımlanmıştır. Resim 1.14: Deney çıktısı 45

Tablo 1.5 Volt ( ) V/div Zaman ( ) s/div Frekans ( ) Hz s/div x yatay kare sayısı V tepedentepeye ( ) Volt V/div x düşey kare sayısı 46

UYGULAMA FAALİYETİ İşlem Basamakları Şekil 1.19 daki devreyi kurunuz. Devreyi öğretmeninize kontrol ettiriniz. Yukarıdaki programı MPLAB IDE editöründe yazarak termometre.asm olarak kaydediniz. Dosyayı 16F877 için derleyiniz. Derlenen termometre.hex isimli dosyayı yazdırma programı (IC-Prog vb.) ve uygun bir programlayıcı ile PIC e yazdırınız. Devreye enerji (+5 V) veriniz. Ortam sıcaklığını displaylerde görünüz. LM35 in çıkış gerilimini ve displayler de gözüken değerleri yazınız. LM35 i ısıtıp (havya ile) yukarıdaki işlemi tekrarlayınız. Okunan sayı ile ölçülen değer arasındaki ilişkiyi açıklayınız. Yazılımda değişiklik yapmadan 0-99 C arası sıcaklığı XX C formatında görülecek şekilde devreyi düzenleyiniz. Öneriler Besleme gerilimlerine dikkat ediniz. Programlayıcı yazılımda sigorta seçimleri yapmaya gerek yoktur. Bu seçimler program içerisinde tanımlanmıştır. LM35 i ısıtırken kılıfa dokundurmayınız ve çok ısıtmayınız. LM35, LM35A 55 C to +150 C LM35C, LM35CA 40 C to +110 C LM35D 0 C to +100 C Resim 1.24: Devrenin bord kurulumu 47

Resim 1.25: LM35 çıkış gerilimi 34C için 48

ÖLÇME VE DEĞELENDİRME ÖLÇME VE DEĞELENDİRME OBJEKTİF TESTLER (ÖLÇME SORULARI) Aşağıdaki soruları dikkatlice okuyarak doğru/yanlış seçeneklerinden uygun olanı işaretleyiniz. Seçenekli sorularda ise uygun şıkkı işaretleyiniz. Boşluk doldurmalı sorularda boşluklara uygun cevapları yazınız. 1. Sürekliliği olan bilgiye analog bilgi denir. DOĞRU ( ) YANLIŞ ( ) 2. Basamaksal bilgiye sayısal bilgi denir. DOĞRU ( ) YANLIŞ ( ) 3. Otomobil 45 Km/h hızla gidiyor analog bilgidir. DOĞRU ( ) YANLIŞ ( ) Aşağıda verilen sorular için doğru cevap seçeneğini işaretleyiniz. 4. Aşağıdakilerden hangisi yalnızca iki durumu olan bilgiye verilen addır. A) Analog bilgi B) Sayısal bilgi C) İkili sayısal bilgi D) Logaritmik bilgi Aşağıda verilen tanımlamalarda boş bulunan kısımlara uygun ifade veya ifadeleri yazınız. 5. Dijital bilgiyi analog sinyale çeviren devrelere..denir. 6. Analog sinyali dijital bigiye çeviren devrelere denir. 7. Op-ampların beslemesi..,,.. olabilir. 8. Gerilim izleyici devrenin kazancı 200000 dir. DOĞRU ( ) YANLIŞ ( ) 49

9. Arızalı bir Op-amp entegresi tamir edilebilir. DOĞRU ( ) YANLIŞ ( ) 10. 3 bitlik DAC çıkışında 8 farklı gerilim seviyesi oluşabilir. DOĞRU ( ) YANLIŞ ( ) 11. PWM, DAC kullanmadan da mikrodenetleyici ile elde edilebilir. DOĞRU ( ) YANLIŞ ( ) 12. Analog dijital dönüşümde örnekleme adedi artırılarak orijinaline en uygun sayısal dönüşüm sağlanabilir. DOĞRU ( ) YANLIŞ ( ) 13. ADC lerde çıkış sayısı artıkça hassasiyet azalır. DOĞRU ( ) YANLIŞ ( ) 14. Bütün mikrodenetleyiciler ADC ye sahiptir. DOĞRU ( ) YANLIŞ ( ) DEĞERLENDİRME Cevaplarınızı cevap anahtarı ile karşılaştırınız. Doğru cevap sayınızı belirleyerek kendinizi değerlendiriniz. Yanlış cevap verdiğiniz ya da cevap verirken tereddüt yaşadığınız sorularla ilgili konulara geri dönerek tekrar inceleyiniz. Tüm sorulara doğru cevap verdiyseniz diğer öğrenme faaliyetine geçiniz. 50

ÖĞRENME FAALİYETİ 2 AMAÇ ÖĞRENME FAALİYETİ 2 Mikrodenetleyici ile bir projeyi eksiksiz olarak yapabilmek. ARAŞTIRMA Sevgili öğrenci, bu faaliyet öncesinde yapmanız gereken öncelikli araştırmalar şunlardır: Çevrenizdeki elektronik cihazları izleyiniz. Bu cihazlardan hangilerinde mikro denetleyici kullanılabilir tartışınız. Mikrodenetleyici ile yapılmış devreleri ve programları araştırıp inceleyiniz. Assembler programlama dilinden başka mikrodenetleyici programı yazmak için kullanılan dilleri araştırıp bu dillerin avantaj ve dezavantajlarını tartışınız. Araştırma işlemleri için bilgisayar laboratuvarında veya ev ortamında bulunan hazır bir bilgisayarı ve İnternet ortamını kullanınız. Kazanmış olduğunuz bilgi ve deneyimleri arkadaş grubunuz ile paylaşınız. 2. MİKRODENETLEYİCİ UYGULAMALARI 2.1. Led Gösteri Açıklama Bu devre basılan butona bağlı olarak ledlerin beş farklı şekilde yanmasını sağlar. Basılan butona bağlı olarak programda yazmış olduğumuz (yanma sırası) paternleri port b ye yükler. Araç gereç ve malzeme listesi Güç kaynağı Deney bordu 16F84A 1 4MHz kristal 1 27pF kondansatör 2 Led 8 Buton 5 10 KΩ 6 470Ω 8 51

Devre Şeması Şekil 2.1: Devre şeması Program ;******************************************************** ; ; led animasyon ; her buton ledlerin farklı sırayla yanmasını sağlar ; ;******************************************************** list p=16f84a include p16f84a.inc ; CONFIG _WDT_OFF &_XT_OSC &_PWRTE_ON &_CP_OFF ;Programlayıcı ayarları ;kristal osilatör, wdt kapalı, power reset açık, kod koruma kapalı ;**************** Değişken Tanımlamaları ******************** ra0 equ 00 ;RA0 bit ra1 equ 01 ;RA1 bit ra2 equ 02 ;RA2 bit ra3 equ 03 ;RA3 bit ra4 equ 04 ;RA4 bit cnt500u equ 0c ;500 mikrosaniyelik sayıcının adresi cnt1m equ 0d ;1 milisaniyelik sayıcının adresi 52

cnt100m equ 0e ;100 milisaniyelik sayıcının adresi cnt500m equ 0f ;500 milisaniyelik sayıcının adresi cnt1s equ 10 ;1 saniyelik sayıcının adresi ;************* paternlerin üretilmesi **************** ; '1':Led sönük '0':Led yanık ;****** Pattern 0 ****** p00 equ b'11111110' p01 equ b'11111101' p02 equ b'11111011' p03 equ b'11110111' p04 equ b'11101111' p05 equ b'11011111' p06 equ b'10111111' p07 equ b'01111111' ;****** Pattern 1 ****** p10 equ b'01111111' p11 equ b'10111111' p12 equ b'11011111' p13 equ b'11101111' p14 equ b'11110111' p15 equ b'11111011' p16 equ b'11111101' p17 equ b'11111110' ;****** Pattern 2 ****** p20 equ b'01111110' p21 equ b'10111101' p22 equ b'11011011' p23 equ b'11100111' p24 equ b'11011011' p25 equ b'10111101' p26 equ b'01111110' ;****** Pattern 3 ****** p30 equ b'11111110' p31 equ b'11111101' p32 equ b'11111010' p33 equ b'11110101' p34 equ b'11101010' p35 equ b'11010101' p36 equ b'10101010' p37 equ b'01010101' p38 equ b'10101011' p39 equ b'01010111' 53

p3a equ b'10101111' p3b equ b'01011111' p3c equ b'10111111' p3d equ b'01111111' ;****** Pattern 4 ****** p40 equ b'00000000' p41 equ b'11111111' p42 equ b'00000000' p43 equ b'11111111' p44 equ b'00000000' p45 equ b'11111111' p46 equ b'00000000' p47 equ b'11111111' p48 equ b'00000000' ;**************** Program Başlangıcı *********************** org 0 ;Reset vektörü goto init org 4 ;Kesme Vectörü goto init ;*** Bu kısımda giriş ve çıkışlar ayarlanır *** ; A portu giriş B portu Çıkış olarak ayarlandı ; Ledler sönük org 5 init bsf STATUS,RP0 ;Bank 1 e geç movlw h'ff' ;registere H'FF' yükle movwf TRISA ;PORTA yı giriş yap clrf TRISB ;PORTB yi çıkış olarak ayarla bcf STATUS,RP0 ;Bank 0'a geç movlw h'ff' ;registere H'FF' yükle movwf PORTB ;PORTB'yi h'ff', d'1111 1111' yap ;**************** Basılı butonun tesbiti ******************** keyscan btfss PORTA,ra0 ;RA0 Butona basılımı? call ptn0 ;Evet patern0 alt programına git btfss PORTA,ra1. call ptn1. btfss PORTA,ra2. call ptn2. btfss PORTA,ra3. call ptn3. btfss PORTA,ra4 ;RA4 Butona basılımı? call ptn4 ;Evet patern4 alt programına git goto keyscan ;keyscan'a git ;*********** 0. pattern çıkış programı *************** ;*call t100m satırı 100milisaniyelik gecikme sağlayan altprograma dallandırır* ; 54