PIC16F87X te ADC MODÜLÜNÜN KULLANIMI



Benzer belgeler
ADC: Anolog-Digital Çevirici

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 MCU ile UYGULAMALAR-II

PIC 16F877 nin kullanılması

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.

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

PIC TABANLI, 4 BASAMAKLI VE SER

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

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

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İ

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

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

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

Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü Bitirme Projesi

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İ

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

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

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

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

Hacettepe Robot Topluluğu

8 Ledli Havada Kayan Yazı

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

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 FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ EET-302 MİKROİŞLEMCİLER LABORATUVARI DENEY FÖYÜ

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

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

DOKUMANLAR

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

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

Deney 4. Gerçek Zamanlı Kesme Uygulamaları

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

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

EEM 419-Mikroişlemciler Güz 2017

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

3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

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

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ

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İ

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

Hacettepe Robot Topluluğu

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

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

HUNRobotX - Makaleler - Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı. Makaleler Gecikme Kodları Hazırlama ve Gecikme Rutini Hazırlayıcı

LCD (Liquid Crystal Display)

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:

Prof. Dr. Doğan İbrahim Yakın Doğu Üniversitesi, Mühendislik Fakültesi, Biyomedikal Mühendisliği, Bölümü Tel:

LABVIEW ĠLE ENDÜSTRĠYEL SICAKLIK ÖLÇME VE KONTROL SĠSTEMĠ

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

MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil Güz (Vize sonuna kadar olan kısımdır.)

SAYISAL MUTFAK TERAZĐSĐ TASARIMI. BĐTĐRME ÖDEVĐ Ali Hilmi UYSAL

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

LCD (Liquid Crystal Display )

KONFİGÜRASYON BİTLERİ

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

Çizgi İzleyen Robot Yapımı

Mikro denetleyicili Uygulama devresi bileşenleri

BÖLÜM 4 KAREKTER LCD ve ADC İŞLEMLERİ

PIC16F877A nın Genel Özellikleri

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

MİKRODENETLEYİCİLER ÖRNEK PROGRAMLAR

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

PIC Mikrodenetleyicileri

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

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI

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

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

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

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği Bölümü Bitirme Projesi

Mikroişlemciler Dersi. PIC Mikro denetleyiciler ve Programlama

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

DSPIC30F2010 ASSEMBLER PROGRAMI İÇERİSİNDE KONFİGÜRASYON BİTLERİNİ TANIMLAMA

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

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

Komutların İşlem Süresi

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

Bölüm 9 A/D Çeviriciler

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

T.C. NİĞDE ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ

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:

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

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

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

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

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

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

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

Configuration bitleri ve reset durumları hakkında kavramlar

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

Hacettepe Robot Topluluğu

Mikroişlemciler. Microchip PIC

PIC16F877 Mikrodenetleyicisi İle Uzay Vektör PWM İşaretlerinin Üretilmesi

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

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

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

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

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

Windows 7 Format Atma ve Kurulumu (Resimli Anlatım)

6. DENEY Alternatif Akım Kaynağı ve Osiloskop Cihazlarının Kullanımı

Transkript:

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI Emre YAVUZ Temmuz 2009

PIC16F87X te ADC MODÜLÜ Ü KULLA IMI Bu makalemizde PIC16F87X serisi mikrodenetleyicilerde ADC modülünün temel düzeyde kullanımını anlatacağım. Mikrodenetleyicilerin sadece belli değerlerlerde çıkış verebildiğini, giriş olarak ise belli bir değerin üzerini 1 altını ise 0 olarak yorumladığını biliyoruz ama bazı durumlarda analog değerlere ihtiyaç duyarız, bu değere çıkış olarak ihtiyaç duyduğumuzda bunu PWM ile hallederiz. Giriş olarak ihtiyaç duyduğumuzda ise ADC modülü olan mikrodenetlecilerin bu özelliklerinden faydalanabiliriz. ADC kısaltması Analog-Digital Converter dan gelir, Türkçe ye analog-dijital çevirici olarak tercüme edebiliriz. PIC16F876 da 5 kanal PIC16F877 de 8 kanallı ADC modülü bulunmaktadır, bu modüllerden 10 bitlik giriş alınabilir. Bu kanallar PIC16F876 da Porta da PIC16F877 de ise Porta da ve Porte de bulunur. ADC modülünün işlemlerinde 4 önemli yazmaç vardır. Bunlar ADCON0, ADCON1, ADRESH, ADRESL dir. ADCON lar A/D çevriminin kontrolünü yönetirler. ADRES ler ise sonuçların yazıldığı yazmaçlardır. Burada bir noktayı belirtmemiz yararlı olacaktır, ADCON0 ve ADRESH yazmaçları Bank0 da bulunurken, ADCON1 ve ADRESL yazmaçları Bank1 de bulunur. Banklar doğru ayarlanmazsa program çalışmayacağı için programı yazarken buna dikkat edilmesi gerekir. ---ADCO 0--- ADCO 0,7:6 (ADCS1: ADCS0 (Bit özel isimleri)) Bu yazmaçın 7 ve 6. bitleri TAD değerini ayarlamaya yarar. TAD A/D çevrim periyodudur. Bir çevrim için minimum 12TAD süresi gerekir. TAD süresi için dört seçenek vardır. 00 = Fosc/2 01 = Fosc/8 10 = Fosc/32 11 = Frc (Dahili RC osilatöründen elde edilen zaman) TAD süresi minimum 1.6 mikro saniye olmalıdır. Bunun için 1 Mhz lik bir PIC te Tosc 2, 4 Mhz likte 2 veya 8, 20 MHZ likte ise hepsi seçilebilir. ADCO 0,5:3 (CHS2:CHS0) ADCON0 ın 5-3 arasındaki bitleri hangi kanalın devrede olacağını belirlemeye yarar. Porte deki kanallar sadece PIC16F877 de vardır. 000 = Kanal 0 (RA0) 001 = Kanal 1 (RA1) 010 = Kanal 2 (RA2) 011 = Kanal 3 (RA3) 100 = Kanal 4 (RA5) 101 = Kanal 5 (RE0) 110 = Kanal 6 (RE1) 111 = Kanal 7 (RE2)

ADCO 0,2 (GO/DONE) ADCON0 yazmacının 2. biti durum bitidir. Bu bitin değerini 1 yaparsanız. Çevirme işlemi başlar ve bu bit durum biti şeklini alır, hem işlemi başlatmaya hem de durumunu öğrenmeye yarar, işlem devam ettiği sürece değeri 1 olarak kalır işlem bittiğinde 0 değerini alır. ADCO 0,1 Bu bit boş. 0 olarak değerlendirebilirsiniz ADCO 0,0 Bu bit, A/D çevrimini açıp kapatmaya yarar. 1 ise işlem yapılabilir, 0 ise kapalı hale geçer çevirme işlemi yapılamaz. ---ADCO 1--- ADCO 1,7 (ADFM) Bu bit 10 bitlik sonucun hangi şekilde yazılacağını ayarlamaya yarar. Bahsettiğimiz üzere sonuç için iki adet yazmaç bulunur(adresh ve ADRESL). Bu biti 0 olarak ayarlarsak sonucun büyük haneleri ADRESH ta yer alır son iki hanesi ADRESL nin 7. ve 6. bitine yazılır. 1 olarak ayarlarsak sonucun en büyük iki hanesi ADRESH ın 1. ve 0. bitine yazılır. Diğer küçük haneleri ise ADRESL ye yazılır. ADCO 1,6:4 BU bitlerin bir etkisi yoktur. 0 olarak değerlendirebilirsiniz. ADCO 1,3:0 (PCGF3:PCGF0) Bu bitler hangi kanalları A/D çevrimi için açacağınızı ve referans voltajlarının ne olacağını belirlemeye yarar. Seçeneklere aşağıdaki tablodan bakabilirsiniz.

A harfi Analog giriş anlamına gelir. PIC16F876 kullanıyorsanız. RE2, RE1 ve RE0 da A harfi bulunan kanalları tercih edemezsiniz. Vref, referans voltajı anlamındadır, Vref adı geçmeyen kanallarda referans voltajı Vdd ve Vss olur, sadece Vref+ olan kanallarda artı değerini Vref sütununda belirtilen porttan, Vref+ ve Vref- beraber bulunuyorsa ikisini birden harici olarak belirtilen portlardan vermeniz gerekiyor. Bu referans voltajları A/D çevrimi için oldukça önemlidir Vref+ A/D çevrim sonucunun alabileceği en yüksek değere karşılık gelir. Yani siz referans olarak Vdd yi seçmişseniz, 10 bitlik sonuç 1111111111 şeklindeyse bu sonucunuzun 5 volt olduğu anlamına gelir, harici referans vermeyi seçtiniz ve Vref+ değeri olarak 3 volt verdiniz diyelim o zaman bu en üst değer 3 volt a tekabül eder. Diyelimki Vref- olarak da 1 volt verdiniz o zaman analog çevrimin sonucu sıfır olduğunda bu 1 volta karşılık gelir. Sonuçta bir A/D çevrimi için yapmanız gerekenleri şu şekilde sıralayabiliriz. 1. Hangi kanalları A/D çevrimine açacağınızı ve çevrim sonucunu nasıl yazdırmak istediğinizi göz önünde bulundurarak ADCON1 yazmacının değerini ayarlayın. 2. Çevrimi açmak ve bu çevrimi hangi kanaldan(a/d çevrimini birkaç kanaldan aynı anda yapamazsınız) yapacağınızı ve çevrim periyodunu ayarlamak için ADCON0 yazmacına gerekli değerleri ayarlayın. 3. ADCON0 ın Go/Done bitini 1 yaparak çevirme işlemini başlatın. 4. Go/Done bitinin 0 değerini almasını bekleyin. Bu değerin 0 olması işlemin bittiğinin, sonucunda ADRESH ve ADRESL ye yazıldığını belirtir. 5. Sonuç yazılma ayarlarınızı göz önünde bulundurarak sonucu değerlendirebilirsiniz. Sonucu 10 bit üzerimden değerlendirmeniz gerekir. Elde edilen sonucun kaç volta karşılık geldiğini şu şekilde formülize edebiliriz. ((ADRESH:ADRESL) x (Vref+ - Vref-) ) / 1023 Örnek olarak sonuç değerimiz 0110101010 olsun, referans olarakta Vdd ve Vss yi seçtiğimizi varsayarsak (426x(5-0)) / 1023 den yaklaşık olarak 2.1 volt sonucunu elde ederiz. Makalemizi bir örnekle bitirelim. BA KSEL ADCO 1 ; Bank 1 e geçiyoruz. MOVLW B'00000010' ; ADFM 0 MOVWF ADCO 1 ; Porta daki tüm kanallar A/D ye açık. ; Referanslarımız Vdd ve Vss BA KSEL ADCO 0 ; Bank 0 a geçiyoruz. MOVLW B'01000001' ; Fosc/8 MOVWF ADCO 0 ; Porta daki tüm kanallar A/D ye açık. BSF ADCO 0,2 ; ADC yi çalıştır BTFSC ADCO 0,2 GOTO $-1 ; Đşlemin bitmesini bekle ;Đşlem bittikten sonra büyük kısmı ADRESH ta olan sonucu istediğiniz gibi kullanabilirsiniz.

Bir makalemizin daha sonunda geldik. Başka makalelerde görüşmek üzere. Bağlantılar http://robot.ee.hacettepe.edu.tr/ Kaynaklar PIC16F87X datasheet